大规模并行处理MPP(massively parallel processing),是采用大量处理单元对问题进行求解的一种
并行处理技术。
内容简介
在计算机系统结构研究领域中,大规模并行处理(MPP,Massively Parallel Pmcessing)是指计算机系统中使用大量的、同构的、简单的处理单元(PE,ProcessingEIement),通过PE之间的并行工作获得较高的系统性能。采用MPP体系结构中,一般使用大量的PE节点,PE之间采用高性能的交换网络进行连接,每个PE拥有本地存储器,各个PE之间通过消息传递进行通信。MPP系统中PE的并行程度较高,减少了
共享存储所带来的系统开销,适合大规模的系统扩展。另一方面。MPP系统的程序设计较为复杂,主要表现在计算任务的划分及其与PE节点之间的映射上。
主要特点
1、工作并行性
由于系统使用了多处理器,则系统把物理模型分割成很多可并行执行的任务,然后在执行之前将它们分派给各处理部件,真正实现了
多指令流多数据流,这种工作并行性是真正的并行,而不是并发执行。
2、模块性
模块性是指系统虽然由多个微处理器互连成一个整体,但它们分别又是相互独立的,它们不仅有独立处理功能,并且有独立的存储功能和独立的通信功能,这样就形成了一个完整的模块。因面系统很容易进行扩充,用户可以通过增加插件板的方法来增加处理机数或结点机数、I/O通道和存储容量。因此,组合更多的更高性能的处理器是跟上激增的性能要求的捷径。例如Floating Point System公司的T-Series的结点数可扩展到16384个。除此之外,采用模块化的结构还可以提高系统的可靠性、可用性和可维护性。
3、结构灵活性
随着技术的迅速发展,大规模并行处理系统也朝着两个方向发展,一是朝专用机发展,二是朝通用机发展。在专用机方面则根据机器的用途设计体系结构,有的PE的连接方式采用二维阵列,有的采用交叉网络。在通用机方面则采用可变的拓扑结构。建立一种具有可以通过程序重新组配的拓扑结构的
多处理机系统。例如ESPRIT计划(欧洲信J息、技术研究发展战略计划)中的1085项目是研究以TransPuter为基础的多机结构的大规模并行处理系统,它可以通过使用电子开关来对其连接的
拓扑结构进行配量。在这个系统中可以连接24个到1024个工作处理机,其性能可以达到1500MFLOPS的峰值速度。
4、存储器的有效利用性
要提高系统的性能,除了要提高CPU性能外,还必须增加存储器的容量,提高存储器与CPU之间的数据与指令的传送速度。然而CPU与存储器总线的速度和其数据宽度是有限的,因此必须将存储器分割成若千个存储块,即局部存储器,使CPU可以就近处理,这样便可消除存储器传送瓶颈,提高存储器的有效利用,对一个局部存储器来说,CPU与存储器间无需那么高的速度,然而从整个系统米看,却能得到很高的处理能力。
发展瓶颈
离散化方法得到的算法模型,也是不等价的。有的算法可能会很快收敛到物理解上去,而有的算法甚至会导致错误的结果甚至发散。有的算法可以很好地适应规模扩大后的并行处理,有的
算法则很难。
第二个瓶颈问题,主要是计算模型的并行化问题。当前所有功能强大的计算机都是由大量处理器组成的并行计算机,千万亿次的计算机系统往往拥有数十万个处理器核心。要用好这样大星的计算核心,计算必须有足够大的规模,同时程序也有足够好的并行性。可是我国目前现有每秒百万亿次的计算机上,大多数科学与工程计算应用的规模都在数十个核到数百个核,少数用到上千个核进行了试验性的计算。于是当前在这类超级计算机上的使用方式,必然是若干规模并不很大的独立任务同时运行(这当然也很重要)。我们还是不能很好处理那些需要千万亿次计算规模的重大科学与工程应用问题,而这恰恰是科研水平和科研能力的一个标志。
当前应用大规模并行计算机的主要障碍是并行应用软件的缺乏。由原来的算法和程序直接转向并行化的程序,一般而言,对于中小规模(几个处理器到几百个处理器)的并行比较容易,适当改造优化即可以得到不错的加速效率。但是规模更大时,就往往因为并行效率变得过低而得不到满意的加速效果。这主要取决于所采用的计算模型本身在计算规模很大时是否有足够好的并行性,即它应当能分解为很大数星可独立并行进行计算的任务,且这些任务计算量分布比较均匀,使各处理器的负载比较平衡,而任务间需要交换(或耦合)的信息星相对较小。这在需要使用成千上万个
处理器、问题又很复杂的时候,从原来的算法模型直接并行优化改造就会成为一件很困难、甚至是行不通的事情。
发展趋势
研究适合
MPP系统的计算模型具有普遍性的意义。已经提出了神经元网络模型、
面向对象模型等新的
并行计算模型。适于MPP系统的算法也有待进一步研究。这种研究属于基础理论性的研究,一直进展不大,但却是最需要解决的根本问题。
(2)提高硬件水平,改进体系结构。
需要进一步提高微处理机,存背器及专用外围芯片的性能,探索更灵活,能适应更多应用的互连网络,而体系结构上增加对
共享存储抽象、负载平衡、高级并行性机制等的支持,可以大大提高系统效率,是值得注意的重要方向。此外,在实现上,可以考虑用光学或其它技术替代电子技术。
(3)开发并行软件,移植应用程序。
软件缺乏妨碍了MPP系统的应用和发展,如今许多公司,大学和研究所,正大力开发并行软件,以促进
并行程序设计和现有应用软件的移植。目前集中在并行编译方面的工作是为了充分利用现有软件,而可视化及用户友好界面技术的全面渗透将成为重要趋势。
从目前市场,应用情况看,传统向量巨型机技术成熟,应用广泛,积累了丰富的软件资源,但难有进一步的飞跃。MPP系统易于实现,可伸缩性好,性能价格比高,但尚处在发展的初期,广泛应用还有待于理论基础和体系结构的进一步研究,尤其是软件不成熟。MPP系统将来的发展,很大程度上取决于软件方面的工作。所以,在未来较长一段时间内传统的向量巨型机和MPP系统都将不断发展,相互竞争。这种竞争的结果可能导致对一种层次式(混合)体系结构的研究。这种系统在技术上可能兼取
共享存储(传统向量巨型机)及分布存储MPP系统的长处,在应用上既能使现有大量向量巨型机软件易于继续使用,又能获得极大的并行度,因而将成为发展的一个方向。