Time
2020.11.11
Summary
Research Objective
多核操作系统
Problem Statement
- 硬件方面多核技术已经发展很快乐,但是位于其上的多核操作系统发展却还很慢。
- 目前,提升单核处理器的性能到达了一定的瓶颈,AMD、IBM、Intel、SUN等公司都开始研究多核处理器或者多核架构设计。
- 多核处理器上的操作系统和软件普遍对多核的支持不甚完美,不能有效的利用多核处理器。
- 多核操作系统的关键问题有4个方面
4.1 所有内核运行一个操作系统的映像还是每个内核根据自己的特点运行不同的操作系统
4.2 如何确定任务的调度机制和策略
4.3 多核环境下,存储器是多个内核共享的,如何解决多内核系统存储器管理的问题
4.4 如何保证多个内核在任务处理过程中的同步
Method(s)
- 通过多核处理器来降低主频,提升指令执行效率。
- 主从式(master-slave)多核操作系统模型:系统从一个主内核启动,主内核负责整个系统的初始化以及创建其他的从内核。运行过程中,只有主内核能够访问系统的所有资源,从内核必须通过主内核来访问系统资源,从内核只能执行自己的用户程序,并且可以直接访问自己的高速缓存。
图2 主从式多核操作系统模型 - multikernel操作系统模型:每个内核运行自己的操作系统,继承了分布式系统的思想,每个内核作为独立单元共同组成一个“网络”,网络中的内核通过消息传递进行通信。
- 多内核调度分为:全局队列调度、局部队列调度和共生队列调度
4.1 全局队列调度:操作系统维持一个全局的任务等待队列,任意一个内核空闲都从中取出任务执行。
4.2 局部队列调度:每个CPU内核维护一个局部的任务等待队列
4.3 共生队列调度:将访问共享资源较多的任务和较少的任务调度到同一时刻执行。
5 多内核任务调度策略:更快内核优先调度(faster core first scheduling)、自适应性能优化算法(reinforcement learning)
5.1 更快内核优先调度(faster core first scheduling):让性能更好的内核优先执行任务,允许线程动态迁移到更快的内核上运行。
5.2 自适应性能优化算法(reinforcement learning):主要针对异构多核,根据系统状态的变化,系统不断学习并找到更优化的调度策略。 - 分层存储器结构HSM(hierar-shical shared memory system):在不同层次存储器之间进行数据映射,以促进内存的并发共享性能。
- 多内核下隐藏存储器访问延迟问题的方法IRP(iterarional retiming with partitioning):通过对内核和存储器的分别调度,使得访问存储器部分的执行时间不会超过处理器部分的执行时间,从而达到隐藏存储器延迟的目的。
- 实现内核同步的方法:自旋锁、读—写锁、屏障锁、信号量、邮箱、消息等
Evaluation
Conclusion
Notes
- 操作系统构建于硬件设备之上,目的在于最大限度发挥硬件的工作性能,同时也受限于硬件设备的工作能力和方式。
- 提高处理器性能的方式有两种
①通过改进制造工艺来提高CPU的主频,但是高主频会带来巨大的功耗,引入严重的漏电流问题(制约CPU主频提高的最重要因素)。
②提高指令的执行效率,也就是提高IPC(instruction per cycle),涉及的方法有指令流水线、超长指
令字、超标量结构、超线程技术等。 - 1974年卡内基梅隆大学第一次提出HYDRA操作系统,可以认为是多核操作系统思想最早的来源。HYDRA内核把“对象”的概念引入操作系统中,将物理上的或者虚拟的资源都当做对象进行处理。
- 2005年成立了多核协会(Multicore Association),不同的工作组负责多核处理器、操作系统、开发调试工具、应用程序等不同类别的研究,指定相关标准。
- 浙江大学2008年设计了一个支持易购多核的嵌入式实时操作系统SmartOSSEK OS-M,实现了多核之间的同步与通信,并设计了一种多核操作系统之上的编程模型。
- 电子科大在2009年实现了在四核处理器PB11MPCore上的操作系统aCoral,改进了位图映射优先级调度算法,提高了多核系统的实时性能。
- 复旦大学联合西安交通大学以及麻省理工学院和微软亚洲研究院在 2008 年共同开发出多核操作系统 Corey,设计思想是“应用程序控制数据的共享”,即通过应用程序控制内核间的共享资源。
- 对内存的访问始终是整个系统性能提升的瓶颈。
- 多内核系统中,一个理想的同步机制包括5个特点:
9.1 细粒度(fine-grain):同步的粒度决定并行系统的并行程度
9.2 低延迟(low-latency):同步机制的延迟相对较少
9.3 自由竞争(contention-free):允许不同的运行元素自由竞争
9.4 可扩展性(scalability):同步机制随着内核数量的增长而扩展
9.5 灵活性(flexibility):同步机制独立于用应用程序 - 目前对多核操作系统的研究方法有:
a. 改进传统操作系统的成果来适应多核体系结构
b. 引入其他领域研究成果(如:面向对象和分布式系统的思想)
c. 重新设计操作系统解决方案
Words
Terminology
- 片上多处理器(CMP)
即在单个芯片上继承了多个处理器单元,每个内核都有自己的逻辑单元、控制单元、中断处理器、运算单元、一级cacahe、二级cache甚至三级cache,cache可以共享或者独有。
图1 多核处理器的典型结构 - 同构多核(homogeneous cores)
即芯片中的多个内核完全相同,地位也对等。 - 异构多核(heterogeneous cores)
即新片中的多个内核不完全相同,地位不对等。将具有不同处理特性的内核集中到一个芯片之上,各个内核可以完成自己擅长的任务,以达到提高整个系统性能的目的。
Sentence
TimtLine