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

上传人:牧羊曲112 文档编号:6164580 上传时间:2023-10-01 格式:PPT 页数:26 大小:306.50KB
返回 下载 相关 举报
操作系统对多核处理器的支持方法.ppt_第1页
第1页 / 共26页
操作系统对多核处理器的支持方法.ppt_第2页
第2页 / 共26页
操作系统对多核处理器的支持方法.ppt_第3页
第3页 / 共26页
操作系统对多核处理器的支持方法.ppt_第4页
第4页 / 共26页
操作系统对多核处理器的支持方法.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《操作系统对多核处理器的支持方法.ppt》由会员分享,可在线阅读,更多相关《操作系统对多核处理器的支持方法.ppt(26页珍藏版)》请在三一办公上搜索。

1、操作系统对多核处理器的支持方法,dlut085/6/7周一晚,2,outline,并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化,3,UMA(均匀存储访问)模型物理存储器被所有节点共享;所有节点访问任意存储单元的时间相同;发生访存竞争时,仲裁策略平等对待每个节点,即每个节点机会均等;各节点的CPU可带有局部私有高速缓存;外围I/O设备也可以共享,且每个节点有平等的访问权利。,当前对称多处理器共享存储并行计算机SMP均采用这种模型(一台机器上多个CPU),4,NUMA(非均匀存储访问)模型物理存储器被所有节点共享,任意节点可以直接访问任意内存模块;节点访

2、问内存模块的速度不同,访问本地存储模块的速度一般是访问其它节点内存模块的3倍以上;发生访存竞争时,仲裁策略对节点可能是不等价的;各节点的CPU可带有局部私有高速缓存(cache);外围I/O设备也可以共享,但对各节点是不等价的。,SGI Origin系列并行计算机,采用基于cache目录一致性的非均匀访存模型(CCNUMA),设计了专门的硬件,保证在任意时刻各节点cache中数据与全局内存数据的一致性。,5,COMA(全高速缓存存储访问)模型各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间;利用分布的高速缓存目录D进行远程高速缓存的访问;COMA中的高速缓存容量一般都大于2级高速

3、缓存容量使用COMA时,数据开始时可以任意分配,因为在运行时它最终会被迁移到要用到它的地方。,6,NORMA(非远程存储访问)模型所有存储器都是私有的,仅能由其本地处理器访问;基于消息传递的并行计算机,每个节点都是由一台处理器、本地存储器和I/O外设组成的自治计算机。绝大多数NORMA都不支持远程存储器的访问;在DSM(分布式共享内存)中,NORMA就消失了。,7,构建并行机系统的不同存储结构,8,outline,并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化,9,多核操作系统中进程的分配与调度进程的分配将进程分配到合理的物理核上,因为不同的核在共享性

4、和历史运行情况下都是不同的。有的物理核能够共享二级cache,而有的却是独立的。进程间数据共享分配给有共享二级cache的核,提升命中率。,10,多核下操作系统调度的研究热点程序的并行研究;多进程的时间相关性研究;任务的分配与调度;缓存的错误共享;一致性访问研究;进程间通信;多处理器核内部资源竞争;。,11,任务的分配单核:只有一个核的资源可以使用不存在核的任务分配问题;多核:多个进程如何在各个核中分配?均匀分配?一起分配到一个核?按照一定的算法分配?受底层系统结构影响SMP架构只共享内存CMP架构也会共享二级缓存,12,任务的调度各个核一致的调度算法各个核独立的调度算法进程是否一直运行在同一

5、个核?还是迁移?怎样调度实时任务和普通任务(优先级不同)?系统是否要进行负载均衡?调度策略(单核)多核呢?先来先服务FCFS最短作业优先SJF优先级调度轮转法RR多级队列调度,13,Linux 2.6内核的调度算法时间复杂度O(1)(1)系统为每个处理器都维护一个单独的就绪队列活动的就绪队列:包含当前时间片还有剩余的就绪任务扩展的就绪队列:包含那些时间片已经用完的,重新分配时间片的就绪任务。(2)任务的调度是基于优先级调度的每个处理器上的任务共有140个优先级,每个就绪任务的优先级通过散列函数直接映射到处理器的位图数据结构上,通过位图的find-first-bit可以找到优先级最高的执行(3)

