当前位置: 首页 > 专利查询>杨槐专利>正文

处理器多进程技术制造技术

技术编号:5926103 阅读:261 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及处理器多进程技术,采用算法实践结合理论分析方法对CMP(处理器多核单芯片)构架下的操作系统进程优化调度进行策略研究,探索在基于Linux系统的高效CMP构架下进程平衡负载的调度算法问题,完成调度算法和调度平衡的模型,实现以该模型为基础的调度Linux内核示范系统。研究对操作Linux系统结合进行CPU特性高性能调度和计算优化有着重大意义,为实现从传统模式SMP到新的模式CMP的转变奠定基础。CMP的结构相对简单,可以直接使用现有的内核处理器,因此开发周期与成本相对较低,结构简单带来的另一个好处是更易获得高的主频。由于多个处理器集成在一块芯片上,且cache共享,处理器之间的通信延迟会明显降低,有利于提高系统的整体性能。

【技术实现步骤摘要】
处理器多进程技术
本专利技术涉及一种处理器多进程技术,尤其是研究CMP系统高效调度的理论与优化 算法,实现基于CMP构架的Linux内核进程调度算法补丁(Patch),在Linux内核上提供一 个针对CMP构架的编译选项。
技术介绍
处理器多核是随着集成电路制造工艺的进步与微处理器体系结构的发展而发展 起来的,在一个芯片上集成了多个相同通用处理器的单芯片对称多处理器(Chip Multi Processors,简称CMP)。最早是由美国斯坦福大学提出的,其思想是在一块芯片内SMP (对 称多处理)架构,且并行执行不同的进程。和目前在服务器领域广泛采用的对称多处理器 (Symmetric Multi-Processor, SMP)结构类似。SMP架构的灵活性比较突出。当半导体工艺提升至0. 18微米以后,线时已经超过 了门延迟,要求微处理器的设计通过划分许多规模更小、局部更好的基本单结构来进行。相 比之下,由于结构CMP已经被划分成多个核来设计,每个核都比较简单,有利于优化设计, 因此更有发展前途。多处理器核可以在芯片内部缓存共享,提高利用率缓存,同时简化并行 系统设计的复杂度,在CMP系统中,位于同一个芯片内部所有处理器内核以平等的身份参 与任务调度和中断处理,共享内存和外部设备,而且也可以共享片内的(部分或全部)高速 缓存。
技术实现思路
本专利技术要解决的技术问题是提供一种处理器多进程技术,它在支持的操作SMP系 统中,每个维护一个自己的CPU就绪进程队列,称为局部任务队列,这样大大降低竞争CPU。为解决上述技术问题,本专利技术所采用技术方案是就绪进程按时间片是否用完分 为active和exired两大类,actve类包括那些时间片没用完、当前可被调度的就绪进程, exired类包括那些时间片已用完的就绪进程。同时,进程按照每类中的其优先级的不同处 于不同的优先级链表中。与现有技术相比,本专利技术的有益效果是保证了运行调度器的时间上限,降低了不 必要的开销;同时在内存中保留更加丰富的信息的做法也加速了定位过程候选进程。当队 列activ中没有可调度进程时,内核简单地对调ctive和exired队列,将原来的exired队 列作为新的acive队列后即可进行调度新一轮。具体实施方式1、支持操作CMP的系统内核的调度系统需要很好地解决进程与CPU之间的“亲和” 问题。一个进程可能在比较频繁CPU之间地迁移,交互式进程(或高优先级的进程)可能 还会在CPU之间不断“跳跃”,这样,每一次迁移之后,都可能造成频繁的内存访问,导致整 体性能下降。2、支持CMP操作系统的调度内核系统尽量使每个进程一直在固定的CPU上执行, 这样可以Cache提高的命中率;但是如果某个CPU的就绪队列过长,不断的进程切换反而造 成命中率Cache的下降,而且还造成其他CPU不能充分发挥效能。3、无论当前CPU是繁忙或空闲,时钟中断每隔一段时间都会启动一次平衡当前系 统负载。当然,CPU —旦当前发现自己的就绪队列为空时,也会主动进行负载平衡。4、引入调度域(stucts checLdmain)的概念,将全体一层一层CPU划分成不同的 区域,每个调度域中的CPU分成若干个CPU,且满足任一 CPU存在于一个组中。每个CPU属 于一个基本的调度(该域至少包括本CPU),但是CPU同时还属于一个或多个调度域。CPU 的调度域通过构成一个单向链表。5、必须满足A.父调度域是子调度域的集;B.每个CPU的最高层调度域必须包括 系统中的处理器。例如在一个CMP支持超线程的系统中,每个逻辑的基本CPU调度域包含所 在传统物理CPU上的全部的逻辑CPU,基本域的每个CPU分组包含一个CPU逻辑;基本调度 域的父调度域是这个系统的最高层调度域,它包含系统中所有的逻辑CPU,该域的每个CPU 分组包含一个物理CPU上的全部CPU逻辑。6、对于操作Linux系统下结构CMP的内核进程调度进行研究,主要在多队列调度、 进程调度的平衡负载和进程队列重新调度三个方面提出比较先进的处理器CMP的进程动 态调度模型、平衡负高效载调度算法模型,CMP系统高效调度的理论与方法,实现从传统模 式SMP到新的模式CMP的转变。权利要求1.一种处理器多进程技术,针对体系CMP结构进行优化算法、操作系统优化调度,从而 充分利用CMP的优势结构,提高计算的性能成为目前在算法和操作系统研究领域的一个热 点问题。2.在将已有的并行算法到CMP迁移构架下,并进行优化;对于采用结构的数据库CMP 系统、桌面系统等的性能进行分析和比较,设计更好的操作系统;设计构架CMP的仿真系 统,以加快对于构架的CMP研究进程3.对于LinuX系统,没有如微软这样的核心厂商进行支持,对于CMP构架下的操作系统 优化的成果还比较少,也比较分散。因此借鉴支持操作系统CMP的关键技术对于设计基于 的操作CMP系统有着非常重要的意义。为了最大限度的发挥CMP的优势构架,提高操作系 统进程调度效率是最能够产生效果的方案。4.所有进程就绪(TASK_RUNNING)被组织到同一个双向链表之中,称为任务全局队列, 调度过程中将此链表中的所有进程,调用计算每一个进程,从中选择权值的进程投入运行。 由于调度要所有就绪进程,因此选择下一个运行进程的时间复杂度是0 (η) (η为就绪进程 的个数)。同时,因为就绪队列是全局性的,对单CPU系统来讲只可能有一个CPU访问这个 队列,而在多处理器CPU结构中,必须通过一个全局的保证同一时刻只有一个CPU进行访 问,这样导致系统中其他的自旋锁等待。全文摘要本专利技术涉及处理器多进程技术,采用算法实践结合理论分析方法对CMP(处理器多核单芯片)构架下的操作系统进程优化调度进行策略研究,探索在基于Linux系统的高效CMP构架下进程平衡负载的调度算法问题,完成调度算法和调度平衡的模型,实现以该模型为基础的调度Linux内核示范系统。研究对操作Linux系统结合进行CPU特性高性能调度和计算优化有着重大意义,为实现从传统模式SMP到新的模式CMP的转变奠定基础。CMP的结构相对简单,可以直接使用现有的内核处理器,因此开发周期与成本相对较低,结构简单带来的另一个好处是更易获得高的主频。由于多个处理器集成在一块芯片上,且cache共享,处理器之间的通信延迟会明显降低,有利于提高系统的整体性能。文档编号G06F9/46GK102110017SQ20091025098公开日2011年6月29日 申请日期2009年12月24日 优先权日2009年12月24日专利技术者杨槐 申请人:杨槐本文档来自技高网...

【技术保护点】
1.一种处理器多进程技术,针对体系CMP结构进行优化算法、操作系统优化调度,从而充分利用CMP的优势结构,提高计算的性能成为目前在算法和操作系统研究领域的一个热点问题。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨槐
申请(专利权)人:杨槐
类型:发明
国别省市:85[中国|重庆]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1