当前位置:
文档之家› 操作系统对多核处理器的支持方法
操作系统对多核处理器的支持方法
虚拟机模拟足够的硬件来保证未修改的为相同CPU 设计的操作系统独立运行。 VMware、Win4BSD等
部分虚拟
虚拟机模拟多个但并非所有底层硬件环境,特别是 地址空间 这样的环境支持资源共享和进程独立,但是不允许 独立的客体操作系统实例 Windows、Linux等
24
平台虚拟化
类虚拟 操作系统级虚拟 应用程序虚拟 ……
(2)任务的调度是基于优先级调度的
每个处理器上的任务共有140个优先级,每个就绪任务的 优先级通过散列函数直接映射到处理器的位图数据结构 上,通过位图的find-first-bit可以找到优先级最高的执行
(3)活动就绪队列和扩展就绪队列通过指针转换 (4)负载均衡
一个core的任务结束,转而处理其他最忙core上的任务 若所有core都有任务,则每200ms检查是否均衡
接受来自处理器中断引脚中的内部或外部I/O APIC的 中断,然后将这些中断发送给处理器核处理。 在多核处理器系统中,接收发送核内中断消息。
多核体系处理器中,必须将中断处理分发给一组核处理。当系统中有 多个核在并行执行时,必须有一个能够接收到的中断分发给能够提供 服务的核的机制。
16
APIC通过中断命令寄存器(ICR)来接收和发 送IPI消息,ICR提供如下功能:
操作系统对多核处理器的支持方法
mcp08@ dlut08 5/6/7周一晚
outline
并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术
平台虚拟化 资源虚拟化
2
UMA(均匀存储访问)模型
物理存储器被所有节点共享; 所有节点访问任意存储单元的时间相同; 发生访存竞争时,仲裁策略平等对待每个节点,即 每个节点机会均等; 各节点的CPU可带有局部私有高速缓存; 外围I/O设备也可以共享,且每个节点有平等的访 问权利。
发送中断到其他处理器核 允许处理器核转发收到的其不服务的中断到其他处 理器核来服务 给处理器核自身发送中断(一次自中断) 传递特殊IPI(核内中断)到其他处理器核,比如启 动IPI消息
IPI消息可以用来启动处理器核或者分配工作任务到不 同的处理器核 IPI消息能够用来在系统时或者系统执行的广泛功能单 元中分发中断到不同的处理器核。
22
平台虚拟化: 平台虚拟化:模拟
模拟:虚拟机模拟完成的硬件,允许针对完全 不同的CPU的未经修改的操作系统直接运行。 模拟的实现需要广泛的技术,从状态机到全虚 拟平台的动态编译。 这种方法长期以来被用来在新处理器可用之前 对软件进行开发。 Virtual PC、QEMU等… …
23
平台虚拟化
原始虚拟和全虚拟
5
NORMA(非远程存储访问)模型
所有存储器都是私有的,仅能由其本地处理器访问;
基于消息传递的并行计算机,每个节点都是由一台处理器、 本地存储器和I/O外设组成的自治计算机。
绝大多数NORMA都不支持远程存储器的访问; 在DSM(分布式共享内存)中,NORMA就消失了。
M P M P
...
M P
M
(IBM SP2,DEC TruCluster Tandem Hymalaya,HP, Microsoft Wolfpack,etc) ( 松散耦合) 多计算机 (多地址空间非共享存储器) (Intel TFLOPS) ( 紧耦合)
(TreadMarks, Wind Tunnel, IVY,Shrimp, etc.)
调度策略(单核)->多核呢?
先来先服务FCFS 最短作业优先SJF 优先级调度 轮转法RR 多级队列调度
12
Linux 2.6内核的调度算法
时间复杂度O(1) (1)系统为每个处理器都维护一个单独的就绪队列
活动的就绪队列:包含当前时间片还有剩余的就绪任务 扩展的就绪队列:包含那些时间片已经用完的,重新分 配时间片的就绪任务。
20
outline
并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术
平台虚拟化 资源虚拟化
21
虚拟化技术:是指对计算机资源进行的抽象, 虚拟化技术:
是在系统、应用或用户与资源进行交互时,对 计算机资源的物理特性进行隐藏的一种技术。
分类: 分类: (1)平台虚拟化:由指定硬件平台上的宿主软件来实行,为其他 平台虚拟化: 平台虚拟化 由指定硬件平台上的宿主软件来实行, 软件提供一个模拟的计算机环境。 软件提供一个模拟的计算机环境。其他软件通常都是完整的操作 系统,就像安装在独立的硬件平台上一样运行。 系统,就像安装在独立的硬件平台上一样运行。 (2)资源虚拟化:它是被扩展到具体系统资源的虚拟化,它涉及 资源虚拟化:它是被扩展到具体系统资源的虚拟化, 资源虚拟化 资源的合并、划分以及简化的模拟等作用。 资源的合并、划分以及简化的模拟等作用。
9
多核下操作系统调度的研究热点
程序的并行研究; 程序的并行研究; 多进程的时间相关性研究; 多进程的时间相关性研究; 任务的分配与调度; 任务的分配与调度; 缓存的错误共享; 缓存的错误共享; 一致性访问研究; 一致性访问研究; 进程间通信; 进程间通信; 多处理器核内部资源竞争; 多处理器核内部资源竞争; 。。。 。。。
P 消息传递互连网络 (网络,环网,超立方, 立方环等)
P
M
M
...
P
...
P M
P M
P M
...
P M
6
构建并行机系统的不同存储结构
(Cray T90) 中央存储器 (Intel SHV,SunFire,DEC 8400, SGI PowerChallenge,IBMR60,etc.) 多处理机 ( 单地址 空间 共享 存储器 ) (KSR-1,DDM) (Stanford Dash, SGI Origin 2000,Sequent NUMA-Q, HP/Convex Exemplar) 分布存储器 (Cray T3E)
节点0 CPU0 CPU1 CPU0 节点n CPU1
cache
cache
cache
cache
hub router
mem
……
hub router
mem
SGI Origin系列并行计算机, 采用基于cache目录一致性 的非均匀访存模型(CC- NUMA),设计了专门的 硬件,保证在任意时刻各 节点cache中数据与全局内 存数据的一致性。
25
资源虚拟化
针对平台虚拟化到具体系统资源的虚拟化的扩 展;涉及资源的合并、划分以及简化的模拟 合并单个资源形成更大的资源或者资源地
RAID:多个磁盘->大的逻辑磁盘 物理储存资源->存储池 >
计算机集群,网格计算和虚拟服务器使用上述 技术将多个具体计算机合并成大型的计算机。 分区是对单一资源划分成同种形式更易于管理 的资源(磁盘空间、网络带宽等) 封装通过创建简化的接口来隐藏资源的复杂性
26
17
多核高级可编程中断控制器 APIC
18
outline
并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术
平台虚拟化 资源虚拟化
19
多核下存储管理相对变化较少,主要改进:
为了充分使用多核的运算能力,很多库函数都要做 成非阻塞调用方式的,但这样会导致数据冲突或不 同步的问题,所以必须保证数据同步机制。 事务内存管理机制:能够协调程序,在并行运行的 同时,保证数据的同步。 为了提供内存分配的效率,可以使用多线程内存分 配,这样可以提高效率,降低cache冲突,特别有 利于空间核时间关联性强的内存操作。
7
outline
并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术
平台虚拟化 资源虚拟化
8
多核操作系统中进程的分配与调度
进程的分配将进程分配到合理的物理核上,因为不 同的核在共享性和历史运行情况下都是不同的。 有的物理核能够共享二级cache,而有的却是独立 的。 进程间数据共享->分配给有共享二级cache的核, 提升命中率。
13
多核调度算法
对任务的分配进行优化。使同一应用程序的任务尽 量在一个核上执行,以便达到有共享数据的任务尽 量在一个核上面运行,而共享数据量少或者没有的 任务在不同核上进行。 对任务的共享数据优化。由于CMP体系结构共享二 级缓存,可以考虑改变任务在内存中的数据分布, 使任务在执行时尽量增加二级缓存的命中率。 对任务的负载均衡优化。当任务在调度时,出现了 负载不均衡,考虑将较忙处理器中与其他任务最不 相关的任务迁移,以达到数据的冲突量小。
14
outline
并行计算机访存模型 调度与中断 输入输出系统 存储管理与文件系统 虚拟化技术
平台虚拟化 资源虚拟化
15
高级编程中断控制器APIC是基于中断控制器分 散在两个基础功能单元——本地单元以及I/O单 元的分布式体系结构。在多核系统中,多个本地 和I/O APIC单元能够作为一个整体通过ICC总线 互相操作。 APIC发挥的功能有: 发挥的功能有: 发挥的功能有
互联网络
4
COMA(全高速缓存存储访问)模型
各处理器节点中没有存储层次结构,全部高速缓存组成 了全局地址空间; 利用分布的高速缓存目录D进行远程高速缓存的访问; COMA中的高速缓存容量一般都大于2级高速缓存容量 使用COMA时,数据开始时可以任意分配,因为在运行 时它最终会被迁移到要用到它的地方。
当前对称多处理 器共享存储并行 计算机SMP均采 用这种模型(一 台机器上多个 CPU)
3
NUMA(非均匀存储访问)模型
物理存储器被所有节点共享,任意节点可以直接访问任意内存模块; 节点访问内存模块的速度不同,访问本地存储模块的速度一般是访问 其它节点内存模块的3倍以上; 发生访存竞争时,仲裁策略对节点可能是不等价的; 各节点的CPU可带有局部私有高速缓存 (cache); 外围I/O设备也可以共享,但对各节点是不等价的。