6、活动就绪队列和扩展就绪队列通过指针转换(4)负载均衡一个core的任务结束,转而处理其他最忙core上的任务若所有core都有任务,则每200ms检查是否均衡,14,多核调度算法对任务的分配进行优化。使同一应用程序的任务尽量在一个核上执行,以便达到有共享数据的任务尽量在一个核上面运行,而共享数据量少或者没有的任务在不同核上进行。对任务的共享数据优化。由于CMP体系结构共享二级缓存,可以考虑改变任务在内存中的数据分布,使任务在执行时尽量增加二级缓存的命中率。对任务的负载均衡优化。当任务在调度时,出现了负载不均衡,考虑将较忙处理器中与其他任务最不相关的任务迁移,以达到数据的冲突量小。,15,out

7、line,并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化,16,高级编程中断控制器APIC是基于中断控制器分散在两个基础功能单元本地单元以及I/O单元的分布式体系结构。在多核系统中,多个本地和I/O APIC单元能够作为一个整体通过ICC总线互相操作。APIC发挥的功能有:接受来自处理器中断引脚中的内部或外部I/O APIC的中断,然后将这些中断发送给处理器核处理。在多核处理器系统中,接收发送核内中断消息。,多核体系处理器中,必须将中断处理分发给一组核处理。当系统中有多个核在并行执行时,必须有一个能够接收到的中断分发给能够提供服务的核的机制。,17,A

8、PIC通过中断命令寄存器(ICR)来接收和发送IPI消息,ICR提供如下功能:发送中断到其他处理器核允许处理器核转发收到的其不服务的中断到其他处理器核来服务给处理器核自身发送中断(一次自中断)传递特殊IPI(核内中断)到其他处理器核,比如启动IPI消息IPI消息可以用来启动处理器核或者分配工作任务到不同的处理器核IPI消息能够用来在系统时或者系统执行的广泛功能单元中分发中断到不同的处理器核。,18,多核高级可编程中断控制器 APIC,19,outline,并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化,20,多核下存储管理相对变化较少,主要改进:为了充

9、分使用多核的运算能力,很多库函数都要做成非阻塞调用方式的,但这样会导致数据冲突或不同步的问题,所以必须保证数据同步机制。事务内存管理机制:能够协调程序,在并行运行的同时,保证数据的同步。为了提供内存分配的效率,可以使用多线程内存分配,这样可以提高效率,降低cache冲突,特别有利于空间核时间关联性强的内存操作。,21,outline,并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化,22,虚拟化技术:是指对计算机资源进行的抽象,是在系统、应用或用户与资源进行交互时,对计算机资源的物理特性进行隐藏的一种技术。分类:(1)平台虚拟化:由指定硬件平台上的宿主软

10、件来实行,为其他软件提供一个模拟的计算机环境。其他软件通常都是完整的操作系统,就像安装在独立的硬件平台上一样运行。(2)资源虚拟化:它是被扩展到具体系统资源的虚拟化,它涉及资源的合并、划分以及简化的模拟等作用。,23,平台虚拟化:模拟,模拟:虚拟机模拟完成的硬件,允许针对完全不同的CPU的未经修改的操作系统直接运行。模拟的实现需要广泛的技术,从状态机到全虚拟平台的动态编译。这种方法长期以来被用来在新处理器可用之前对软件进行开发。Virtual PC、QEMU等,24,平台虚拟化,原始虚拟和全虚拟虚拟机模拟足够的硬件来保证未修改的为相同CPU设计的操作系统独立运行。VMware、Win4BSD等部分虚拟虚拟机模拟多个但并非所有底层硬件环境,特别是地址空间这样的环境支持资源共享和进程独立,但是不允许独立的客体操作系统实例Windows、Linux等,25,平台虚拟化,类虚拟操作系统级虚拟应用程序虚拟,26,资源虚拟化,针对平台虚拟化到具体系统资源的虚拟化的扩展;涉及资源的合并、划分以及简化的模拟合并单个资源形成更大的资源或者资源地RAID:多个磁盘大的逻辑磁盘物理储存资源存储池计算机集群,网格计算和虚拟服务器使用上述技术将多个具体计算机合并成大型的计算机。分区是对单一资源划分成同种形式更易于管理的资源(磁盘空间、网络带宽等)封装通过创建简化的接口来隐藏资源的复杂性,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号