异构并行

 

1. 异构体系结构

计算机体系结构的发展在追逐摩尔定律的过程中在慢慢演进。并行与异构的并行,是今后体系结构发展的未来。

1.1 并行-计算机体系结构的变迁

并行,是人们在直觉上对计算机性能的一种改进措施。无论是从最底层面的指令集层并行,还是到高层的设备层面并行,这些措施早在几十年前已经被科学家广泛关注和研究,并在近十年获得高速发展。

CPU行业:片上并行是近几年发展的潮流。如Intel在Pentium系列上的超线程技术(Hyper-Threading),酷睿系列的多核技术等。AMD、IBM、Sun等芯片提供厂商的主流芯片都实现多核多硬件线程支持。

GPU行业:高度并行,Many Core技术为计算机图形学的发展提供了强有力的支持。与CPU不同,GPU中每个任务性质单一,每个处理单元芯片面积比重很小,这为极多核处理器的设计提供了可能。其中的代表厂商NVIDIA和ATI,都在单位芯片面积上提供了数百倍于CPU的计算核心。这类芯片为片上高度并行提供了可能性。

Cluster行业:Cluster是天生的并行处理行业。从最初的MPP到现在的COW,Cluster在节点的性能提升,节点间通信的带宽、延时等方面的改进,为HPC、面向于数据或面向于计算的应用提供了理想的、可靠的环境。

1.2 异构

异构并行从21世纪初开始大放异彩。异构首先是并行的。不同的处理单元完成不同的计算任务,为任务并行提供了可能性。与同构并行不同,异构并行更强调专用性,因此其组织形式往往是一个通用的处理单元,加上多个专用的处理单元,来形成一个整体的异构环境。异构环境往往又被描述成为加速器模型。我们从片上异构、设备间异构、节点间异构来展开描述。

片上层面:典型的例子是早期的网络处理器,主要应用在电信和网络行业,其架构由一个通用核心加多个微引擎构成。Cell B.E是出现在HPC用户面前的一个典型异构CPU,其组织形式与NP类似,都采用了通用核心加专用核心的结构。而Intel的下一代架构Larabee,除了一部分芯片面积用于通用处理之外,更开发大量芯片面积构成相对简单,但非常高效的Many Core设计,这种设计将成为今后设计的主流。

设备间异构:多路服务器大多由相同的CPU组成一个同构的计算环境。而典型的设备间异构有:CPU+GPU(OpenCL),CPU+专用硬件(ClearSpeed)等模式。由于用户更倾向于使用out-of-shelf形式的设备,CPU+GPU模式成为目前异构并行的一个热点。

节点间异构:节点间异构将是今后Cluster发展的一个方向。个人观点,节点间异构的出现有两个助力。第一,保护投资。大量已有投资将作为集群中的节点而与新设备并存,这将形成功能上同构,而形式上异构的集群环境。第二,功能的专注性。这与前述片上异构、设备间异构有相同的原因。专用设备完成特定的任务加速,通用设备完成平常的任务处理。典型的节点间异构是Roadrunner,其由一台Opteron刀片处理I/O,由两台附加的Cell刀片完成计算加速,三台刀片组成一个集群节点。

1.3 CPU+GPU,单机异构的发展

CPU+GPU将成为单机异构的未来方向之一。CPU对于芯片面积、内存带宽、功能性等上的限制,不易实现高度并行。在片上异构潮流来临之前,CPU+GPU是单机异构的最佳选择。GPU近期内不会完全替代CPU,但是CPU的有力补充

2. 应用变革

2.1 哪些方面发生了变革

用户对投资和使用体验提出了越来越高的要求。如投资方面,要求降低设备成本;如性能方面,要求更好的性能,来完成以前不能解决或需要长时间解决的问题

2.2 原来复杂的问题,现在可以解决的

计算依赖性的应用是并行计算的主要关注点之一。例如天气预报,这类应用严重依赖于处理器计算能力。而计算能力的好坏直接影响天气预报的准确性和时效性。随着并行计算,片上处理能力的提高,有效地、准确地进行天气预报成为可能。

从另一方面来说,随着片上并行,尤其是异构片上并行的出现,以前需要专用硬件进行加速的应用,如网络防火墙,现在可以使用商用芯片产品进行设计;典型的例子是基于ASIC和基于NP的防火墙产品。

2.3 其中的技术难点在哪里,浪潮可以做那些

并行算法和并行软件设计是目前制约并行计算的主要原因。相比较硬件的快速发展,软件设计在近些年并没有革命性的改变。并行计算软件的实现可以从如下几点实现:编译器层面,语言层面和编程模型层面,显然CUDA在编程模型方面进行了异构并行的有益尝试。

2.4 新的技术对社会带来的效益:新的就业机会,减少的工业成本

N/A

你可能感兴趣的:(异构并行)