多核处理器的研究
二、操作系统对多核处理器的支持方法
2.虚拟化技术
▪ 虚拟化技术:是指对计算机资源进行的抽象,是在系统、应 用或用户与资源进行交互时,对计算机资源的物理特性进行 隐藏的一种技术。
▪ 分类:
(1)平台虚拟化:由指定硬件平台上的宿主软件来实行,为 其他软件提供一个模拟的计算机环境。其他软件通常都是完 整的操作系统,就像安装在独立的硬件平台上一样运行。
▪ 发展近况:继双核之后,Intel已经在2006年11月推出了4核
产品,AMD也推出了代号为巴塞罗那的4核处理器。目前, 多核处理器的推出越演越烈,在推出了代号为Niagara的8核 处理器之后,Sun公司还计划推出Niagara2处理器。 Intel近 日内声称,明年即将研制推出10核以上的处理器产品。
▪ 目前研究多核多线程处理器存储系统的热点主要有:
▪ ① 通过分析多核多线程处理器的动态指令流特性,研 究多核多线程处理器结构的线程调度策略和指令调度 策略;
▪ ② 多核多线程处理器指令预取技术的研究; ▪ ③ L1 cache、L2 cache、专用cache技术研究; ▪ ④ 多核多线程处理器存储系统仿真模型的研究等。
▪ 中科院计算所进行了低功耗SMT体系结构的研究,围绕高性能、低功耗这两个目 标讨论和探究SMT体系结构的基本思想、设计技术、低功耗考虑以及编译器和操 作系统设计应注意和对待的新问题。
▪ 西北工业大学提出了双路径执行的置信度估计算法DCR算法,提出了线程预构的 思想。
四、多核多线程处理器简介
3.多核多线程处理器存储系统的研究热点
▪ 一对一模型
• 一对一模型把每个用户级线程影射到一个内核级线程。 • 当一个线程阻塞时,其他线程仍然可以运行。
▪ 多对多模型
• 多对多模型将m个用户级线程影射到n个内核级线程,m≥n。 • 用户可以创建所需要的用户级线程,通过分配适当数目的内核级线
程获得并发执行的优势并节省系统资源。
三、多线程简介 4.线程的状态
三、多线程简介
3.多线程的映射模型
▪ 对于实现了用户级线程和内核级线程的操作系统,用户级线 程和内核级线程之间的可以有不同的映射方式:
▪ 多对一模型
• 多对一模型把多个用户级线程映射到一个内核级线程。 • 线程的管理在用户空间实现,所以效率高。 • 当一个线程因调用系统调用被阻塞时,整个进程被阻塞。
▪ 基于片上互连的结构:指每个CPU内核拥有独立的处理 单元和cache,各个CPU核心间通过交叉开火或片上网 路等方式连接在一起,各个CPU核心间通过消息通信。
二、操作系统对多核处理器的支持方法
1.调度与中断
▪ 面向多核体系结构的操作系统调度是目前多核软件的一个热点, 其中主要热点有:程序的并行研究;多进程的时间相关性研究; 任务的分配与调度;缓存的错误共享;一致性访问研究;进程间 通信;多处理器核内部资源竞争等。
▪ 多线程机制的优点:
(1)创建一个线程比创建一个进程的代价小。 (2)线程的切换比进程间切换的代价小。 (3)充分利用多处理器。 (4)数据共享。 (5)快速响应特性。
三、多线程简介
2.用户级线程和内核级线程
▪ 用户级线程:有关线程的所有管理工作都由在用户级实现的线程库来支 持。用户级线程库是用于用户级线程管理的例程包,支持线程的创建、 终止等工作。对于那些内核本身不支持多线程的操作系统,通过用户级 线程库可以使用户获得多线程编程的好处。但由于内核不能感知到用户 级线程的存在,内核仍然以进程为单位进行调度,因而用户级线程的并 行性会受到一定的限制。
一、多核处理器的基本架构
2.片上多核处理器体系结构
▪ 定义:片上多核处理器(Chip Multi-Processor,CMP) 就是将多个计算内核集成在一个处理器芯片中,从而提 高计算能力。
▪ 分类:按计算内核是否对等,CMP可分为同构多核和异 构多核。计算内核相同,地位对等的称为“同构多核”, 现在Intel和AMD主推的双核处理器就是同构多核的; 计算内核不同,地位不对等的称为“异构多核”,异构 多核采用“主处理器+协处理器”的设计,IBM、 SONY等联手推出的Cell处理器就是异构多核处理器的 典范。
就绪
条件满足
调度
切换
阻塞
运行
等待资源
完成
终止
线程状态的转换图
四、多核多线程处理器简介
1.多核多线程处理器
▪ 为了提高指令级和线程级并行性,研究人员曾提出过两
种不同于单核处理器的结构—单片多处理器(CMP)和
同时多线程处理器(SMT) ▪ CMP是指由在单个芯片上的多个处理器核所构成的多处
理器系统。 ▪ SMT结构的基本思想是:在一个时钟周期内发射多个线程
▪ 国际上几所在多核多线程系统研究领域有影响的研究单位:
SUN研究院、美国的Stanford大学、California大学、Pennsylvania大学、 North Carolina 大学、加拿大的Toronto大学、西班牙的Catalonia科技 大学等。
四、多核多线程处理器简介
2.多核多线程处ห้องสมุดไป่ตู้器存储系统研究现状
▪ 内核级线程:内核级线程的所有管理操作都由操作系统内核完成的,内 核保存线程的状态和上下文信息。在多处理器系统上,内核可以分派属 于同一进程的多个线程在多个处理器上运行,提高进程执行的并行度。
▪ 由于需要内核完成线程的创建、调度和管理功能,所以和用户级线程相 比这些操作要慢得多,但是仍然比进程的创建和管理操作要快。市场上 大多数的操作系统,如Windows 2000、Solaris 2、Linux等都支持内核 级线程。
二、操作系统对多核处理器的支持方法
1.调度与中断
▪ 高级编程中断控制器APIC(Advanced Programmable Interrupt Controllers)是基于中断控制器分散在两个基础功能单元——本 地单元以及I/O单元的分布式体系结构。在多核系统中,多个本地 和I/O APIC单元能够作为一个整体通过ICC总线互相操作。
的指令到功能部件上执行,SMT的优势是结合了超标量和 多线程处理器的特点。
四、多核多线程处理器简介
1.多核多线程处理器
▪ 多核多线程处理器是通过支持单片多处理器(CMP)和 同时多线程处理器(SMT)的组合来实现的。多核多线 程处理器由多个简单的同时多线程处理器核构成,它 提供了一种更加简单有效的方法去提高集成度。
▪ 线程有4个基本状态:
• 就绪(ready):线程等待可用的处理器。 • 运行(running):线程正在被执行。 • 阻塞(blocked):线程正在等待某个事件的发生。 • 终止(terminated):线程从起始函数中返回或者调用pthread_exit。
三、多线程简介 4.线程的状态
被创建
▪ 国内对线程级并行的研究:
▪ 国防科技大学进行了一系列关于多线程技术的研究, 提出了前瞻性多线程系统结 构SMA 有机地结合前瞻性执行和多线程技术。
▪ 中国科技大学提出了一种用cache存放线程现场的多线程实现技术,其核心思想 是改造多机系统中的cache 系统,将其分割成两个部分:一部分仍用作原来意义上 的cache ,另一部分则用来存放数个线程的现场。
▪ 提高存储系统性能的问题是处理器性能进一步提高的主 要障碍,学术界和工业界对此都极为关注。由于多核多 线程技术是最近才提出来的新技术,所以相关的研究还 较少。但是,多核多线程技术是通过将CMP(片上多处理) 和SMT(同时多线程)技术的组合来实现的,因此现有的一 些解决CMP和SMT存储访问延迟的技术也可以应用到多核 多线程处理器的设计上去。
(2)资源虚拟化:它是被扩展到具体系统资源的虚拟化,它 涉及资源的合并、划分以及简化的模拟等作用。
三、多线程简介
1.多线程的概念
▪ 线程:它是进程上下文中执行的代码序列,又称为“轻量级”进 程。它负责在单个程序里执行多任务。
▪ 多线程:它是为了使得多个线程并行的工作以完成多项任务,以 提高系统的效率。线程是在同一时间需要完成多项任务的时候被 实现的。
▪ 主要观点3:cache的引入是存储系统中最基本也是最有效的解决 这个问题的方法。
▪ 主要观点4:对于L2 cache,通常有两种结构,私有L2 cache和共 享L2 cache 。
▪ 主要观点5:为了提高处理器资源利用率,减少访存压力,需要 设置一些专用cache 。
THE END
谢谢!
▪ APIC发挥的功能有:
(1)接受来自处理器中断引脚中的内部或外部I/O APIC的中断,然 后将这些中断发送给处理器核处理。
(2)在多核处理器系统中,接收发送核内中断消息。
▪ 多核体系处理器中,必须将中断处理分发给一组核处理。当系统 中有多个核在并行执行时,必须有一个能够接收到的中断分发给 能够提供服务的核的机制。
▪ 在单核处理器中,常见调度策略有先来先服务(FCFS)、最短 作业调度(SJF)等,而对于多核处理器系统调度来讲,目前还 没有明确的标准与规范。如何处理好负载均衡问题是多核处理器 系统调度策略的关键所在。为解决该问题,可以考虑:①共同就 绪队列,是所有处理器公用一个就绪队列;②选择一个处理器来 为其他处理器调度,即创建主从结构。但以上方法都存在很大的 弊端,目前,仍然没有找到十分成熟的CMP调度算法。
多核程序设计
——多核处理器与多线程技术的研究
▪ 一、多核处理器的基本架构 ▪ 二、操作系统对多核处理器的支持方法 ▪ 三、多线程简介 ▪ 四、多核多线程处理器简介
一、多核处理器的基本架构
1.多核芯片
▪ 背景:随着芯片制成工艺的不断进步,从体系结构来看,传
统的处理器体系结构技术已面临瓶颈,晶体管集成度已经过 亿,很难通过提高主频来提升性能;从应用需求来看,日益 复杂的多媒体、科学计算、虚拟化等多个应用领域都呼唤更 为强大的计算能力。在这样的背景下,各主流处理器厂商纷 纷将产品战略从提高芯片的时钟频率转向多线程、多内核。