并行和分布计算技术现状及发展策略 |
上海交通大学计算机系 陆鑫达 作者简介 陆鑫达 上海交通大学计算机系教授,博士生导师。曾作为英国纽卡舍尔大学访问学者, 从事高度并行计算系统及VLSI专用芯片设计研究;曾任德国GMD-FIRST柏林计算机研究所和柏 林工业大学客座首席科学家,从事数据结构高性能计算机系统研制。长期从事并行和高性能 计算技术领域的科研和教学工作,先后主持或承担多项国家科研项目,发表论文50余篇。 现主要研究领域为高性能异构并行计算及编程环境、网络计算、指令级并行优化编译等 。 并行和分布计算技术自60年代中期及70年代后期分别出现以来,其并行处理方式经历了 从阵列机(SIMD)、向量机及向量并行机、共享存储的对称多处理器系统(SMP)、分布存储的 大规模并行处理系统(MPP)到NUMA(非一致访问的分布共享存储)并行机系统和计算机机群系 统(Clusters)的演变过程。 在研制上述并行和分布计算系统的过程中,人们逐渐认识到,系统的规模可伸缩性(Scaa bility)和可编程性(Programmability)已成为促使这两者进一步发展的关键问题。规模可伸 缩并行计算机系统能以最低可能成本向用户提供最高可能性能,因此,已成为并行计算技术发 展的主流;如果计算机或工作站已局部联网,那么,计算机机群(工作站机群NOW/COW等)则能提 供更为经济有效的高性能计算能力,而事实上已成为分布计算技术发展的主流。 一、对当前发展形势的基本估计 当前,并行和分布计算技术发展的基本状况是: (1)并行软件的发展远远落后于并行和分布计算体系结构的发展。 (2)并行和分布计算应用远远落后于并行和分布计算技术的发展。 (3)正在向尽量采用商品化的软、硬件甚至系统来构成并行和分布计算系统平台的方向 发展。 (4)计算系统的规模可伸缩性和可编程性已成为并行和分布计算系统进一步发展的一对 主要矛盾。 (5)由高速网联成的各种类型的规模可伸缩计算机机群,由于其经济有效性而发展很快加 上可移植异构编程环境PVM(Parallel VirtualMachine)的日益流行和标准的消息传送平台M PI(Message Passing Interface)并行编程环境的日益普及,已经并将进一步促进并行和分布 计算应用的更快发展。 (6)由基于NUMA(Non-Uniform Memory Access)方式构成的分布共享存储器(Distributd Shared Memory,DSM)组成的并行机系统,特别是采用目录方法来保持各Cache之间数据一致 性的CC-NUMA(Cache Coherent NUMA),由于其具有良好的可伸缩性和可编程性,已受到诸多计 算机厂商的青睐,不少厂商已经和准备推出有关CC-NUMA的并行机系统。 (7)大规模并行处理系统已不再是主要研究领域。由 于负载难于平衡和相应的并行算法设计困难,据国外预测,在高能计算机市场中,MPP所占 的份额将从目前的7%降为2000年的3%。 二、国外重点研究领域 1.并行算法的设计、分析和实现 其中包括数值和非数值并行算法、同步和异步算法以及分布式算法;上述算法的时间和 空间复杂性分析;算法的实现方法等。 2.并行优化编译 其中包括粗、中、细三个精度上的并行优化编译。并行化编译方法包括对程序中存在的 并行性进行检测,即分析和判定各种相关性、相关性的消除方法、各种并行化程序变换技术 ,以及数组私有化识别和过程间分析等。优化编译方法包括减少程序执行的指令数的优化;提 高Cache中对同一数据的时间重用和对同一数据行的空间重用,即提高对Cache访问的命中率 优化,寄存器使用优化以及指令级程序并行执行优化,如基本块内指令级并行、跨基本块的指 令级并行以及循环内的指令级并行优化等。 3.对各种类型的规模可伸缩计算机机群间通信方法的研究 包括对同构和异构计算机机群以及减小机群的研究。 4.用NUMA,特别是CC-NUMA方法构成的并行机体系结构及各种实现方法的研究。 5.并行操作系统微内核(Microkernel)的设计及实现 在分布式存储的并行和分布计算系统中,当采用消息传送方式进行机间通信时,由于需要 操作系统介入,导致通信时间较长。若能使操作系统微内核减小,就可使通信延迟减小。 6.高性能微处理器,特别是后RISC(Post RISC)微处理器 包括高发动度超标量处理器、VLIW(超长指令字)处理器、单片多处理器(Single Chipu ltiprocessor)、系统的软硬件联合设计(Codesign)等。 7.一体化的模拟、原型建立(Prototyping)、跟踪分析和性能测量研究。 8.高性能I/O、周边设备和通信技术研究。 三、西方主要国家的研究情况 美国在并行和分布计算研究领域中,一直处于领先地位。研究重点已从原来热门的MPP系 统转向可伸缩并行机(Scalable Parallel Computers)和各种类型的计算机机群。特别是后 者,因为如果部门或单位已有现成的由局域网连接起来的众多工作站、PC机、服务器及并行 机系统,则组成计算机机群的分布计算系统的成本就相当低,而它们的整体性能则可随机群局 域互联网性能的提高(从10Mbps、100Mbps、155Mbps、622Mbps到1Gbps等)、构成机群的结点 机性能的提高以及运行软件效率的提高而不断提高。 美国计算机厂商对由NUMA方式,特别是CC-NUMA方式构成的可伸缩并行机系统特别看好。 SGI公司推出的Origin 2000是可伸缩共享内存多处理器结构,采用MIPS R10000 4路超标量处 理器。每个结点机由若干个CPU、一定容量的存储器、相应的I/O带宽和电源模块组成。随着 模块数增多,系统规模也随之增大,在增加处理器数目的同时,存储器容量和I/O带宽也按比例 增长。为了提高整个系统的带宽,各模块间用高速Cray Link(高速光缆)连接器连接起来,从 而保证系统具有良好的可伸缩性。Sequent公司则用传统SMP多机系统作为结点机,最小规模 的结点机内有4个Intel的Pentium Pro超标量机以及相应的存储器和7个PCI槽。这种结点模 块称为NUMA-Q(Quad)。更大规模的结点机可由若干个Quad组成,各Quad之间用高速IQ Link连 接器连接起来,形成规模可伸缩CC-NUMA并行机系统。HP公司沿用了Sequent公司的类似方法 和技术来构成自己的CC-NUMA并行机产品。应指出的是,上述的CC-NUMA系统都是遵照基于目 录表原理的SCI(Scalable Coherence Interface)IEEE互连标准而加以实现的。 在计算机机群方面,研究的一个侧重点是如何减少结点机间的通信开销,另一个侧重点是 有关计算机机群的工作环境。关于前者,目前主要从以下两方面着手:一是使用新的高速网如 ATM、快速Ethernet、FDDI(Fiber Distributed Data Interface)以及用户自行设计的专用 互联网,如Myrinet等;二是设计新的精简通信协议,减少传统通信协议的层次,以减小通信开 销。关于后者的研究主要涉及编程环境、任务调度、负载平衡以及全局资源的管理和使用等 。 德国前几年曾致力于MPP系统的研究,取得了一些成果。如GMD-FIRST柏林计算机研究所 于1995年研制成功的规模可伸缩MANNA并行机系统,采用高速、层次结构的纵横交叉开关(Co ssbar Switch)互联网络。初期的几台样机采用双Intel 860 XP超标量处理器构成结点机其 中一个可作通信用,与另一个作计算用的重迭操作,以达到隐蔽通信延迟的目的。1997年研制 成的新样机改用133MHz的Power PC 620(双机)来构成结点机。操作系统是自行研制的面向对 象的可伸缩的PEACE系统,其微内核仅为0.2MB,远比一般的并行操作系统小,适用于最简单的 单用户单任务模式的需要。根据不同应用的需要,在此微内核基础上可附加不同的功能层,直 至最复杂的多用户多任务模式,从而做到针对不同应用需求,微内核的功能和大小可相应伸缩 ,因此,大大减小了操作系统介入通信时所需的开销。德国的研究机构意识到推广并行应用的 重要意义,已确定将今后的研究重点转向并行应用、并行编程环境、优化技术和开发工具等 方面。 日本自90年代初推出RWC(Real World Computing)计划以来,研究前景不容乐观,原来计 划要研制的光计算机和大规模神经网络计算机系统,看来困难重重。 四、我国的主要差距及薄弱环节 我国的并行和分布计算技术研究,自60年代末开始至今,按照国防科大周兴铭院士的观点 ,经历了三个阶段:第一阶段,自60年代末到70年代末,主要从事大型机中的并行处理技术研究 ;第二阶段,自70年代末至90年代初,主要从事向量机和并行多处理器系统研究;第三阶段,自 80年代末至今,主要从事MPP系统及工作站机群系统的研究。虽然每个阶段都研制成一些样机 ,但由于缺乏竞争能力,均无法形成批量生产规模。 就MPP系统而言,自90年代初以来,已研制成包括曙光1000在内的约7个样机,最多结点数 为40,与国外最大规模的MPP系统差两个数量级,峰值性能为3.2GFlops,与国外最快的MPP系统 约差三个数量级。近期研制成的银河Ⅲ并行机(结点数128,峰值性能13GFlops)使这一差距稍 有缩小,但总体差距是很明显的。现在,国外对MPP系统的研究已转向,国内的研究由于惯性作 用,恐怕还会持续一段时间。 国外对高性能并行机的研制,通常是一开始就有有关部门或用户部门参与(如美国能源部 、国防部等),研究资金充足,应用需求明确。另一方面是有计算机大厂商直接参与 ,如IBM、 Intel、Sun、SGI和DEC公司等,因而总能将最新开发或研制的后RISC/CISC高性能微处理器用 到高性能并行机中去。我国在这方面差距很大,特别是微电子工业较落后,目前还不具有0.5 微米芯片制造工艺,而国外在1995年时就已有0.35微米工艺,因此,我国很难与国外在同等基 础上开展竞争。 国外高性能并行机研制中的另一特点是,由于市场竞争激烈,公司间的兼并和收购事件不 断涌现。在此过程中,被兼并或收购的公司原来所开发和研制的先进技术很快被融合到兼并 后所开发和研制的新产品系列中去,大大增强了新产品的竞争能力。例如,Sun公司近期推出 的HPC(高性能计算)系列机中的并行开发软件中就融合了原TM(Thinking Machine)公司和原 Cray Research公司(部分)已开发的行之有效的并行软件;SGI公司在Origin 2000系统中使用 了原Cray Research公司所开发的Cray Link连接器;HP公司使用了原来Convex公司所开发的 有关高性能计算机的一些先进技术。 此外,我国在并行应用方面所开展的研究还较少,尽管很多部门和单位已有不少联网的计 算机资源,如工作站、PC机、服务器和各种并行机等,但通常这些用户单位都不知道如何从事 并行计算及开展并行应用。 五、建议 1.应大力开展并行和分布计算应用的研究 要让更多的用户和编程者掌握并行和分布计算的基本技术与技巧,包括在国际上业已广 泛流行的PVM及国际标准MPI等工具的使用和掌握。实际上,凡是已有由局域网连接的工作站 、PC机和并行机系统的单位,都可开展并行和分布计算应用,所需的投资是很小的。并行和分 布计算的广泛应用和推广,必将促使我国并行和分布计算技术有更大和更快的发展。在有条 件的高校,应首先在计算机专业开设有关课程和实验,以使学生掌握开展并行和分布计算应用 所需的基本知识与相应技能。 2.应大力加强对计算机机群体系结构的研究 包括同构和异构机群。应注重对采用NUMA方法,特别是CC-NUMA方法来构成可伸缩并行机 系统体系结构的研究。应尽量利用商品化的高性能处理器、网络技术及并行软件来构成计算 机机群和规模可伸缩并行机。在开展对同、异构计算机机群系统中的任务映射和调度策略等 的研究时,应注意采用如遗传算法(Genetic Algorithm,GA)或进化算法(Evolution Algorih m)那样的先进方法和手段。 3.注意加强对延迟隐蔽(Latency Hiding)技术的研究 这是减少并行和分布计算系统中机间通信时间的关键技术。其中包括预取和重迭(计算 与通信重迭)技术、硬件支持的多Cache一致性技术、松驰的存储器一致性技术以及多线程现 场切换技术。恰当地综合使用这些技术,将使系统性能有较大提高。 4.大力加强并行软件的应用基础研究 包括并行和分布计算算法的设计、分析和实现;作业级(粗精度)、任务级、子任务级、 循环级(中精度)和指令级(细精度)的并行优化编译。应注意开展在这三个层次上的综合并行 优化编译、并行操作系统中的精简微内核设计和实现等。 5.加强对并行编程模型、并行编程环境及对并行和分布计算系统的性能评估模型研究 应注意一体化的模拟、原型建立、可视化跟踪和性能测量系统的研究。 6.应适合我国国情 根据具体国情,我国的超高性能并行机系统(性能高于1TFlops)的设计和制造只宜在极少 数有条件的机构中进行。一定要明确应用需求,注意软硬件的综合设计,应用单位的有关人员 应从研制起始阶段就参与进去。 (计算机世界报 1997年 第38期) |
周报全文频道联系方式:010-68130909 |
||||||
【关于我们】 【广告服务】 【周报发行】 【投稿指南】 【投稿声明】 【联系方式】 【法律声明】 |