序 言
网格(Grid)是一种新兴的基础设施,它将从根本上改变我们思考和使用计算的方式。网格这个词来源于可随时随地提供电能的电力网格(Electric Power Grid),它像计算机和其他科技进步的产物一样,对人类的能力和社会有着巨大的影响。人们相信通过使信息技术基础设施中的所有成分,包括计算能力、数据库、传感器和人,灵活共享成为真正的协作工具,网格将会有着类似的改造效果,导致新类型应用的出现。
本书是“The Grid: Blueprint for a New Computing Infrastructure”一书的第二版。写这个序言让我们开始思考:自从第一版出版以后发生了多少变化?我们对这个领域已经了解了多少?有多少新信息承载着网格技术、应用和未来可能的发展。
1997年初,当开始规划第一版时,我们相信网格注定会很重要,但没有预计到自从本书第一版1998年中出版以来,网格技术在这5年内对科学界和工业界实践所造成的影响。重读第一版,我们欣喜地看到过去写的许多内容,现在依然适用。当然,我们已经了解了许多新的知识,书中许多内容都需要更新。
对于网格技术提供的可能性和实现这些可能性所需要的技术,我们的理解已经大大深化了。现在能够更加清楚地看到它给如下几个方面所带来的革命性影响:在科学和工业界进行大规模资源共享和虚拟化;组织和资源共享结构之间的密切关系;安全、可靠且有效的大规模资源共享新技术。
全世界的天才研究和开发团队建立了富有想像力的实验应用,人们从这些应用中获得了对网格技术的理解。我们在这里将介绍一些精彩的应用。这些例子充分体现了网格技术在应用领域所产生的令人激动的效果、已经获得的成就,以及有待跨越的障碍(绝不能掉以轻心)。
网格技术在实现和规范方面都已取得了进展。当本书的第一版在5年前问世时,开放源代码的Globus Toolkit才刚刚出现。现在它已经被广泛认可,并被接受为事实上的基础设施标准。它的成功依赖于国际合作以及用户基础:它是真正的“网格领域的Linux”。同时,全球网格论坛(Global Grid Forum)定义了开放网格服务体系结构(Open Grid Services Architecture,OGSA)的规范。OGSA是一种有希望在工业界和研究领域广泛采用的标准。目前它有多种形式的实现,其中包括Globus Toolkit。其他相关技术,如Condor,Portal工具以及多种商业软件已经成熟起来,形成了整个网格软件系统的重要部分。因此,我们不但能够描述网格可能是什么,而且能够介绍网格是什么,以及在未来发展中将出现的体系结构框架。
同样值得注意的是网格社区的发展。 在全球网格论坛每三年一届的会议上,往往会有接近一千人讨论和定义网格进一步发展所需要的技术标准。目前在天文学、物理学、生物学以及其他领域,一些大的国际性科学网格项目进展良好,还有成百上千个较小的项目正在开发网格技术,部署网格基础设施,并将网格应用到广泛的挑战性应用领域中。在亚洲、欧洲和北美,政府支持的一些项目正在建设之中,以便建立支持21世纪科学和工程发展的网格基础设施。同时,越来越多的大公司和一些刚起步的组织(有几个将会在本书中提到)正在技术上进行大量投资,并且开始销售网格解决方案给那些有挑战性信息技术需求的公司。
本书目的
本书(第二版)的目的是提供网格的最新状况,这些状况反映了网格的进展,并且介绍了一些实际经验和当前可用的技术以及实验室、公司和标准化组织正在开发的技术。如果不是由于Web所带来的奇迹和Morgan Kaufmann的编辑,要达到这个目的至少会使该书变厚两倍。幸运的是,考虑到读者的开支,我们已经能够把第一版中的大部分材料放到Web上,从而允许在第二版集中讨论新内容。
因此,编写该书新版便成为了一项挑战性的任务,涉及到对一些章节进行重大修订,以及加入大量的全新内容。实际上,第一版同第二版相比几乎没有相同的句子。不过,依然可以从Web访问到那些旧的内容,并且本书经常会参考那些内容。
类似于第一版,第二版计划同时作为未来网格系统的声明、设计蓝图、用户指南和研究计划来使用。
作为声明,本书努力解释网格为什么重要,为什么我们应当让网格成为现实。
作为设计蓝图,本书可以服务于那些要开发和部署网格的软件工程师、计算中心管理员、技术项目经理、首席信息官和其他专业人员。作为蓝图,本书将介绍网格本身是怎样的,怎样构建网格,以及怎样运行网格等。
作为用户指南,本书服务于要开发网格应用的科学家、工程师和程序员。对于这些用户,我们打算介绍怎样应用网格,怎样开发网格应用,以及网格应用需要什么样的设计和编程方法。
作为研究指南,本书适用于学生、研究人员和研究管理人员,他们想了解相关学科以及需要做进一步研究的相关领域(根据我们的理解)的当前状况。因此,我们希望能拓宽研究人员在分布式系统、安全、协同工作,以及其他相关领域的视野。他们对这些领域的关注,对于网格研究的长期成功是很重要的。
显然,我们不可能在一本书里对所有这四个目标做到不偏不倚。但是,我们相信本书已经成功地朝每一目标迈出了有用的一步,我们希望这样做能够增进对创建未来网格所需技术的理解,并增加这些技术为将来计算机应用所带来的机会。
构建网格涉及计算机科学多个分支的专业知识,包括分布式系统、网络、计算机和网络安全、电子商务、信息系统、数据库、操作系统、高性能计算和算法。因此,在编写这本书之前,我们聚集了一群著名的作者,每一位作者在一个或多个相关领域里都是权威人士。我们要求这些作者总结他们在相关领域所取得的具体成就以及当前状况,指明在未来5~10年内很可能取得的进一步发展以及预计取得的成就。我们也要求他们指明取得进步的主要障碍,在这些领域进行集中研究,预计能够产生一些重要成果。我们希望这本书同第一版一样,在未来的几年内将是非常有价值的:它不但总结了网格目前所处的位置,而且给出了使网格成为现实的导向图。
本书的结构和内容
正如表1所总结的,我们将第二版分成了七个部分,共三十章。第一部分由几位有影响的思想家分别从基础设施、科学和工业的角度,介绍自己对网格所带来影响的看法。这一部分的内容是第二部分的背景。第二部分只包含一章,该章设定讨论的背景,介绍了网格的主要概念以及体系结构,它是本书其他部分内容的基础。 第三部分内容是关于应用的,它建立在第一版讨论计算密集型应用、远程检测和协作应用(分别是第一版第3章至第6章)的基础上,本书介绍的12个应用每一个都是真正成功的应用例子。第四部分、第五部分和第六部分扩展了第二部分所介绍的体系结构方面的内容,详细介绍了核心体系结构和核心服务,数据和知识管理以及高层次工具。第七部分是关于网格部署、构建网格的计算平台、P2P技术和网络基础设施的。
.
表1 本书结构和内容
部分 主题 章目
概论 网格背景 1
科学需求 2
工业需求 3
框架结构 概念和体系结构 4
应用 可预测维护:分布式飞行器引擎诊断 5
分布式遥现:地震工程学与NEESgrid的协作 6
科学数据联盟:全球望远镜 7
医学数据联盟:生物医学信息学科研网 8
知识集成:生物信息学中的In Silico实验 9
分布式数据分析:用于高能物理的联合计算 10
大规模分布式计算:基于桌面计算机网格的虚拟筛选 11
企业资源管理:科研和工业上的应用 12
可扩展性交互:多人游戏基础设施 13
服务虚拟化:基础设施和应用 14
群体协作:访问网格协作系统 15
协作科学:天体物理学需求和经验 16
体系结构 开放网格服务体系结构 17
资源和服务管理 18
构建可靠的客户与服务 19
检测和监控 20
虚拟组织安全:联合信任和域政策 21
数据和知识 数据访问、集成和管理 22
运用知识和语义增强服务和应用 23
工具 应用层工具 24
语言,编译器和运行环境 25
应用调试和适应 26
基础设施 生产部署:经验和建议 27
计算单元 28
对等计算(Peer-to-Peer)技术 29
网络架构 30
作为教材使用
本书面向专业人员编写,也可作为高年级本科生以及研究生在高级网络、分布式计算方面的课程教材。在半学期的课程(quarter-length course)中,一次授课内容可涵盖一章,并可以根据本书中描述的网格编程系统之一来布置作业。在整学期的课程(semester-length course)中,对于一些主题可以进行详细讨论。每一章都包含对其他阅读材料的建议。
此外,我们维护了一个网站,这个网站提供到相关网络资源,包括在线文档,以及本书介绍的项目信息的链接。这个网站的URL是:www.mkp.com/grid2。关于本书或网站的问题和建议请直接通过E-mail:Gridbook@globus.org写给本书的主编。
致谢
非常荣幸能在此对编写本书做出贡献的人们致以谢意。首先,感谢各位撰稿人。尽管每个人都有着繁忙的日程安排,他们还是花费大量精力去规划本书,撰写章节,并且针对编辑和审稿人的无数评论和建议进行修改。除了那些出现在第一版中的著名作者(他们中的绝大多数对本书也做了贡献)外,本书也包括了新的撰稿人,他们来自许多国家(编写本书是一项真正的国际性任务)和工业界各个方面。
我们也要感谢许多同事和支持者,他们促进了在第二版中所提到的进步。遗憾的是,我们的致谢一定会很不周全。但是,我们必须赞扬那些有远见卓识、专注的政府项目管理人员,是他们为网格的早期研究和开发工作提供了支持。有了这些早期工作,网格计算才成为可能。这些人员包括:美国能源部科学办公室的Mary Anne Scott和Tom Kitchens;DARPA的Gary Koob;自然科学基金会的Alan Blatecky,Frederica Darema,Dick Hilderbrandt和Rich Hirsh;欧盟的Kyriakos Baxevanidis;英国eScience项目的Tony Hey和John Taylor。我们也要感谢那些网格技术的大力倡导者,他们采纳、应用并改进了网格技术,这些倡导者包括:David Abramson,Malcolm Atkinson,Paul Avery,Fran Berman,Charlie Catlett,Tom DeFanti,Bill Feireisen,Fabrizio Gagliardi,Lennart Johnsson,Bill Johnston,Ken Kennedy,Miron Livny,Satoshi Matsuoka,Mirco Mazzucato,Paul Messina,Jeff Nick,Dan Reed,Ed Seidel,Satoshi Sekiguchi,Larry Smarr,Rick Stevens和Irving Wladawsky-Berger(这里只列出了一部分)。最后同样感谢(美国)阿尔贡国家实验室(Argonne National Laboratory)、芝加哥大学(University of Chicago)和南加利福尼亚大学(University of Southern California)信息科学研究所的同事,没有他们的支持,这项研究将不会成为可能。
最后,我们对在编写本书手稿期间所受到的专家式的帮助表示衷心的感谢。 阿尔贡国家实验室的Gail Pieper一再提供宝贵的、远远超出职责的编辑帮助,使得我们能够提交高质量的稿件。阿尔贡国家实验室的Julie Wulf-Knoerzer以她一贯的高效方式处理了手稿产生过程中的许多问题。如同第一版一样,我们很幸运地与Morgan Kaufmann出版社一个著名团队密切合作。Denise Penrose,Emilia Thiuri,Alyson Day,Angela Dooley和这个团队的其他成员提供了我们想要从出版社获得的一切专业、有效的帮助以及愉快的合作。
Ian Foster和Carl Kesselman