本书内容覆盖了网格应用、编程工具以及网格的基础架构,许多内容都反映了作者的研究领域和成果。
在本书中,作者开创性地论述了在科学与工程领域中大规模资源共享和虚拟的问题,以及机构间的资源共享和技术需求中的安全、可靠和高效之间的关系。全书共有30 章(其中十多章是本版新增的内容),内容涉及网格的基本概念、架构原理和网格在科学、工程和商务领域的应用实例。本书详细描述了核心架构、网格资源管理、网格数据管理、网格信息服务,以及网格安全等多个方面的网格技术和高级工具,并集中讨论了网格技术的发展历程、计算平台以及对等网络和网络的基础架构。
本书既可以作为高等院校理工科高年级本科生以及研究生的教材和教学参考书, 又可以作为网格计算及相关领域科研人员的参考书。
第一部分 概 论
第1章 网格背景
1.1 历史经验
1.2 飞速发展的网格
1.3 从网络到网格
1.4 谁将使用网格
1.5 小结
第2章 科学需求
2.1 科学探索新模式
2.2 虚拟社区科学
2.3 新基础设施的投资
2.4 小结
第3章 工业需求
3.1 技术演变:阶段1
3.2 技术演变:阶段2
3.3 信息技术
3.4 集成
3.5 效率
3.6 网格和服务质量
3.7 新模型:按需计算
第二部分 框 架 结 构
第4章 概念和体系结构
4.1 虚拟组织和网格
4.2 网格体系结构
4.3 网格体系结构的实现
4.4 网格社区
4.5 未来发展方向
4.6 小结
第三部分 应 用
第5章 可预测的维护:分布式飞行器引擎诊断
5.1 故障诊断网格服务
5.2 飞行器引擎的诊断和预报问题
5.3 运行和使用DAME网格服务
5.4 未来发展方向
第6章 分布式遥现:地震工程学与NEESgrid的协作
6.1 地震工程中的协作
6.2 NEESgrid系统概况
6.3 小结
第7章 科学数据联盟:全球天文望远镜
7.1 虚拟天文台
7.2 Web服务:使用分布的数据
7.3 层次结构
7.4 虚拟天文台和网格
7.5 用虚拟天文台实现超越
7.6 小结
第8章 医学数据联盟:生物医学信息学科研网
8.1 神经成像推动着BIRN的发展
8.2 BIRN实验平台
8.3 BIRN网格
8.4 信息协调
8.5 推动网格技术的发展
第9章 知识集成:生物信息学中的In Silico实验
9.1 动机:生物信息学中的In Silico实验
9.2 myGrid体系结构和技术
9.3 小结
第10章 分布式数据分析:用于高能物理的联合计算
10.1 实现
10.2 正式运行
10.3 小结
第11章 大规模分布式计算:基于桌面计算机网格的虚拟筛选
11.1 药物发现的计算需求
11.2 网格技术的作用和必要条件
11.3 桌面计算机网格的分子匹配计算
11.4 小结
第12章 企业资源管理:科研和工业中的应用
12.1 GlobeXplorer:数字图像摄取和分析
12.2 休斯顿大学校园网格
12.3 白玫瑰网格
12.4 小结
第13章 可扩展的互动性:多人游戏基础设施
13.1 Butterfly网格的设计
13.2 GLOBUS工具集和BUTTERFLY网格
第14章 服务虚拟化:基础设施和应用
14.1 应用及基础设施技术发展的趋势
14.2 虚拟化的三个层次
14.3 一个虚拟化实例
14.4 小结
第15章 群体协作:访问网格协作系统
15.1 当前进展
15.2 访问网格展望
15.3 虚拟场所服务
15.4 安全性
15.5 工作空间对接
15.6 节点管理
15.7 异步协作
15.8 小结
第16章 协作式科学:天体物理学需求与经验
16.1 数值相对论和天体物理学
16.2 CACTUS:一种网格应用框架
16.3 虚拟组织内的资源共享
16.4 与网格作业的交互
16.5 分布式计算
16.6 数据管理
16.7 小结
第四部分 体 系 结 构
第17章 开放网格服务体系结构
17.1 面向服务体系结构
17.2 面向服务的网格体系结构
17.3 一个例子
17.4 Web 服务
17.5 开放网格服务基础结构
17.6 OGSA服务和模式
17.7 例子回顾
17.8 其他问题
17.9 OGSA实现
17.10 未来发展方向
17.11 小结
第18章 资源和服务管理
18.1 网格中的资源管理
18.2 需求
18.3 通用资源管理结构
18.4 网格资源管理系统
18.5 服务协商和获取协议
18.6 未来发展方向
第19章 构建可靠的客户端和服务
19.1 可靠系统的基本原则
19.2 可靠的远程执行
19.3 工作管理
19.4 网格计算的层次
19.5 可靠输出
19.6 未来发展方向
19.7 小结
第20章 检测和监控
20.1 监控数据的使用者
20.2 检测
20.3 传感器及其管理
20.4 信息和监控事件数据发布
20.5 监控事件数据归档
20.6 数据分析
20.7 实例研究
20.8 小结
第21章 虚拟组织安全:联合信任和策略域
21.1 网格安全需求
21.2 新兴的安全技术
21.3 Web服务安全
21.4 GSI:OGSA安全参考标准的实现
21.5 小结
第五部分 数据与知识
第22章 数据访问、集成和管理
22.1 数据密集型应用
22.2 结构化数据的类型和来源
22.3 数据管理的挑战
22.4 体系结构方法
22.5 数据源服务
22.6 聚合数据管理服务
22.7 联盟服务
22.8 实例研究:地球系统网格
22.9 小结
第23章 运用知识和语义增强服务与应用
23.1 面向网格的知识和网格中的知识
23.2 知识环境
23.3 面向知识网格的体系结构
23.4 知识表达
23.5 处理知识
23.6 面向知识网格
23.7 面向知识网格实例研究
23.8 小结
第六部分 工 具
第24章 应用层工具
24.1 需求
24.2 网格编程模型
24.3 网格应用执行环境
24.4 网格远程过程调用案例研究
24.5 卫星检查系统案例研究
24.6 MPICH-G2案例研究
24.7 APST案例研究
24.8 小结
第25章 语言、编译器和运行系统
25.1 网格计算挑战
25.2 并行计算的经验
25.3 当前的网格编程工具
25.4 GrADS方法
25.5 构件技术
25.6 小结
第26章 应用调试和适应
26.1 资源和性能的变化
26.2 性能合同和可适应控制
26.3 自动性能测试工具
26.4 执行签名
26.5 模糊逻辑控制
26.6 自适应控制实例
26.7 小结
第七部分 基 础 设 施
第27章 生产部署:经验和建议
27.1 构建大规模网格
27.2 网格软件
27.3 网格上下文
27.4 生产网格的相关问题
27.5 构建多站点网格
27.6 小结
第28章 计算单元
28.1 基本单元
28.2 简单组合单元:本地网格
28.3 小结
第29章 对等计算技术
29.1 简要历史回顾
29.2 应用
29.3 特性与问题
29.4 未来发展方向
29.5 小结
第30章 网络基础设施
30.1 过去(1969~1988)
30.2 现在(1988~2005)
30.3 未来(2005~)
30.4 挑战
30.5 小结
词汇表
参考文献
特别致谢
索引
网格(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
Ian Foster博士出生于新西兰惠灵顿。他拥有新西兰坎特伯雷大学(位于基督城)计算机科学学士学位和伦敦皇家学院计算机科学博士学位。Foster现在是(美国)阿尔贡国家实验室(Argonne National Laboratory)数学和计算机科学部副主任和高级科学家,芝加哥大学(University of Chicago)计算机科学教授。Foster的研究兴趣是大规模分布式计算中的创新技术和应用。作为网格计算领域中的国际著名科学家和领军人物,他已经出版了5本书籍,在并行计算、分布式系统和高级应用方面发表了超过200篇论文和技术报告。Foster是美国科学发展协会(American Association for the Advancement of Science)委员和英国计算机学会(British Computer Society)会员。由于Foster在Strand并行编程语言上的创新性工作,英国计算机学会授予他1989年的年度奖项。
Carl Kesselman博士是南加利福尼亚大学(University of Southern California)信息科学研究所网格技