网格计算(Grid computing)是利用网络中一些闲置的处理能力来解决复杂问题的计算模式,适于大型科学计算和项目研究。随着对处理能力越来越强劲的需求,网格计算开始自然而然地挤占主流计算的领地,最有力的证据就是工业巨头IBM和Sun的支持。
网格计算是利用互联网技术,把分散在不同地理位置的计算机组成一台虚拟超级计算机。每一台参与的计算机就是其中的一个“节点”,所有的计算机就组成了一张节点网——网格。这种应用有两大优势:计算能力强,费用低。在实质上来说“网格计算”是一种分布式应用,网格中的每一台计算机只是完成工作的一个小部分,这样的计算方式就好像是“蚂蚁搬山”,虽然单台计算机的运算能力有限,但成千上万台计算机组合起来的计算能力就可以和超级计算机相比了。
网格计算的优势
网格计算是伴随着互联网而迅速发展起来的,专门针对复杂科学计算的新型计算模式。这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个“虚拟的超级计算机”,每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上万个“节点”组成的“一张网格”。这样组织起来的“虚拟的超级计算机”有两个优势,一个是数据处理能力超强;另一个是能充分利用网上的闲置处理能力。
实际上,网格计算是分布式计算(Distributed Computing)的一种,参与工作的是计算机网络,显然这种方式较以往的以个人计算机为单位的计算方式相比将具有更加强大的数据处理能力。充分利用网上的闲置处理能力则是网格计算的又一个优势,网格计算模式首先把要计算的数据分割通常实现的软件是一个预先编制好的屏幕保护程序,然后不同节点的计算机可以根据自己的处理能力下载一个或多个数据片断和这个屏幕保护程序。只要位于某个节点的计算机的用户不使用计算机时,屏保程序就会工作,来调动闲置计算能力。
网格计算的技术关键
1.网格计算三种基本功能
网格计算至少需要具备三种基本功能:任务管理、任务调度和资源管理。
任务管理。用户提交任务、为任务指定所需资源、删除任务并监测任务运行状态。
任务调度。用户提交的任务由该功能按照任务类型、所需资源、可用资源等安排运行日程和策略。
资源管理。确定并监测网格资源状况,收集任务运行时的资源占用数据。
2.网格计算的技术难点
为实现网格计算的目标,必须重点解决三个问题,这三个问题也是目前因特网普遍存在的问题。
⑴异构性。由于网格由分布在广域网上不同管理域的各种计算资源组成,怎样实现异构机器间的合作和转换是首要问题。
⑵可扩展性。要在网格资源规模不断扩大、应用不断增长的情况下,不降低性能。
⑶动态自适应性。当某一资源出现故障或失败的可能性较高时,资源管理必须能动态监视和管理网格资源,从可利用的资源中选取最佳资源服务。
3.网格计算协议
就像TCP/IP协议是Internet的核心一样,构建网格计算也需要对标准协议和服务进行定义。迄今为止,网格计算还没有正式的标准,但在核心技术上,相关机构与企业已达成一致:由美国Argonne国家实验室与南加州大学信息科学学院(ISI)合作开发的Globus Toolkit已成为网格计算事实上的标准,包括Entropia、IBM、Microsoft、 Compaq、Cray、SGI、Sun、Veridian、Fujitsu、Hitachi、NEC在内的12家计算机和软件厂商已宣布将采用 Globus Toolkit。作为一种开放架构和开放标准基础设施,Globus Toolkit提供了构建网格应用所需的很多基本服务,如安全、资源发现、资源管理、数据访问等。目前所有重大的网格项目都是基于Globus Tookit提供的协议与服务建设的。
网格的应用领域
按照Ian Foster 和Globus 项目组的观点,网格应用领域目前主要有四类:分布式超级计算、分布式仪器系统、数据密集型计算和远程沉浸。
分布式超级计算(Distributed Supercomputing)是指将分布在不同地点的超级计算机用高速网络连接起来,并用网格中间件软件“粘合”起来,形成比单台超级计算机强大得多的计算平台。事实上,网格的最初设计目标主要就是要满足更大规模的计算需求,Globus 正是从这类应用起家的。典型的分布式超级计算应用有两个,第一个是军事仿真项目SF Express,它将大型军事仿真任务分解到分布式环境中运行,从而在规模上创下了该领域的世界纪录;第二个应用称作数字相对论,它利用网格求解爱因斯坦相对论方程并模拟出天体的运动规律,在2001 年超级计算会议(Supercomputing 2001)上获得了Gordon Bell 奖。
分布式仪器系统(Distributed Instrumentation System)是指用网格管理分布在各地的贵重仪器系统,提供远程访问仪器设备的手段,提高仪器的利用率,大大方便用户的使用。网格将分布式仪器系统变成了一个非常易于管理和有弹性的系统。
并行计算技术是由一些计算密集型应用推动着的,特别是一些带有重大挑战(Grand Challenge)性质的应用,它们大大促进了对高性能并行体系结构、编程环境、大规模可视化等领域的研究。相比之下,数据密集型计算(Data Intensive Computing)的应用好像要比计算密集型应用多得多。它对应的数据网格更侧重于数据的存贮、传输和处理,而计算网格则更侧重于计算能力的提高,所以它们的侧重点和实现技术是不同的。例如目前欧洲原子能研究机构CERN 所开展的数据网格DataGrid 项目。
远程沉浸 (Tele-immersion)这个术语是在1996 年10 月,由伊利诺州大学芝加哥分校的电子可视化实验室EVL (Electronic Visualization Laboratory)最早提出来的。远程沉浸是一种特殊的网络化虚拟现实环境。远程沉浸是一个典型的网格问题,它所共享的是一个集中的虚拟环境。这个环境可以是对现实或历史的逼真反映,可以是对高性能计算结果或数据库的可视化,也可以是个纯粹虚构的空间。过去几年里,EVL 与十几家合作伙伴一起,开发了一些具有远程沉浸特征的虚拟现实应用,例如虚拟历史博物馆,从网络上进入的参观者不仅可以在虚拟的城池中畅游,还可以与从其他地方进入的网络参观者在同一个虚拟空间中互相交流。
另外,EVL 和交互计算环境实验室CEL 合作推出了备受关注的NICE——叙事式沉浸的建设者及协同环境(Narrative Immersive Constructionist / Collaborative Environments)。
2002年网格首次运用到商业领域。除此以外,网格还可运用于生物医学,提供药品开发人员所需的计算能力,用以研究药物和蛋白质分子的形态与运动;运用于工程;用网格计算进行复杂的仿真与设计;用于数据搜集分析,地理信息科学、制造、石油加工、货物运输、甚至零售企业都要维护昂贵的设备,时常会出现问题,造成不好的结果,网格能够存储和处理所有交易;用于娱乐产业、特殊效果设计、超级视频会议等。