新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 多核系统效率与任务属性关系的优化策略

多核系统效率与任务属性关系的优化策略

作者:时间:2013-11-06来源:网络收藏
多核CPU支持的紧耦合并行结构对面向移动计算或高性能计算机(HPC)系统的技术支持是时下业界研究的热点。然而,并行体系结构设计与应用表明:系统的并行处理能力与系统的整体效率不一定成正比。对于确定的任务,计算量增加,可能下降[1]。所以,在引入多核结构提升系统并行处理能力过程中,充分考虑系统所处理任务的属性是获得高的关键因素之一。

人们在追求计算机高速度运行、高可靠性的今天,更加注重[2-3]。尤其是摩尔定理遇到瓶颈时,驱动了多核CPU设计,同时基于多核的并行程序设计也随之成为研究热点,多核并行硬件和软件协调进步仍然延续着ENIAC以来的相辅相成发展的技术路线,成为新概念上的研究领域。

对计算机性能准确建模非常复杂[4],其中最基本的因素包括存储器层次结构、操作系统、互联网络、处理机技术、高速缓存与存储管理、延迟包容或吸收机制、算法设计与编程语言等。然而,这些技术细节仅仅源自计算机系统本身,而随着非科学计算的处理任务日趋显现(如流媒体处理、模式识别、图像处理、知识发现、多媒体库操作等),传统的并行处理机制与结构所追求的并行能力指标将不再适应新属性任务处理,研究与系统效率或整体性能,将成为并行处理体系结构设计与应用的重要课题。

1 并行系统的并行能力与效率描述

在研究并行处理技术过程中,因为Von Neumann机的存储程序结构及系统的整体处理能力,取决于系统的全部处理节点或多核访问内存的机制与效率[2]。所以,当代典型的并行机系统都重点研究访问内存的技术与方法。

1.1 几种典型的并行机系统

当前典型的并行机系统有共享存储的对称多处理机SMP(Symmetric Multi-Processor)、大规模并行处理机MPP(Massively Parallel Processor)、分布式共享存储器多处理机DSM(Distributed Shared Memory)、工作站机群COW(Cluster of Workstations)和跨地域性的、用高速网络将异构性计算节点连接起来满足用户分布式计算要求的网格计算环境GCE(Grid Computational Environment)。

1.2 并行计算机访存模型

均匀存储访问模型(Uniform Memory Access),其重要特征是物理存储器被所有处理器均匀共享,所有处理器访问任何存储字的时间相同;每台处理器都带私有高速缓存,外围设备也可以一定形式共享。也称为紧耦合系统(Tightly Coupled System)。当所有处理器都能等同地访问所有I/O设备、能同样地运行程序(如操作系统内核、I/O服务程序等)时,称为对称多处理机(SMP)。

非均匀存储访问模型(Non-uniform Memory Access),所共享的存储器在物理上是分布在所有的处理机中,其所有本地存储器的集合就组成了全局地址空间。处理器访问存储器的时间不一样,访问本地存储器LM或群内共享存储器CSM较快,而访问外地存储器或全局共享存储器GSM(Global Share Memory)较慢。每台处理器照例可带私有高速缓存,外设也可以某种形式共享。

全高速缓存存储访问模型(Cache-Only Memory Access),各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间。利用分布的高速缓存目录D进行远程高速缓存的访问,缓存容量一般都大于二级高速缓存容量。数据开始可任意分配,随着进程的推进,数据最终被迁移到相应存储空间。

高速缓存一致性非均匀存储访问模型(Cache-Coherent Non-uniform Memory Access),绝大多数商用系统都使用基于目录的高速缓存一致性协议,比较SMP优化了可扩展性,是一种分布共享存储的多处理机系统。随着进程推进,数据自迁移到所用的空间。

非远程存储访问模型(No-Remote Memory Access),所有存储器是私有的,不支持远程存储器访问。

1.3 系统加速比与效率

多处理器加速比和处理机效率可分别表示为:

因为最佳加速比是线性的,即:SP=Op,所以最佳效率就是常数,即:E=Const (0≤Const≤1)。

  由(1)式知,P增加,则E下降,但能够通过优化算法使E增加。当然是增加了算法优化过程的工作量(Workload),即由于付出Workload开销,在系统处理机数量增加时维持系统效率不变。这就是本文提出的基于分析结果,科学地选择多核系统结构的概念。所以,始终保持一定效率常数的优化系统,应该能够实时对系统内参与运行的处理机数量实现科学调度,这等同于大规模作战系统的指挥,必须科学地调兵遣将。

2 指令级并行与多核CPU

实现指令级并行(ILP)处理的基本要求是被执行指令序列不存在指令与数据相关,系统能在同一绝对时间或相对时间内并行执行多个任务指令或线程,现代多核CPU能支持片内多线程平行推进。如果任务的指令序列存在相关性,平行推进过程将出现“参差不齐”或线程暂停而阻塞相关核的运行线程现象。所以,需要事先找出指令代码中合适的指令序列段(S),如果执行S的时钟周期能正好等于原来被阻塞的延迟时间(Delay),则能有效地缓冲或吸收线程阻塞,继续维持多核的多线程平行推进。

现代多核CPU实际上引入了多线程平行推进过程中自适应进程迁移技术,即当某核的线程被阻塞时,能自动完成相应线程上的进程段迁移,相当于上述执行S而吸收线程阻塞。


上一页 1 2 下一页

评论


技术专区

关闭