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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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