网站大量收购闲置独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统对多核处理器的支持方法.ppt

8.1 多核简介 8.2 操作系统对多核处理器的支持方法 8.3 操作系统基于多核平台的优化 8.1 多核简介 8.2 操作系统对多核处理器的支持方法 8.2.1 并行计算机访存模型 8.2.2 调度 8.2.3 中断 8.2.4 存储管理 8.2.5 虚拟化技术 多核操作系统中进程的分配与调度 进程的分配将进程分配到合理的物理核上,因为不同的核在共享性和历史运行情况下都是不同的。 有的物理核能够共享二级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体系结构共享二级缓存,可以考虑改变任务在内存中的数据分布,使任务在执行时尽量增加二级缓存的命中率。 对任务的负载均衡优化。当任务在调度时,出现了负载不均衡,考虑将较忙处理器中与其他任务最不相关的任务迁移,以达到数据的冲突量小。 APIC通过中断命令寄存器(ICR)来接收和发送IPI消息,ICR提供如下功能: 发送中断到其他处理器核 允许处理器核转发收到的其不服务的中断到其他处理器核来服务 给处理器核自身发送中断(一次自中断) 传递特殊IPI(核内中断)到其他处理器核,比如启动IPI消息 IPI消息可以用来启动处理器核或者分配工作任务到不同的处理器核 IPI消息能够用来在系统时或者系统执行的广泛功能单元中分发中断到不同的处理器核。 多核高级可编程中断控制器 APIC 多核下存储管理相对变化较少,主要改进 为了充分使用多核的运算能力,很多库函数都要做成非阻塞调用方式的,但这样会导致数据冲突或不同步的问题,所以必须保证数据同步机制。 事务内存管理机制:能够协调程序,在并行运行的同时,保证数据的同步。 为了提供内存分配的效率,可以使用多线程内存分配,这样可以提高效率,降低cache冲突,特别有利于空间核时间关联性强的内存操作。 虚拟化技术:是指对计算机资源进行的抽象,是在系统、应用或用户与资源进行交互时,对计算机资源的物理特性进行隐藏的一种技术。 分类: (1)平台虚拟化:由指定硬件平台上的宿主软件来实行,为其他软件提供一个模拟的计算机环境。其他软件通常都是完整的操作系统,就像安装在独立的硬件平台上一样运行。 (2)资源虚拟化:它是被扩展到具体系统资源的虚拟化,它涉及资源的合并、划分以及简化的模拟等作用。 平台虚拟化—模拟 模拟:虚拟机模拟完成的硬件,允许针对完全不同的CPU的未经修改的操作系统直接运行。 模拟的实现需要广泛的技术,从状态机到全虚拟平台的动态编译。 这种方法长期以来被用来在新处理器可用之前对软件进行开发。 Virtual PC、QEMU等 平台虚拟化 原始虚拟和全虚拟 虚拟机模拟足够的硬件来保证未修改的为相同CPU设计的操作系统独立运行。 VMware、Win4BSD等 部分虚拟 虚拟机模拟多个但并非所有底层硬件环境,特别是地址空间 这样的环境支持资源共享和进程独立,但是不允许独立的客体操作系统实例 Windows、Linux等 类虚拟 操作系统级虚拟 应用程序虚拟 资

文档评论(0)

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

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

1亿VIP精品文档

相关文档