欢迎来到天天文库
浏览记录
ID:26802015
大小:541.66 KB
页数:26页
时间:2018-11-28
《操作系统对多核处理器支持方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统对多核处理器的支持方法mcp08@yahoo.cndlut085/6/7周一晚outline并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化2UMA(均匀存储访问)模型物理存储器被所有节点共享;所有节点访问任意存储单元的时间相同;发生访存竞争时,仲裁策略平等对待每个节点,即每个节点机会均等;各节点的CPU可带有局部私有高速缓存;外围I/O设备也可以共享,且每个节点有平等的访问权利。当前对称多处理器共享存储并行计算机SMP均采用这种模型(一台机器上多个CPU)3NUMA(非均匀存
2、储访问)模型物理存储器被所有节点共享,任意节点可以直接访问任意内存模块;节点访问内存模块的速度不同,访问本地存储模块的速度一般是访问其它节点内存模块的3倍以上;发生访存竞争时,仲裁策略对节点可能是不等价的;各节点的CPU可带有局部私有高速缓存(cache);外围I/O设备也可以共享,但对各节点是不等价的。SGIOrigin系列并行计算机,采用基于cache目录一致性的非均匀访存模型(CC-NUMA),设计了专门的硬件,保证在任意时刻各节点cache中数据与全局内存数据的一致性。4COMA(全高速缓存存储访问)模型各处理器节点
3、中没有存储层次结构,全部高速缓存组成了全局地址空间;利用分布的高速缓存目录D进行远程高速缓存的访问;COMA中的高速缓存容量一般都大于2级高速缓存容量使用COMA时,数据开始时可以任意分配,因为在运行时它最终会被迁移到要用到它的地方。5NORMA(非远程存储访问)模型所有存储器都是私有的,仅能由其本地处理器访问;基于消息传递的并行计算机,每个节点都是由一台处理器、本地存储器和I/O外设组成的自治计算机。绝大多数NORMA都不支持远程存储器的访问;在DSM(分布式共享内存)中,NORMA就消失了。6构建并行机系统的不同存储结构
4、7outline并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化8多核操作系统中进程的分配与调度进程的分配将进程分配到合理的物理核上,因为不同的核在共享性和历史运行情况下都是不同的。有的物理核能够共享二级cache,而有的却是独立的。进程间数据共享->分配给有共享二级cache的核,提升命中率。9多核下操作系统调度的研究热点程序的并行研究;多进程的时间相关性研究;任务的分配与调度;缓存的错误共享;一致性访问研究;进程间通信;多处理器核内部资源竞争;。。。。。。10任务的分配单核:只有一
5、个核的资源可以使用->不存在核的任务分配问题;多核:多个进程如何在各个核中分配?均匀分配?一起分配到一个核?按照一定的算法分配?受底层系统结构影响SMP架构->只共享内存CMP架构->也会共享二级缓存11任务的调度各个核一致的调度算法各个核独立的调度算法进程是否一直运行在同一个核?还是迁移?怎样调度实时任务和普通任务(优先级不同)?系统是否要进行负载均衡?调度策略(单核)->多核呢?先来先服务FCFS最短作业优先SJF优先级调度轮转法RR多级队列调度12Linux2.6内核的调度算法时间复杂度O(1)(1)系统为每个处理器都
6、维护一个单独的就绪队列活动的就绪队列:包含当前时间片还有剩余的就绪任务扩展的就绪队列:包含那些时间片已经用完的,重新分配时间片的就绪任务。(2)任务的调度是基于优先级调度的每个处理器上的任务共有140个优先级,每个就绪任务的优先级通过散列函数直接映射到处理器的位图数据结构上,通过位图的find-first-bit可以找到优先级最高的执行(3)活动就绪队列和扩展就绪队列通过指针转换(4)负载均衡一个core的任务结束,转而处理其他最忙core上的任务若所有core都有任务,则每200ms检查是否均衡13多核调度算法对任务的分配
7、进行优化。使同一应用程序的任务尽量在一个核上执行,以便达到有共享数据的任务尽量在一个核上面运行,而共享数据量少或者没有的任务在不同核上进行。对任务的共享数据优化。由于CMP体系结构共享二级缓存,可以考虑改变任务在内存中的数据分布,使任务在执行时尽量增加二级缓存的命中率。对任务的负载均衡优化。当任务在调度时,出现了负载不均衡,考虑将较忙处理器中与其他任务最不相关的任务迁移,以达到数据的冲突量小。14outline并行计算机访存模型调度与中断输入输出系统存储管理与文件系统虚拟化技术平台虚拟化资源虚拟化15高级编程中断控制器API
8、C是基于中断控制器分散在两个基础功能单元——本地单元以及I/O单元的分布式体系结构。在多核系统中,多个本地和I/OAPIC单元能够作为一个整体通过ICC总线互相操作。APIC发挥的功能有:接受来自处理器中断引脚中的内部或外部I/OAPIC的中断,然后将这些中断发送给处理器核处理。在多核处理
此文档下载收益归作者所有