一种新的多核体系结构中的线程调度算法及其模拟.docxVIP

一种新的多核体系结构中的线程调度算法及其模拟.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
兰州大学2010届硕士学位论文 Ranger和Akhter分别在[6】和[381中研究了多核处理器及其体系结构对程序设计、编写的影响,指出多核编程对程序员来说是~种重大的革命,程序员需要 适应这一趋势。 Rajagopalan等人在f281中试图提出了一种新的多核处理器控制框架,兼顾对 系统的控制和抽象层次。该框架使用用户提供的信息指导线程调度,使程序员可 以比较自由地控制线程。 Zangerl在f501中总结了近些年来对多核体系结构的调度的研究,认为未来出现的内含可能多达100个核的处理器会彻底改变利用共享资源的方式和当前单线程 程序编写的方式。操作系统有责任使用智能的、可配置的调度算法解放程序员,使程序员只专注于业务相关的内容,而不用操心底层的体系结构。 Siddha介绍了Linux内核2.6中的调度器,它能感知到处理器中多核的存 在,从而可以加速各种程序的执行,无论是多线程的还是单线程的。通过感知到 多核,不仅可以提高峰值性能,而且还有节能(Power Saving)的功能。 Kumar在『221中介绍了Completely Fair Scheduler,这一算法可以对于一个执行单元(处理器或核),可以精确模拟出多个并行的虚拟执行单元,从而精确地并行执行其上的任务,这样就可以很准确的计算出任务执行的进度。 1.2 基础知识 ·进程 进程是程序的执行,其中不单包括程序代码,还有当前的运行状态,如程序计数器(PC)和寄存器的内容。另外,一个进程一般还包括一个保存临时数据的栈,和一个保存全局变量的数据区。 程序本身并不是进程,程序是静止的,而进程是运动的,即使两个进程执行 的是同一个程序,它们依然是两个不同的进程,因为他们有不同的程序计数器,不同的寄存器和不同的栈。 ·线程 线程是进程中的一个实体,~个进程可以由多个线程组成。线程不占有系统 资源,它通过进程使用系统中的资源。进程中的线程共享进程所拥有的资源,只有很少的私有资源,如寄存器、栈。 ·多核处理器 多核处理器将两个或多个独立的核心结合在一块集成电路上,其中的核可能共享最高级别的缓存(如Intel Core 2),或者有独立的缓存(如AMD当前 2 兰州大学2010届硕士学位论文 的多核处理器),每个核都可以执行指令。每个核有自己的资源(如执行单 元,寄存器,某些级别的缓存等),有了多个执行单元就允许多个线程并行 执行,进而实现了更大的并行度。一块电路上的核是否共享资源取决于具体 实现。典型的多核实现共享LLC(Last Level Cache)和前端总线资源。多核环 境中资源共享(如LLC,前端总线资源,电源管理状态等)带来了新的挑战。 ·调度程序 当操作系统是多道程序系统时,通常就会有多个任务竞争CPU。当多个进程就绪时,操作系统就必须按照系统的资源分配策略所规定的资源分配算法决定先运行哪一个进程。操作系统中做出这种决定的部分称为调度器 (scheduler),它使用的算法成为调度算法(scheduling algorithm)。 ·启发式算法 启发式算法是相对最有算法提出来的,它使得在可接受的计算费用内去寻找最好的解,但不一定能保证所得解的可行性和最有性,甚至在多数情况下,无法阐释所得解同最优解的近似程度。 在某些情况下,特别是在处理一些现实情况中的问题中,寻找最优解的最有算法的运算时间特别长或计算难度随问题规模的增加而呈现指数增长的情况,此时只能通过启发式算法得到问题的一个可行解,不考虑算法所得解和最有解的偏离程度。常见的贪婪算法(greedy algorithm)即是一种常见的启发式算法。 ·基准测试 基准测试就是使用专门的测试软件或工具,或者通过让实际的应用程序来执行特定的操作,来考察系统或核心部件的性能。优秀的基准测试应当能够正确地模仿用户在实际应用中的使用情况。 基准测试通过运行一个计算机程序,一组测试程序,或进行其他操作,通常进行大量的标准测试和试验,以评估测试对象的相对表现。 ·体系结构 计算机体系结构(Computer Architecture)是程序员所看到的计算机的属性,即概念性结构与功能特性,这是1964年C.M.Amdahl在介绍IBM360系统时提出的。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的,通常所说的计算机体系结构主要指机器语言级机器的系统结构。 CPU(Central Processing Unit)和内存(Memory)是计算机的两个主要组 3 兰州大学2010届硕士学位论文 成部分,内存中保存着数据和指令,CPU从内存中取指令(Fetch)执行,其中有些指令让CPU做运算,有些指令让CPU读写内存中的数据。Cache是一种高速缓冲存储器,是为

您可能关注的文档

文档评论(0)

lh2468lh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档