元计算

更新时间:2024-06-24 15:11

元计算技术是当前高性能计算研究的前沿课题,它将一组通过广域网连接起来的性质不同的计算资源集合起来,作为一个单独的计算环境向用户提供计算服务。

研究背景

自从第一台电子计算机在1946年问世以来,计算机科学技术已经发生了巨大的变化。元器件的发展,无疑是过去几十年来推动计算机技术发展的重要动力,也是最活跃、最具影响的因素。尽管元器件制造技术在不断改进,集成电路的设计方法不断更新,但在未来十年内,元器件的速度不可能继续以以往的速度继续提高。据SIA预测,目前集成电路制造的主导技术——CMOS技术,在2010年左右可能达到极限。当然,使用非CMOS制造技术,如量子技术、神经网络技术等,可以将元器件的速度再提升到一个新的台阶。但是,如果没有理论与技术上的重大突破,要提高元器件的速度最终将受到光速和氢原子直径的限制。而另一方面,人类对计算机系统性能的需求永无止境,应用领域需要计算机解决的问题越来越复杂,规模越来越大。并行处理技术正是基于上述需要而提出的,它是提高计算机系统性能的关键技术。过去40年来,科学家提出了很多并行处理技术并设计了各种计算机系统,如SMP和MPP等,它们都极大地提高了计算机系统的整体速度。但由于SMP、MPP的处理器往往是同构的,而应用任务可能包含复杂的内在并行性(如SIMD、MIMD和向量等),不同的并行性可能适合不同的处理机来运行。在SMP和MPP系统中,大部分应用程序仅能获得其峰值性能的一小部分。传统的同构计算系统通常在一个给定的机器上使用一种并行编程模型,不能满足多于一种并行性的应用需求。任何单一类型的机器经常花费大部分的时间在不适合其执行的代码上。研究和开发支持多种内在并行应用的计算系统是摆在我们面前的重大挑战,其目的是提高计算效率,获取应用程序峰值性能的大部分。异构计算系统支持具有多内在并行性的应用,它可以提高应用程序实际执行性能与其峰值性能的比。一个异构系统通常包括若干异构的计算节点、互连的高速网络、通信接口以及编程环境等。异构处理w可分为粗粒度异构处理和细粒度异构处理。细粒度异构是按指令分配和调度的,通信开销太大;而粗粒度异构是按指令块进行调度的,通信开销可以容忍,是具有开发前景的一种异构处理。粗粒度的异构处理又称为元计算,支持元计算的系统称为元计算系统,简称元系统。

Internet作为流行的互联网络,具有分布范围广、传输速度相对较快等特点。在互联网络环境下研究元计算系统,具有重要的现实意义。元计算环境一方面使人们能聚集分散的计算能力,形成超级计算能力,解决诸如虚拟核爆炸、新药研制、气象预报和环境等重大科学研究和技术应用领域的问题;另一方面使人们共享广域网络中的异构资源,使各种资源得以充分利用。我国对高性能计算环境有强烈需求,这不仅表现在高端科学计算方面,同时表现在各行业对高端信息服务的需求方面。

系统构成

一个良好的元计算系统主要由三个部分组成:一是尽量简单而又可靠的使用界面;二是资源管理系统;三是良好的编程模型和高效可靠的运行时环境。其中资源管理系统处于核心地位,它负责整个系统中各个资源的描述、变动、分配与保护,与上层的运行时系统密切合作,保证整个系统的正常运行。资源管理系统需要为不同级别的系统管理员提供强有力的工具或界面来对这些资源进行控制和保护。

研究现状

近年来,国外在异构计算环境方面开展了实质性的研究工作,美国的研究工作大大领先于其它国家。十年前开始预研,1992年正式提出概念设计,现在异构计算已经成长为高性能计算的一个新的研究热点。美国各政府部门启动了几个与元计算有关的重大研究发展计划。其中包括:(1)美国NSF的PAC1计划(Grid计划)由美国自然科学基金会支持,是80年代的超级计算中心项目的继续,其目标是试验未来10-15年美国社会的信息基础设施。PACI计划支持了两个计算联盟,即Illmois大学超级计算机应用中心牵头的NCSA和圣地亚哥大学超级计算机中心(UCSD)牵头的NPACI,其下各连100多个结点。(2)美国能源部的AS-CI计划是为核武器储存和虚拟核爆研究而发展的计划。LosAlamos,Sandia和Livermore三个国家实验室作为该计划的超级结点,其目标是至2004年达到每秒100万亿次浮点数的计算能力,以满足全系统、全物理、全三维的模拟需要。(3)美国国防部高性能计算现代化HPCMP网络是美国国防部建立的高性能计算的基础设施,供全国各地4000多名军事科技人员面向国防的研究和开发使用。该网格包括4个主计算中心和13个分中心,数十个远程中心。大部分计算能力集成在主中心。四个主中心于1998年共装备了23套计算机系统,速度从20亿次到5000亿次不等。该基础设施大大改变了美国国防科学研究的面貌。

