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