当前位置:文档之家› 多核体系结构

多核体系结构

多核体系结构
随着桌面并行时代的来临,基于多核的并行计算机已进入千家万户。

例如,很多人的笔记本就装有两个处理器芯片,台式计算机装有四个芯片。

INTEL、AMD在多核技术方向的相继突破,更使得并行计算成为研究热点之一。

虽然多核时代已经到来,目前的困境是,多核硬件技术已成熟,但并行处理核心算法等应用问题却尚未得到解决。

中国科大研究人员所做的这项研究在网络数据包的有效分类算法,也即网络核心算法的研究方面获得进展。

多核的普及是很重要的,因为以往仅仅提供高单线程性能。

我们观察到,在一个大型变繁忙的内核数量多核心,这技术的应用是最理想的任何个人。

每个单是往往无法把所有的方式多核其功率或温度信封由于电源电压或错误率的限制。

事务性记忆已经被提出来,用以解决一些芯片多处理器的可编程性问题。

事务性内存硬件实现在提供的功能的支持,如取得重大进展,比如长期交易,泄漏出的高速缓存,和上下文切换并在交易中线程迁移。

通过集成在单个芯片中的多个内核,芯片多处理器提供一个有吸引力的方法同时提高系统的吞吐量和效率。

这种集成允许在片上资源,这可能会导致破坏性的共享相互干扰的执行工作负载。

共享资源是一个重要的功能,它有助于显着的整体吞吐量和降低功耗。

为了提高系统性能和降低个别表现波动线程,已经提出最后一级缓存和片外带宽分配计划。

多核技术已经是现代处理器发展的主流趋势,它的诞生给软件开
发技术带来了新的挑战。

如何编写出高效的并行程序使之充分地利用多核的资源,这一直是学术界和工艺界致力于解决的难题。

多核程序的性能调试对于开发高效的并行程序来说,具有良好地辅助作用。

它通过分析程序的行为并诊断其性能瓶颈,进而给性能优化提供有效的支持。

由于并行程序的动态性和不确定性,传统的代码分析技术很难有效地检测其性能瓶颈。

有的研究工作提出在软件层分析程序运行时行为,这通常会引入很大的运行时开销,并且获得数据精确度很低。

硬件的实现虽然运行时开销低,然而其结构扩展引入的开销又会损伤程序的性能。

CMP的低成本和广泛可用性,使得一般的软件开发人员能够进行各种级别的并行处理。

并行处理不再是超级计算机或集群的专属领域。

基本的开发工作站和入门级服务器现在都具有软件级和硬件级的并行处理能力。

这意味着程序员和软件开发人员可以无需牺牲设计或性能,即可根据需要部署利用多处理和多线程的应用。

然而,需要注意的是,并非每个软件应用都需要多处理或多线程。

实际上,一些软件解决方案和计算机算法最好使用顺序编程技术来实现。

在某些情况下,在软件中引入并行编程技术的开销会使软件性能降级。

并行性和多处理是需要一定成本的。

如果软件中顺序地解决问题需要的工作量少于创建额外线程和进程的开销,或者少于协调并发执行的任务之间通信的工作,则应选择顺序的方法。

有时可以较容易地确定何时及何地应当使用并行性,因为软件解决方案本身可能会要求支持并行性。

例如在很多客户端-服务器配置
中,很显然是需要并行性的。

可能有一个服务器,例如数据库,还有很多可以同时对数据库发起请求的客户端。

在多数情况下,您不希望一个客户端被要求等待,直到另外一个客户端的请求被满足。

可接受的解决方案允许软件并发地处理客户端的请求。

另一方面,有时候可能会在不需要并行性时面对并行性的诱惑。

设计决策者若赞成使用并发的解决方案,则必须考虑盈亏临界点和问题规模。

在多数情况下,软件设计和软件实现是分开进行的,而且很多时候是由不同的小组来执行的。

但是当主要的系统需求是软件加速或性能优化时,软件设计小组必须至少清楚软件实现的选择,而软件实现选择必须知道潜在的目标平台。

我们今天所使用的基本计算机体系结构是基于二十世纪四十年代数据学冯诺依曼提出的概念的。

在他的体系结构中,数据和程序存储于计算机内存并被馈送给计算机的CPU。

程序通过使用程序计数器执行,这就为CPU提供了内存当中下一个将执行的指令的地址。

但是,这种方法是受限制的,因为它一次只允许执行单个指令。

在多核处理器和拥有大量可用内存的时代,不再需要这种限制了。

取而代之的是,多个指令通常可以更快地平行执行--所有指令都同时执行且只需一个步骤。

多核体系结构,允许在任何指定的时间执行多个指令,这样可以极大地简化程序员的工作。

References:
【1】Understanding How Off-Chip Memory Bandwidth Partitioning in Chip Multiprocessors AffectsSystem Performance
Fang Liu, Xiaowei Jiang, Yan Solihin
【2】Leadout: Composing Low-Overhead requency-Enhancing Techniques for Single-ThreadPerformance in Configurable Multicores
Brian Greskamp, Ulya R. Karpuzcu, JosepTorrellas
【3】LiteTM: Reducing Transactional State Overhead
Syed Ali RazaJafri, MithunaThottethodi, T. N. Vijaykumar 【4】A Bandwidth-aware Memory-subsystem Resource Management Using Non-Invasive ResourceProfilers for Large CMP Systems
DimitrisKaseridis, Jeffrey Stuecheli, Jian Chen, Lizy K. John 【5】HARE: Hardware Assisted Reverse Execution IoannisDoudalis, Milos Prvulovic。

相关主题