1.4.1调度与中断-IntelSoftware.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.4.1调度与中断-IntelSoftware

1.4.1 度与中断 随着多核处理器的发展,对软件开发有非常大的影响,而且核心的瓶颈在软件上。软件开 发在多核环境下的核心是多线程开发。这个多线程不仅代表了软件实现上多线程,要求在 硬件上也采用多线程技术。可以说多核提供了可以大幅提升性能的机制,多核软件就是可 以真正利用这一特点的策略。只有与多核硬件相适应的软件,才能真正地发挥多核的性能。 多核对软件的要求包括对多核操作系统的要求和对应用软件的要求。 多核操作系统的关注点在于进程的分 和 度。进程的分配将进程分 到合理的物理核上, 因为不同的核在共享性和历史运行情况都是不同的。有的物理核能够共享二级cache ,而有 的却是独立的。如果将有数据共享的进程分配给有共享二级 cache 的核上,将大大提升性 能;反之,就有可能影响性能。进程调度会涉及到比较广泛的问题,比如负载均衡、实时 性等。 面向多核体系结构的操作系统调度目前多核软件的一个热点,其中研究的热点主要有下面 几方面:程序的并行研究;多进程的时间相关性研究;任务的分 与调度;缓存的错误共 享;一致性访问研究;进程间通信;多处理器核内部资源竞争等等。这些探讨相互独立又 相互依赖。考虑一个系统的性能时必须将其中的几点同时加以考虑,有时候对一些点的优 化会 成另一些点的性能下降,需要用程序进行性能优化评测,所以合适的多核系统软件 方案正在形成过程中。 任务的分 是多核时代提出的新概念。在单核时代,没有核的任务分 的问题,一共只有 一个核的资源可被使用。而在多核体系下,有多个核可以被使用。如果系统中有几个进程 需要分 ,是将他们均匀地分配到各个处理器核,还是一起分配到一个处理器核,或是按 照一定的算法进行分 。并且这个分 还受底层系统结构的影响,系统是 SMP 构架还是 CMP 构架,在CMP 构架中会共享二级缓存的核的数量,这是影响分 算法的因子。任务 分配结束后,需要考虑任务 度。对于不同的核,每个处理器核可以有自己独立的调度算 法来执行不同的任务 (实时任务或者交互性任务),也可以使用一致的调度算法。此外,还 可以考虑一个进程上一个时间运行在一个核上,下一个时间片是选择继续运行在这个核上, 还是进行线程迁移;怎样直接 度实时任务和普通任务;系统的核资源是否要进行负载均 衡等等。任务调度是目前研究的热点之一。 在单核处理器中,常见的 度策略有先到先服务 (FCFS ),最短作业调度 (SJF ),优先级 度 (Priority-scheduling algorithm ),轮转法调度(round-robin RR ),多级队列调度(multilevel queue-schedule algorithm )等。例如在Linux 操作系统中对实时任务采取FCFS 和RR 两种 度,普通任务调度采取优先级调度。 对于多核处理器系统的 度,目前还没有明确的标准与规范。由于系统有多个处理器核可 用,必须进行负载分 ,有可能为每个处理器核提供单独的队列。在这种情况下,一个具 有空队列的处理器就会空闲,而另一个处理器会很忙。所以如何处理好负载均衡问题是这 种 度策略的关键问题所在。为了解决这种情况,可以考虑共同就绪队列,所有处理器公 用一个就绪队列。 是这无疑对进程上下文切换、锁的转换增加了执行时间,降低了性能。 另外一种想法就是选择一个处理器来为其他处理器调度,因而创建了主从结构。有的系统 将主从结构作进一步扩展,采用单一处理器来处理所有 度的调度策略、I/O 处理和其他系 统活动只有一个处理器处理访问系统数据,减轻了数据共享需要,然而它的执行效率并不 高,I/O 的执行和处理系统事务的主处理器成为瓶颈。 目前为止,世界上还没有对CMP 体系结构多核操作系统一个成熟的调度算法的实现。虽然 Windows 与Linux 操作系统可以作为CMP 多核体系结构的操作系统, 是它们对多核的支 持并不是直接对CMP 多核体系结构的支持,实际上都是针对SMP 体系的支持。 Linux 操作系统是开源操作系统中的主流,在2.6 内核发布之前,CMP 体系结构并不是市 场中体系结构的主体, 是Linux2.6 内核的调度策略对SMP 支持得很好。Linux SMP 的 度算法已经较为全面,很大程度上解决了资源利用不充分、调度时间长、解内核锁、加内 核锁而引起的过多资源消耗等问题,可作为多核 度的借鉴。 2.6 内核的调度算法的时间复杂度为O (1),只需要常数时间就能够完成任务的调度。具体 实现的原理简要而言是

文档评论(0)

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

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

版权声明书
用户编号:8010045112000002

1亿VIP精品文档

相关文档