文章总结:ASPLOS 2013 Architecture I

来源:互联网 发布:微信域名举报监控 编辑:程序博客网 时间:2024/06/07 00:46

Computational Sprinting on a Hardware/Software Testbed

这篇文章的主要概念[computational sprinting]是由宾夕法尼亚大学和密歇根大学的研究团队在2012年的HPCA上提出的,文章的名字就叫做Computational Sprinting. 第一篇文章通过建模和模拟论证了Computational Sprinting的实用性他们说:“短期高速计算这一路线,是针对类似智能手机的移动环境;在此环境中,互动式应用的特征是一阵阵迸发的计算需求,间隔则是长时间的闲置等待用户输入”。 
该项研究起源于他们认识到:当今的处理器,及其散热片及能源供应体系,是为了持续的性能而设计的;该设计用在高性能的批处理计算上很理想,但不适合当用户发起指令后系统需要迅速回应的交互式场合。 
他们提出了问题:假如把迸发时的高响应性作为设计目标、而不是聚焦于持久的性能,系统则会是什么样的呢?他们在模拟了一个短期高速计算芯片之后,看到显著的性能提升,对此结果做出汇报。因为此概念仍处于实验室阶段、一个物理的版本尚未造出,故他们承认,“并发短期高速计算”仍在成本、热材料、封装、供电各方面面临工程难题。 
尽管如此,他们说:“我们的研究表明,通过短期高速计算,在1瓦的移动装置的工程条件下,获得一只16瓦芯片的响应性是可行的”。 
 
这篇文章是在实验平台上做了一些具体实验的结果。
实验包含了两种,一种是完整的sprint,就是计算过程在温度成为关键因素之前就完成了。一种是不完整的sprint,计算过程中运行时必须暂停计算以防止过温。
 
 

Regularities Considered Harmful: Forcing Randomness to Memory Accesses to Reduce Row Buffer Conflicts for Multi-Core, Multi-Bank Systems

首先附上作者简介,作者叫做Heekwon Park,2012年在韩国Dankook 大学拿到博士学位之后来到了匹兹堡大学做博士后研究,研究方向在计算机体系结构与系统软件,以及他们的交互,尤其是在芯片多处理器, NUMA体系结构和内存并行领域,另外,还对新的非易失内存如Flash memory, PCM以及STT-MRAM有兴趣,目前正在研究如何在操作系统层次有效地管理DRAM部件。
 
文章提出了一个内核级别的内存分配器,叫做M3 (Mcube),含义就是Multi-core Multi-bank Memory allocator。这个分配器具有以下几种特色。
1. 首先它引入并利用了memory container这个概念,通过专有地为一个core分配一个container使得每一个core能够尽可能地达到bank级并行,这个memory container是作为一个能够包括内存组织的所有bank的最小页帧数组成的内存单位。
2. 这个内存分配器协调页帧分配使得县城的访问在多个bank之间随机分布,这样每个线程的访问模式都被随机化了。
 
这个分配器的开发是基于作者为了成分理解内存组织的体系结构特点而开发的工具,通过使用这个工具的扩展,作者观察到对同一个应用来说,以随机的方式访问页要比依顺序或者不变的有序访问的性能要好。这是由于随机访问减少了在memory bank中的row buffer上线程间访存的互相干预。
 
作者在16核intel Xeon,32GB DRAM linux内核版本2.6.32版本上实现了M3。实验证明它提高了memory intensivebenckmark的性能最高到85%,平均40%。
 

 

原创粉丝点击