操作系统对多核处理器支持方法.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统对多核处理器的支持方法 mcp08@yahoo.cn dlut08 5/6/7周一晚 outline 并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术 平台虚拟化 资源虚拟化 outline 并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术 平台虚拟化 资源虚拟化 多核操作系统中进程的分配与调度 进程的分配将进程分配到合理的物理核上,因为不同的核在共享性和历史运行情况下都是不同的。 有的物理核能够共享二级cache,而有的却是独立的。 进程间数据共享-分配给有共享二级cache的核,提升命中率。 多核下操作系统调度的研究热点 程序的并行研究; 多进程的时间相关性研究; 任务的分配与调度; 缓存的错误共享; 一致性访问研究; 进程间通信; 多处理器核内部资源竞争; 。。。 。。。 任务的分配 单核:只有一个核的资源可以使用-不存在核的任务分配问题; 多核:多个进程如何在各个核中分配? 均匀分配? 一起分配到一个核? 按照一定的算法分配? 受底层系统结构影响 SMP架构-只共享内存 CMP架构-也会共享二级缓存 任务的调度 各个核一致的调度算法 各个核独立的调度算法 进程是否一直运行在同一个核?还是迁移? 怎样调度实时任务和普通任务(优先级不同)? 系统是否要进行负载均衡? 调度策略(单核)-多核呢? 先来先服务FCFS 最短作业优先SJF 优先级调度 轮转法RR 多级队列调度 Linux 2.6内核的调度算法 时间复杂度O(1) (1)系统为每个处理器都维护一个单独的就绪队列 活动的就绪队列:包含当前时间片还有剩余的就绪任务 扩展的就绪队列:包含那些时间片已经用完的,重新分配时间片的就绪任务。 (2)任务的调度是基于优先级调度的 每个处理器上的任务共有140个优先级,每个就绪任务的优先级通过散列函数直接映射到处理器的位图数据结构上,通过位图的find-first-bit可以找到优先级最高的执行 (3)活动就绪队列和扩展就绪队列通过指针转换 (4)负载均衡 一个core的任务结束,转而处理其他最忙core上的任务 若所有core都有任务,则每200ms检查是否均衡 多核调度算法 对任务的分配进行优化。使同一应用程序的任务尽量在一个核上执行,以便达到有共享数据的任务尽量在一个核上面运行,而共享数据量少或者没有的任务在不同核上进行。 对任务的共享数据优化。由于CMP体系结构共享二级缓存,可以考虑改变任务在内存中的数据分布,使任务在执行时尽量增加二级缓存的命中率。 对任务的负载均衡优化。当任务在调度时,出现了负载不均衡,考虑将较忙处理器中与其他任务最不相关的任务迁移,以达到数据的冲突量小。 outline 并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术 平台虚拟化 资源虚拟化 高级编程中断控制器APIC是基于中断控制器分散在两个基础功能单元——本地单元以及I/O单元的分布式体系结构。在多核系统中,多个本地和I/O APIC单元能够作为一个整体通过ICC总线互相操作。 APIC发挥的功能有: 接受来自处理器中断引脚中的内部或外部I/O APIC的中断,然后将这些中断发送给处理器核处理。 在多核处理器系统中,接收发送核内中断消息。 APIC通过中断命令寄存器(ICR)来接收和发送IPI消息,ICR提供如下功能: 发送中断到其他处理器核 允许处理器核转发收到的其不服务的中断到其他处理器核来服务 给处理器核自身发送中断(一次自中断) 传递特殊IPI(核内中断)到其他处理器核,比如启动IPI消息 IPI消息可以用来启动处理器核或者分配工作任务到不同的处理器核 IPI消息能够用来在系统时或者系统执行的广泛功能单元中分发中断到不同的处理器核。 多核高级可编程中断控制器 APIC outline 并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术 平台虚拟化 资源虚拟化 多核下存储管理相对变化较少,主要改进: 为了充分使用多核的运算能力,很多库函数都要做成非阻塞调用方式的,但这样会导致数据冲突或不同步的问题,所以必须保证数据同步机制。 事务内存管理机制:能够协调程序,在并行运行的同时,保证数据的同步。 为了提供内存分配的效率,可以使用多线程内存分配,这样可以提高效率,降低cache冲突,特别有利于空间核时间关联性强的内存操作。 outline 并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术 平台虚拟化 资源虚拟化 虚拟化技术:是指对计算机资源进行的抽象,是在系统、应用或用户与资源进行交互时,对计算机资源的物理特性进行隐藏的一种技术。 分类: (1)平台虚拟化:由指定硬件平台上的宿主软件来实行,为其他软

文档评论(0)

beautyeve + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档