多核处理器共享资源管理技术研究.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《多核处理器共享资源管理技术研究.pdf》由会员分享,可在线阅读,更多相关《多核处理器共享资源管理技术研究.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、龙源期刊网 http:/ 多核处理器共享资源管理技术研究 作者:严杰俊,黄皓 来源:电脑知识与技术2011 年第 13 期 摘要:现代多核处理器结构的设计使得集成在同一块芯片上的多个执行核共享各种硬件资源,如片上最后一级 Cache、内存控制器、前端总线以及硬件预取单元等,而多线程的并行执行导致核与核之间共享资源的争用,造成系统整体性能的下降,如何有效地解决多核共享资源冲突来提升系统的整体性能以及应用程序的服务质量成为当今研究的热点。文章首先概要介绍当前主流的多核处理器,然后提出了多核体系结构下共享资源管理面临的挑战,接着分析了降低共享资源争用的策略方法:操作系统调度技术、资源划分技术,最后给
2、出了多核处理器共享资源管理技术可能的发展方向。关键词:多核;共享资源争用;线程调度;资源划分 中图法分类号 TP316 文献标识码:A文章编号:1009-3044(2011)13-3159-03 A Survey of Managing Contention for Shared Resources on Multicore Processors YAN Jie-jun,HUANG Hao (National Key Laboratory for Novel Software,Department of Computer Science and Technology,Nanjing Unive
3、rsity,Nanjing 210093,China)Abstract:Modern multi-core processors are designed with multiple cores integrated on a chip,one common feature of these multi-core chips is resources sharing among sibling cores that sit on the same chip,such as the last level Cache,memory controller,front-side bus and pre
4、fetching hardware.The parallel execution of multiple threads leading to the contention of shared resources,causing a degradation of the system performance.Therefore,How to solve the contention for shared resources effectively and improve overall system performance and quality of service becomes an a
5、ctive research area.In this paper,we introduce the mainstream multi-core processors and the challenge of managing contention for shared resources firstly,and then we analyzed the key technologies of shared resources management:operating system scheduling and shared resource partitioning;at last,we m
6、ake the conclusion of our paper and discuss the future of shared resources management technologies.Key words:multicore;shared resources contention;thread schedule;resource partition 1 概述 多核处理器指的是在一个芯片上集成了多个计算核心的处理器,相比于单核,多核处理器优势明显:多核处理器每个核心工作在较低的频率上,在通过并行运行来提高整体性能的同时有效的解决了散热问题;同一芯片上的多个核心互联线路极短,有利于降低
7、通信延迟,提高数龙源期刊网 http:/ 据传送带宽;多核处理器有利于指令级并行(ILP,Instruction Level Parallel)和线程级并行(TLP,Thread Level Parallel),充分挖掘程序潜在的并行性。当今主流的多核处理器采用片上多处理器结构(CMP,Chip Multi-Processor),而更高端的则为片上多核多线程结构(CMT,CMP of Multi-threading),它是同时多线程结构(SMT,Simultaneous Multi-Thread)以及 CMP 结构的结合体,性能非常卓越。现在高端的多核处理器一般都采用 CMT结构,如 IBM的
8、 Power5、Intel的Montecito 等,图 1给出了 CMP 以及 CMT 多核处理器体系结构图。2 多核共享资源管理面临的挑战 为了最大化利用硬件资源,现代多核体系结构共享很多硬件资源,如最后一级 Cache,内存控制器,硬件预取单元等,但是并行运行的线程对共享资源的争用会造成系统整体性能的下降,这就给操作系统设计者和微处理器设计者带来了挑战。首先,当今主流的操作系统(比如 Linux)缺乏对应用程序关于片上共享资源的使用情况的感知,对多核处理器当做黑盒对待,对片上资源如何在相互竞争的线程之间分配缺乏有效的控制;而且,目前操作系统缺乏实际有效的机制管理线程运行时使用的片上资源,大
9、多数的管理技术存在额外的开销或者需要特殊硬件的支持,并不实用。其次,多核处理器的 Cache 层次比较复杂,其中有每个核私有的 L1 Cache,有多个核共享或私有的 L2 Cache,甚至更多的核共享的 L3 Cache,共享 Cache 可以提高系统资源利用率,但是标准的 Cache 替换算法 LRU 并不能区分各个进程的访问,可能导致某个进程的 Cache 失效会替换掉其他进程的 Cache 块,影响系统的性能,微处理器的设计者需要从硬件的角度来解决Cache 的智能划分问题。3 多核处理器共享资源管理技术 多核处理器共享资源管理技术主要分为操作系统调度技术和硬件采用的资源划分技术。操作
10、系统调度技术通过修改操作系统的调度算法,将线程合理地分派到处理器核上去,优化共享资源的使用;资源划分技术通过修改硬件机制,使得硬件智能地在核之间自动分配共享资源(比如 Cache),从而达到优化目的。3.1 操作系统调度技术 当前主流操作系统(Linux)针对多核架构的调度策略主要考虑两点:负载平衡和 Cache的亲和力。负载平衡尝试在多个处理器之间平均地分配任务,如果出现失衡的情况,调度器就会尝试从负载较重的处理器将进程迁移到负载较轻的处理器上,然而任务迁移会带来相关的开销:当进程被迁移到另一个处理器上,原有的 Cache则会失效,影响性能,Linux最新的调度器考虑了 Cache 的亲和性
11、,在需要进行任务迁移时,优先考虑和当前处理器共享同一层 Cache的处理器,减少 Cache失效带来的性能开销。然而,现有操作系统的调度器都没有考虑到线程并行运行带来的共享资源争用问题。龙源期刊网 http:/ 学术界针对多核架构下操作系统调度的研究主要致力于对线程(进程)进行协同调度以减少对共享资源的争用。这样的调度器通常由两部分组成:线程分类机制和线程调度策略。做出调度决策所使用的信息,这里称为分类机制。分类机制决定了选择进程的哪些参数,以及由这些参数评估多个程序共享使用资源效果的方法;调度策略则根据线程分类机制所提供了信息将线程分配到各个核上去运行。3.1.1 线程分类机制 影响调度性能
12、的因素很多,不同的研究者在分析调度性能时考虑哪些是影响调度性能的主要因素的观点和侧重点不同,形成不同的评估模型。线程分类机制则负责建立这些评估模型,通过模型提供的信息和方法指导调度。对于任何的分类机制而言,需要提供一些应用程序的行为特征数据供其分析。描述程序 Cache行为的内存复用模式,也称作栈距离模式2(SDP,Stack Distance Profile),是以下将要阐述各种分类机制的主要参数。对一个内存块的连续两次访问之间访问其他内存块的次数 K称为 stack distance(或 reuse distance复用距离),假设 Cache为 N 路组相联,并使用 LRU(least
13、recently used)替换算法,那么如果 KN-1 则意味着 Cache失效,因此 SDP 可以很好的估计 Cache的利用情况。以下给出当今主流的线程分类机制,这些机制根据每个程序的自身行为去估算共享 Cache系统的整体行为。1)SDC 模型 Chandra1于 2005 年提出了 SDC(Stack Distance Competition)模型,SDC通过建模分析得到多个应用程序争用共享 Cache 的情况下各自的 Cache 行为(各自的 SDP)。算法的主体思想是通过各个程序独享 Cache时的 SDP 构造出一个合并后的系统整体 SDP,然后使用各个程序在总的 SDP 项中
14、所占的比例计算其占用有效 Cache 路数,得到程序在争用共享 Cache情况下的实际的 SDP。2)Animal模型 Animal模型3根据程序的内存访问行为将其分为四大类(turtle,sheep,rabbit,devil),然后考虑这些类之间的组合对性能的影响。文章使用 Cache访问次数、程序单独运行时的 Cache失效次数以及保持失效率在定值以下所需的 Cache大小作为分类的依据。该分类算法只考虑不同类程序的相互影响问题,同类程序之间的影响并未特别考虑。3)Pain 模型 Zhuravlev 4提出了 pain 模型。Pain 主要考虑了两个因素:Cache sensitivity
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多核 处理器 共享 资源管理 技术研究
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内