经过近几年的研究,元计算在国外也有一定的基础,有不同设计目标的原型或实验系统产生。I-Way和Globus是比较典型的元计算实验系统,它们的目标是为远程用户提供可视化的访问高性能计算平台的接口。其高性能计算平台由现有的美国若干国家实验室和大学的并行计算系统通过高速网络连接。Globus是元计算系统的基础构件,提供可供用户使用的C++库扩充函数,支持远程文件、远程I/O、资源管理和Nexus通信管理等服务。Globus通过协同操作和在一个广域分布式环境中扩展执行程序有效地利用了现存高性能计算系统。但随着服务需求的增加,缺少统一编程接口和模型使用户使用Globus变得相对困难。而Leglon系统强调工作站簇(或机群)上的并行任务的高效运行。Legion使用C++的扩充性语言Mentat实现,支持基于论证的用户安全服务、面向对象的虚拟文件服务和MMPS通信服务。Globe是在荷兰Vrije大学发展起来的元计算系统设计计划。它和Globus和Legion有许多相同的设计目标。Globe是运行在现有主操作系统和通用网络协议之上的中间件系统,Globe未提供有力的信息安全服务和用户安全论证服务。在国内,高性能计算方面的研究也有相当基础,建立了国家高性能计算中心,但在元计算方面的研究,还处于初研阶段,和国外还有较大差距。

关键技术

1.网络技术

研究提高网络的性能、可靠性和容错性,为桌面机提供一个高带宽的通信系统。另外,高速通信协议和通信服务质量保证技术对元计算系统的研究都非常重要。

2.高效可扩展的分布式并行计算系统

为了使用户能够透明地使用网络资源,需要建立一个高效的、可扩展的分布式并行计算环境,并以此为基础提供各种高级的服务。这个底层的基础结构应该包括:资源管理与分配通信安全机制容错机制统一的资源信息服务。

3.面向用户的程序设计模型

为了能够充分发挥元计算系统的特点,需要为元系统设计有效的程序设计模型来充分利用资源。面向对象技术将会是主要的实现技术之一,基于CORBA、Java或者Web等技术的分布式对象技术适合于建造复杂的计算对象和移动计算对象。

4.可视化技术

在元计算中的可视化技术使用图形、图像等手段来描述元系统中资源和任务的行为、状态和结构,为元计算系统的资源管理、作业调度和数据传输提供帮助。

5.大型科学应用计算研究

元计算系统的目的是充分利用网络上的各种资源来支持大型的并行分布式计算。因此,对应用的研究也应同时展开,由应用驱动来提出对元计算系统的功能和技术要求,并验证其技术途径和技术实现的有效性。

6.高效的程序编译模型和执行引擎传统情况下,应用程序在执行前需要编译成面向某平台的可执行代码。这些本地码的平台相关性决定了它们不能跨平台执行。这使得程序在异构环境下的执行和资源的使用受到了一定的限制。解决这个问题的方法是使用平台无关的中间代码,如使用Java程序编译后形成的字节码,这些中间代码可以方便地在网络上进行存储和传播。由于中间代码通常是解释执行的,因而执行的效率比较低。为了解决这些问题,需要对程序的编译模型和执行引擎进行研究,解决平台无关性和执行效率之间的矛盾。

研究趋势

元计算系统作为分布式和并行计算的支持平台,具有分布式环境和并行计算的许多共同特点。现有分布式环境和并行系统的设计技术为研究元计算环境提供了强有力的基础。并行计算模型的研究,并行执行环境、并行编译技术的成熟,通用并行编程环境MPI、PVM的使用,为开发元计算提供了有力保证。分布式文件系统和网络文件系统的研究,特别是OSF/DCE以及CORBA的研究,为研究元计算系统提供了有力的指导和借鉴。但元计算的设计原理和它们不同。目前成为工业标准的DCE和CORBA也是分布式计算工具,但它们只支持分布式计算,不支持并行计算;它们使用客户机/服务器模型,而没有使用并行计算模型;它们主要是为商务开发的,而不是为了进行高性能计算的。而元计算环境则不同,它具有分布式计算与并行计算两方面的好处,既可用于商务开发,又可用来进行高性能计算。

元计算系统的研究将趋向基于Internet的广域异构环境,并支持成千上万的属于不同管理域的计算机节点参与计算和资源共享。在未来,开发一个性能优良的元计算系统将遵循如下的设计目标:

提供单一映象空间:用户通过单一映象空间透明地操作和使用元计算环境。单一映象空间屏蔽硬件的边界,实现异构数据格式的转换,提供虚拟文件服务,把分散在各地的主机节点映射成一个统一入口的虚拟机器。

保证用户站点自治:元计算的节点是Internet网络上的异构节点,参与元系统的这些节点可能属于不同的管理域。为了保证节点拥有者的合法权益,元计算必须保证各个节点的自主权。在设计元计算系统时,要考虑到每个节点的最少安装,实现瘦型服务是十分重要的,也是系统实现扩展的关键所在。

提供强有力安全服务:由于元系统的节点具有分散性、流动性,每类节点拥有的安全功能有所差别,因此,对元系统的节点管理就更显困难。在设计中,每个节点的安全性必须得到加强,至少不能破坏或降低节点原有的安全特性。

支持高效容错功能:设计元计算系统应该考虑系统的容错功能、系统例外处理功能和软件调试与排错功能。

支持统一资源管理:由于异构环境的节点各式各样,元系统必须支持多种体系结构。在元系统中,最好没有中心节点,整个系统是全分布的。通过中间件来保证异构硬件和软件的互操作性,进行资源的统一管理和调度。

支持应用程序在元系统上合理调度:在元系统中,除了考虑指派任务给机器之外,还要考虑机器的异构特性,实现任务有选择的映射和调度。一个应用程序分解的子任务间往往存在依赖关系,依赖任务在异构机器上的调度是元系统设计的重点。

元计算是一个相对较新的研究领域,开发一个高效、好用的元计算系统还存在一定的困难。一个元计算系统必须和同构系统一样,具有友好的人机交互界面、统一的编程环境、可靠的通信协议和高效的任务调度算法,并提供与流行的并行编码软件如PVM的接口。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}