当前位置: 首页 > 专利查询>浙江大学专利>正文

多核处理器操作系统负载均衡的实现方法技术方案

技术编号:2825796 阅读:328 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多核处理器操作系统负载均衡的实现方法。是通过对多核处理器操作系统运行时,对负载情况进行检测,并根据检测的负载情况对线程进行分配。本方法实现多核处理器操作系统负载的均衡,从而在多核处理器操作系统上运行的多线程程序能够在操作系统的调度下,多线程均衡的分布在不同的处理器核上,从而提高多处理器核的执行效率。

【技术实现步骤摘要】

本专利技术涉及多核处理器操作系统技术,特别是涉及一种多核处理器操作系统负载均衡的实现方法
技术介绍
摩尔定律已经出现了几十年了,但是近年来随着集成电路晶体管尺寸的不断缩小,在硅片尺寸里面很难再装下更多的晶体元件,集成电路的复杂度不能得到大幅度提升,进而预示着处理器性能得不到大幅度提高。另一方面,处理器的频率已经到了一个瓶颈(Pentium 4最高达到了3.8GHZ,并没有达到预期的4GHz),已经很难再提高,即使可以提高运行频率,所带来的功耗问题也不能解决。因此,为了提升性能,以Intel、AMD、IBM为代表的硬件开发商开始着眼于多核处理器(也称单芯片多处理架构,Chip Multi-Processors,CMP)的开发。新的体系结构的出现,必须有合适的软件匹配才能发挥其更好的性能。多核体系结构性能提升的最基本思想是将任务进行合适的分解,让任务在多个处理器上同时并行。因此,并行计算是多核体系结构最大的特点。目前任务的划分、多线程执行实现的主要瓶颈在软件上,因为多核体系结构要求的多线程不单是在软件程度上实现多线程,而且要在硬件层面上实现多线程。操作系统作为与硬件接触最密切的软件,如何让操作系统更好地发挥多核的性能,是目前研究的一个热点。多处理之间协调工作,并发程度达到尽可能得大,很大程度上依赖于操作系统调度程序对任务的调度和分配。众所周知,操作系统的任务调度包括对实时任务、交互性任务和后台批处理任务的调度。调度的算法可以基于优先级、时间片轮转、任务抢占等。调度解决的主要问题是如何达到资源最充分的利用和系统最大的吞吐量、而花费尽可能少的调度时间。多处理器相较于单核处理器提出了新的调度问题:负载均衡和任务分配。负载均衡指尽可能让所有的处理器都能均衡的占有资源,以达到最大的系统吞吐率;任务分配指系统把任务合理分配到各处理器核上,以达到处理器之间工作量的均衡。在考虑诸多不同的多核体系架构下,探索一种合适的多核处理器调度显得尤为重要。多核系统与单核系统最大的区别是多核系统的并发性。并发性要求系统中所-->有的处理器都能尽量达到最大的吞吐率和资源最大利用率。因此,我们希望每个处理器能均衡地执行任务,负载相同。负载均衡是多核操作系统提出的新问题。在单核操作系统中,只有一个核,不需要考虑负载均衡。多核系统要尽量达到最好的执行性能,需要将任务均匀地分配到每个处理器核上,这里指的均匀,不单单是任务数量的均匀,还包括对系统资源访问均匀、执行时间均匀。任务合理分配的目标是负载均衡。从任务执行的狭义角度来看,任务运行的时间长短、访问资源的时机、请求系统中断等都是不可预见的,任务的执行是动态的。因此负载的均衡不能单方面考虑任务分配,当系统中处理器之间负载发生不均衡时,需要对任务作迁移作为运行时动态平衡,以达到各处理器负载均衡的目的。合理的解决处理器的负载均衡这两个新问题,能够对资源进行更有效合理利用,使任务执行得到最快响应。
技术实现思路
本专利技术的目的在于提供一种多核处理器操作系统负载均衡的实现方法。本专利技术解决其技术问题采用的技术方案如下:1)调度域构建:处理器核初始化的过程中,访问每个处理器核;共享二级缓存的处理器核被划分到同一个调度域当中;这样,就可以形成若干个不同的调度域;2)负载向量计算:使用资源使用率和运行队列长度作为计算负载向量的因子,使用公式(1)计算处理器核的利用率FCPU,其中Tused为处理器运算时间,Tidle为处理器空闲时间,FCPU=Tused/(Tidle+Tused)    (1)使用公式(2)计算负载向量Fload,其中FCPU为处理器核的利用率,利用公式(1)进行计算,Frun-queue为处理器核运行队列的长度;Fload=(FCPU+1)*Frun_queue    (2)3)负载均衡检测:对于处理器核的一个调度域Pset={P1,P2,...,Pn本文档来自技高网
...

【技术保护点】
一种多核处理器操作系统负载均衡的实现方法,其特征在于:1)调度域构建:处理器核初始化的过程中,访问每个处理器核;共享二级缓存的处理器核被划分到同一个调度域当中;这样,就可以形成若干个不同的调度域;2)负载向量计算:   使用资源使用率和运行队列长度作为计算负载向量的因子,使用公式(1)计算处理器核的利用率FCPU,其中Tused为处理器运算时间,Tidle为处理器空闲时间,FCPU=Tused/(Tidle+Tused)(1)使用 公式(2)计算负载向量Fload,其中FCPU为处理器核的利用率,利用公式(1)进行计算,Frun-queue为处理器核运行队列的长度;Fload=(FCPU+1)*Frun_queue(2)3)负载均衡检测:对 于处理器核的一个调度域Pset={P1,P2,…,Pn},其中P1,P2,…,Pn是调度域Pset中的处理器核,对于Pset中的处理器核Pi会去检测该处理器核与其他处理器核是否有负载失衡的状况;每个处理器核都有自己的负载检查,负载检查的时间发生在线程分配、处理器空闲和固定时间间隔;负载均衡检查过程如下:第一步,Pi检测与它在同一个调度域中的处理器核Pj,Pj+1,……,Pj+k,若负载不均衡,则返回负载向量相差最大的处理器核P和Pi负载向量差值正负的标志W,检 查结束;第二步,若同一调度域中的处理器核负载均衡,则去检查其他同层调度域中的负载,同层调度域的检查只需要检查其中任意一个处理器Pm即可;负载不均衡时,返回第一个负载量不平衡的处理器核P和Pi负载差正负的标志W;4)线程分配: 当线程Tnew产生后,分配流程如下:当线程Tnew的状态为可运行后,调用父线程Tparent所在处理器核Pparent的检测负载均衡,若负载均衡,则该线程被进入父进程所在的处理器核的运行队列中;否则,该线程被插到负载最小的处 理器核Pload_least的运行队列中;5)运行时动态负载均衡:对于处理器核的集合Pset,对于任意Pi属于Pset,都有独立的检查负载均衡策略。这里采用的负载均衡检查策略与步骤3)中相同:若Pi有线程运行,负载检 测由Pi隔固定的时间间隔调用;若Pi空闲,则减少时间间隔数,以尽量少的时间间隔进行检测。若所有处理器核都空闲,则调整检查负载均...

【技术特征摘要】
1.一种多核处理器操作系统负载均衡的实现方法,其特征在于:1)调度域构建:处理器核初始化的过程中,访问每个处理器核;共享二级缓存的处理器核被划分到同一个调度域当中;这样,就可以形成若干个不同的调度域;2)负载向量计算:使用资源使用率和运行队列长度作为计算负载向量的因子,使用公式(1)计算处理器核的利用率FCPU,其中Tused为处理器运算时间,Tidle为...

【专利技术属性】
技术研发人员:陈天洲胡威曹明腾施青松严力科谢斌冯德贵王罡蒋冠军王宇杰
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

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

1
相关领域技术
  • 暂无相关专利