CN102184125B - 异构多核环境下基于程序行为在线分析的负载均衡方法 - Google Patents
异构多核环境下基于程序行为在线分析的负载均衡方法 Download PDFInfo
- Publication number
- CN102184125B CN102184125B CN2011101470994A CN201110147099A CN102184125B CN 102184125 B CN102184125 B CN 102184125B CN 2011101470994 A CN2011101470994 A CN 2011101470994A CN 201110147099 A CN201110147099 A CN 201110147099A CN 102184125 B CN102184125 B CN 102184125B
- Authority
- CN
- China
- Prior art keywords
- task
- cpu
- ipc
- load
- core
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种异构多核环境下基于程序行为在线分析的负载均衡方法,该方法包括以下四个方面:兼容现有调度域模型的异构多核环境、任务特征的动态监测、逻辑CPU负载计算以及异构和程序行为感知的负载均衡策略。本发明与现有操作系统调度策略完全兼容,算法在真实软硬件平台上测试,简洁而高效,适宜推广使用。
Description
技术领域
本发明公开了一种异构多核环境下基于程序行为在线分析的负载均衡方法,涉及计算机操作系统领域。属于计算机技术领域。
背景技术
随着处理器性能和速度的不断提高,功耗和散热成为未来高性能系统设计的重要挑战。功耗的增加和热量不仅带来更高的热封装及散热成本,而且增加了出现故障的可能性。指令级并行已经力不从心,结构设计人员开始转向线程级并行(TLP)的研究,多核处理器就是这一研究的产物。随着研究的深入,研究人员发现,同样一个并行程序,在功耗与面积相同的前提下,在数量较多的简单核上运行比在数量较少的复杂核上运行效率要高。同时也发现,程序的行为具有多样性,表现在两个方面,一是TLP的多样性,二是微体系结构特征的多样性。所谓TLP的多样性是指既有串行程序,又有并行程序,并行程序中串行部分所占比例也有多有少。所谓微体系结构特征的多样性是指程序大致可分为三类,cpu-bound、memory-bound、I/O-bound。cpu-bound指程序具有很高指令级并行度和数据局部性,这类程序CPU利用率很高,而memory-bound和I/O-bound程序(为叙述方便,下文只提及memory-bound)却存在访存延迟和I/O延迟,使得CPU利用率不高,如果在快核上运行,性能提升不明显却浪费了功耗,如果在慢核上运行,性能不降或下降很少但节省了功耗。于是,研究人员认为,如果在多核处理器中引入不对称性,分别迎合不同属性的应用程序,将是降低功耗、提高功效的有效方法,这种引入了不对称性的多核处理器,称之为异构多核处理器(Heterogeneous CMP)或非对称多核处理器(Asymmetric CMP)。
由于现有的操作系统不支持异构,因而还看不到单指令集的异构多核处理器,但HP、Intel以及部分大学都在积极进行异构感知的操作系统研究。
研究的核心在于如何将线程合理的分配到最佳的核上运行。但实现这种合理的映射除了知道核的属性外,还要清楚线程的属性,传统调度器丝毫没有考虑到程序行为的差异,而如何将程序行为分析与操作系统调度有机结合是另一个必须解决的关键问题,信息是否准确、运行时开销、对程序员是否透明是考虑的重点。最后就是负载均衡调度策略,由于频率的差异,CPU的负载需要重新折算,在迁移时,还要考虑目标core的属性与待迁移线程是否符合前面叙述的规则。
美国加州大学圣迭戈分校的R.Kumar博士[1]提出的动态分析算法是把程序在每个核上试探性运行一小段时间,根据试探运行期间采样的数据找出最优的核,从而把线程调度上去。显然,这种试探运行的方法引入了大量开销,可扩展性差。来自Intel的Tong li博士通过修改Linux操作系统中与负载均衡相关的函数[2]来实现异构感知,但没有考虑线程迁移时程序行为的差异,同时,完全改变了Linux内核现有的调度机制,调度域的作用也无法体现出来。
来自Intel的Koufaty等人提出用内部和外部延迟来估算bias,作为调度依据。但作者使用了四个性能计数器来进行事件采样计数,包括提交的指令数、片外请求、微操作延迟周期数和资源延迟。对于性能计数器少于四个的处理器核无法运行该调度算法。
Fedorova的研究小组给出了一个综合的调度算法[3]。算法的核心在于将程序的微体系结构差异和程序的线程级并行性同时加以考虑。这种方法看似完美,但增加了调度算法的复杂性。在内核中,线程是最小的调度单位,操作系统很难识别出正在调度执行的代码是程序的串行部分还是并行部分。更为重要的是,这不符合调度器应该简单而高效的原则。
[1]R.Kumar,D.M.Tullsen,and N.P.Jouppi,“面向异构多核处理器的核心体系结构优化”,第15届并行体系结构与编译技术国际学术会议论文集,2006,32页
[2]T.Li,D.Baumberger,D.A.Koufaty,and S.Hahn,“面向性能不对称多核体系结构的有效操作系统调度”,2007年ACM/IEEE超级计算国际学术会议论文集,2007.
[3]J.C.Saez,M.Prieto,A.Fedorova,and S.Blagodurov,“一种面向不对称多核系统的综合调度器”,第15届计算机系统欧洲国际会议论文集,2010,139页-152页.
Linux2.6内核引入了调度域模型,这种层次化的结构模型最显著的优势在于它可以根据不同级别的调度域,以微小开销保证域内所有调度组负载的平衡,即负载均衡。该负载均衡的不足之处在于:
1.没有考虑到CPU频率与负载的正比例关系,即频率越高的CPU,其负载能力越强,反之亦然。因此更高频率的CPU应当承担更多的负载。
2.没有考虑任务本身的特性。一个任务占用的CPU时间占任务完成时间的比重越大,其cpu-bound的特性就越明显,反之依然。因此在负载均衡时应当尽量将cpu-bound类型的任务分配到频率更高的CPU上,将memory-bound类型的任务分配到频率更低的CPU上。
发明内容
本发明针对上述问题,实现了一种异构多核环境下基于程序行为在线分析的负载均衡方法。主要思路为:构建真实的异构多核环境,依据逻辑CPU的频率和其运行队列上的任务的特性计算该逻辑CPU的负载值,并对负载值进行动态更新。任务迁移时,依据目标逻辑CPU的频率和被迁移任务的特性共同决定任务到逻辑CPU的匹配。
本发明一种异构多核环境下基于程序行为在线分析的负载均衡方法,具体设计如下:
(一)兼容现有调度域模型的异构多核环境
现有的负载均衡方法是在一个调度域内的调度组之间进行的,这充分考虑了存储层次对迁移开销的影响,通常的原则是:先逻辑CPU,后物理core,最后是物理CPU;本发明所涉及的异构多核环境是针对逻辑CPU而言的,即如果处理器支持同时多线程(SMT),则将各逻辑CPU设定为不同频率;如果不支持同时超线程,则将各物理核设定为不同频率。具体实现方法是在内核中定义NR_CPUS个元素的数组amp_factor,每个元素存储对应CPU的频率因子和标志位。其中频率因子是CPU频率的比例系数,用于CPU的负载计算;标志位用于任务迁移时确定应向该CPU优先迁移哪种特性的任务。每个任务的IPC值存储在task_struct结构新增的IPC变量中,任务迁移时,首先判断目标逻辑CPU是快核还是慢核,如果是快核,则迁移允许被迁移的IPC最大的任务,如果是慢核,则迁移允许被迁移的IPC最小的任务。
本发明的设计能够保证与原有的调度域模型完全兼容,同时,负载的修改是针对最底层(逻辑CPU层)进行的,这样保证了调度组的负载也得到一致性的改变。
由于目前还没有商用的单指令级的异构多核处理器,因此,无法在启动时获取频率的差异,只能在启动后使用Dominik Brodowski开发的cpufreq驱动通过sysfs修改CPU的频率来搭建频率不对称的性能异构多核环境,要求CPU具有EIST(Enhanced Intel SpeedStep Technology)或DBS(Demand Based Switching)特征(特指Intel多核处理器)或PowerNow特征(特指AMD多核处理器),cpufreq驱动已经加入了Linux 2.6内核,只需要在内核配置时选中以将其编译进内核映像文件中。
(二)任务特征的动态监控
任务的特征识别是为了对任务进行分类,而任务的类别以及目标核的快慢又是本发明需要考虑的两个新的要素。即如果目标核为快核,则优先迁移cpu-bound程序,如果目标核为慢核,则优先迁移memory-bound任务或者I/O-bound任务。如何界定一个任务是cpu-bound还是memory-bound任务?标准有很多,如缓存失效率(cache miss rate)、每个时钟周期的指令数(IPC)、性能加速比(Speedup)等等。本发明使用IPC作为界定标准,原因在于:1)IPC可以通过CPU提供的硬件性能计数器在任务运行过程中获得;2)IPC基本上能够较为准确的界定一个任务的分类;3)当不同的核之间仅存在频率差异时,同一段代码在这些核上运行的IPC相同。
由于现代微处理器提供的硬件性能计数器数量有限,每个任务必须分时使用这些计数器来获取IPC。如Intel P6系列,每个核只有两个事件设置寄存器和两个事件计数器;AMDK7/K8系列提供了四个事件设置寄存器和四个事件计数器,而内核中需要对每一个任务的IPC进行计数。另外,如果在任务运行前获取IPC,这是一个平均值,不能准确反映出较大规模应用程序不同阶段IPC的差异。为解决上述问题,本发明使用Mikael Pettersson开发的Linux Performance-MonitoringCounters Driver(简称为perfctr),其优势在于实现了为每个任务虚拟出一套硬件性能计数器的功能,称为“Virtual”机制。Virtual的开销很小,它的工作原理是:在任务切换的时刻,将硬件性能计数器记录的特定事件发生次数存入前一个任务的虚拟硬件计数器vperfctr结构中,切换后将后一个任务的vperfctr中保存的信息载入计数器,继续监控该任务。但该驱动是面向用户的,无法在内核层直接使用;为此,本发明做了以下修改或补充:
1)在内核中增加vperfctr结构的初始化方法,将计数事件设置为“RetiredInstructions”,在任务创建时调用。
2)对于Intel T5550处理器,原驱动程序中使用kmalloc()函数为vperfctr结构开辟内存空间,开销太大,现改用SLAB高速缓存;对于64位AMD Opteron 2350处理器,则不需要修改。
3)将部分声明为static的函数改为全局函数。
4)在进程描述符中加入成员变量“IPC”,并在每次任务切换时更新上一个任务的IPC值,该值由事件″Retired Instructions″的计数值与程序运行的时钟数共同确定。
5)调度是针对未来的程序段进行的,但未来程序段的IPC只能通过现在和历史的IPC进行预测。本发明采用的预测方法为:将任务IPC的历史值和当前值分别乘以不同的权重,再累加相加,得到任务IPC的预测值,公式如(1)所示:
a*before(IPC)+(1-a)*current(IPC) (1)
式(1)中,a为IPC历史值的权重,(1-a)为IPC当前值的权重。
(三)逻辑CPU负载计算
在异构多核环境下,每个逻辑CPU的负载不能仍为其上运行队列任务负载的总和,还应考虑到每个逻辑CPU频率的差异。在本发明中,计算逻辑CPU的负载按照如下方式计算:
当任务迁入逻辑CPU运行队列时,运行队列的负载等于原负载加上迁入任务的负载乘以本地CPU的频率因子;
当任务迁出逻辑CPU运行队列时,运行队列的负载等于原负载减去迁出任务的负载乘以本地CPU的频率因子;
频率因子的计算方法如下:我们以频率最快的逻辑CPU为基准,其频率因子定义为1,则慢核的频率因子为:快核的频率*S/慢核的频率,其中S定义为一常数,如0.85,主要是考虑到CPU的运算效率还受到cache大小、访存延迟等其他因素的影响。
可以看出,频率高的核频率因子小。因此,对于同样的负载,快核上的任务数要比慢核多,意味着快核可以承担更多的任务。
(四)异构和程序行为感知的负载均衡策略
在负载均衡时,将cpu-bound类型的任务迁移到高频率的CPU上运行,将memory-bound类型的任务迁移到低频率的CPU上运行,频率介于二者之间的CPU按照原有任务迁移规则迁移任务。
为了不破坏原有调度器的公平性、及时性和实时性,对原有调度器的任务迁移顺序和规则只进行较小程度的修改。
具体为:原有调度器是从某一优先级链表尾部往头部遍历选择允许迁移的任务,现在的规则为,选择某一优先级链表IPC最大或最小的任务(依据目标核是快核还是慢核而定),然后选择该优先级链表中IPC次大或次小的任务,以此类推,直到需要迁移的任务负载满足要求。
本发明一种异构多核环境下基于程序行为在线分析的负载均衡方法,其优点及功效在于:
异构感知,计算每个核的负载时考虑了时钟频率的差异,从而让频率高的核能够承担更多的任务;
程序行为感知,在迁移任务时根据目标核是快核还是慢核来选择最适合在该核上运行的任务,如果程序行为不感知,则是直接从过期队列存在任务的最高优先级的链表尾选择任务,有可能选择的是适合在目标核上运行的任务,也可能选择的是不适合在目标核上运行的任务,因此,服务质量和性能得不到保证,时好时坏。
实验显示,本发明提出的方法在绝大多数情况下都要优于传统的异构和程序行为不感知的调度器。
附图说明
图1异构多核环境下基于程序行为在线分析的负载均衡方法总体框架图
图2异构和程序感知的负载均衡方法流程图
具体实施方式
下面结合附图,对本发明的技术方案做进一步的说明。
本发明一种异构多核环境下基于程序行为在线分析的负载均衡方法,总体框架如图1所示,适用于Linux-2.6.18/Linux-2.6.21内核。具体实现方法如下:
1.兼容现有调度域模型的异构多核环境
定义结构体amp:该结构体用于存储异构逻辑CPU的频率因子和标志位。频率因子是逻辑CPU频率的比例系数,用于CPU的负载计算;标志位用于任务迁移时判断该逻辑CPU适合迁移哪种特性(cpu-intensive或者memory/IO-intensive)的任务。
在内核在中定义元素个数为NR_CPUS的amp全局数组amp_factor用于存储每个异构逻辑CPU的上述两个信息。该数组的初始化由使用者定义,并放到init/main.c中,在系统启动后,通过cpufreq驱动将真实频率比例调整到使用者定义的频率比例。目前,本发明只支持能够真实修改不同CPU频率x86_64体系结构处理器,如Quad-Core AMD Opteron(tm)Processor 2350。
2.任务特性的动态监控
本发明使用的PMC驱动为perfctr-2.6.x,并对该驱动做了如下修改和补充:
●在内核中增加vperfctr结构的初始化方法,将计数事件设置为″RetiredInstructions″,放置在copy_thread()中[arch/x86_64/kernel/process.c]。
●将函数get_empty_vperfctr(void)和函数put_vperfctr(structvperfctr*perfctr)[drivers/perfctr/virtual.c]从static改为全局函数。并修改get_empty_vperfctr,加入vperfctr结构的清零操作。
最后,在进程描述符task_struct[include/linux/sched.h]中加入成员变量“IPC”,这个值是由事件“Retired Instructions”的计数值PMC除以程序由开始运行到现在的时间戳TSC得到的。
在每次任务切换时更新上一个任务的IPC值,即预测下一个时间片该任务的IPC,预测方法为:将任务IPC的历史值和当前值分别乘以不同的权重,再将结果累加,得到任务IPC的预测值,如公式(1)所示:
a*before(IPC)+(1-a)*current(IPC) (1)
其中,a为IPC历史值的权重,(1-a)为IPC当前值的权重,将该操作放到宏定义switch_to()中[include/asm/system.h]。
3.逻辑CPU负载计算
在函数inc_raw_weighted_load()和dec_raw_weighted_load()[kernel/sched.c]中,将运行队列的负载raw_weighted_load乘以该运行队列所在逻辑CPU的频率因子,即在任务进出队列更新负载时加入对异构逻辑CPU频率的考虑。
4.异构和程序行为感知的负载均衡策略
修改任务迁移函数move_tasks()[kernel/sched.c],在任务迁移过程中加入对CPU频率和任务IPC的考虑,同时不改变原有任务迁移规则,本发明实现的任务迁移规则为(图2所示):
●如果目标CPU被标记为“频率最大”,则按照先过期队列后活动队列,先高优先级后低优先级,先链表尾部后链表头部的顺序寻找待迁移任务,但此时需要考虑待迁移任务是否是该优先级链表中IPC最大的,因此,需要对整个链表进行遍历,找出IPC最大的任务进行迁移,如果还没有达到需要迁移的最大负载量,且该链表还有满足条件的可迁移任务,则重新回到链表的尾部进行遍历。
●如果迁移目标CPU的被标记为“频率最小”,则按照先过期队列后活动队列,先高优先级后低优先级,先链表尾部后链表头部的顺序寻找待迁移任务,但此时需要考虑待迁移任务是否是该优先级链表中IPC最小的,因此,需要对整个链表进行遍历,找出IPC最大的任务进行迁移,如果还没有达到需要迁移的最大负载量,且该链表还有满足条件的可迁移任务,则重新回到链表的尾部进行遍历。
●如果迁移目标CPU的被标记为“普通CPU”,则按照原有Linux任务迁移规则进行任务迁移。
Claims (1)
1.一种异构多核环境下基于程序行为在线分析的负载均衡方法,其特征在于:该方法具体如下:
(一)兼容现有调度域模型的异构多核环境
现有的负载均衡方法是在一个调度域内的调度组之间进行的,这充分考虑了存储层次对迁移开销的影响,原则是:先逻辑CPU,后物理核,最后是物理CPU;所述的异构多核环境是针对逻辑CPU而言的,即如果处理器支持同时多线程,则将各逻辑CPU设定为不同频率;如果不支持同时多线程,则将各物理核设定为不同频率;具体实现方法是在内核中定义NR_CPUS个元素的数组amp_factor,每个元素存储对应CPU的频率因子和标志位;其中频率因子是CPU频率的比例系数,用于CPU的负载计算;标志位用于任务迁移时确定应向该CPU优先迁移哪种特性的任务;每个任务的IPC值存储在task_struct结构新增的IPC变量中,任务迁移时,首先判断目标逻辑CPU是快核还是慢核,如果是快核,则迁移允许被迁移的IPC最大的任务,如果是慢核,则迁移允许被迁移的IPC最小的任务;
(二)任务特征的动态监控
任务的特征识别是为了对任务进行分类,而任务的类别以及目标核的快慢又是需要考虑的两个新的要素,即如果目标核为快核,则优先迁移cpu-bound程序,如果目标核为慢核,则优先迁移memory-bound任务或者I/O-bound任务;
这里具体使用“每个时钟周期的指令数,即IPC”来界定一个任务是cpu-bound任务还是memory-bound或I/O-bound任务;
由于现代微处理器提供的硬件性能计数器数量有限,每个任务必须分时使用这些计数器来获取IPC;需做以下修改或补充:
1)在内核中增加vperfctr结构的初始化方法,将计数事件设置为“RetiredInstructions”,在任务创建时调用;
2)对于Intel T5550处理器,原驱动程序中使用kmalloc()函数为vperfctr结构开辟内存空间,开销太大,现改用SLAB高速缓存;对于64位AMD Opteron2350处理器,则不需要修改;
3)将部分声明为static的函数改为全局函数;
4)在进程描述符中加入成员变量“IPC”,并在每次任务切换时更新上一个任务的IPC值,该值由事件"Retired Instructions"的计数值与程序运行的时钟数共同确定;
5)调度是针对未来的程序段进行的,但未来程序段的IPC只能通过现在和历史的IPC进行预测;具体的预测方法为:将任务IPC的历史值和当前值分别乘以不同的权重,再累加相加,得到任务IPC的预测值,公式如(1)所示:
a*before(IPC)+(1-a)*current(IPC) (1)
公式(1)中,a为IPC历史值的权重,(1-a)为IPC当前值的权重;
(三)逻辑CPU负载计算
在异构多核环境下,每个逻辑CPU的负载不能仍为其上运行队列任务负载的总和,还应考虑到每个逻辑CPU频率的差异,则计算逻辑CPU的负载按照如下方式计算:
当任务迁入逻辑CPU运行队列时,运行队列的负载等于原负载加上迁入任务的负载乘以本地CPU的频率因子;
当任务迁出逻辑CPU运行队列时,运行队列的负载等于原负载减去迁出任务的负载乘以本地CPU的频率因子;
(四)异构和程序行为感知的负载均衡策略
在负载均衡时,将cpu-bound类型的任务迁移到高频率的CPU上运行,将memory-bound类型或I/O-bound类型的任务迁移到低频率的CPU上运行,频率介于二者之间的CPU按照原有任务迁移规则迁移任务;
为了不破坏原有调度器的公平性、及时性和实时性,对原有调度器的任务迁移顺序和规则只进行较小程度的修改:具体为:原有调度器是从某一优先级链表尾部往头部遍历选择允许迁移的任务,现在的规则为,选择某一优先级链表IPC最大或最小的任务,然后选择该优先级链表中IPC次大或次小的任务,以此类推,直到需要迁移的任务负载满足要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101470994A CN102184125B (zh) | 2011-06-02 | 2011-06-02 | 异构多核环境下基于程序行为在线分析的负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101470994A CN102184125B (zh) | 2011-06-02 | 2011-06-02 | 异构多核环境下基于程序行为在线分析的负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102184125A CN102184125A (zh) | 2011-09-14 |
CN102184125B true CN102184125B (zh) | 2013-11-13 |
Family
ID=44570305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101470994A Expired - Fee Related CN102184125B (zh) | 2011-06-02 | 2011-06-02 | 异构多核环境下基于程序行为在线分析的负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102184125B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360313B (zh) * | 2011-09-29 | 2014-03-26 | 中国科学技术大学苏州研究院 | 片上异构多核计算平台的性能加速方法 |
JP5799797B2 (ja) * | 2011-12-21 | 2015-10-28 | 富士通株式会社 | 算出方法、算出プログラム及びコンピュータ |
US8621479B2 (en) * | 2012-01-05 | 2013-12-31 | The Boeing Company | System and method for selecting task allocation method based on load balancing and core affinity metrics |
US8843894B2 (en) * | 2012-03-12 | 2014-09-23 | International Business Machines Corporation | Preferential execution of method calls in hybrid systems |
CN102681889B (zh) * | 2012-04-27 | 2015-01-07 | 电子科技大学 | 一种云计算开放平台的调度方法 |
CN102841815B (zh) * | 2012-07-12 | 2014-07-09 | 北京航空航天大学 | 一种numa体系结构自适应的进程分类绑定方法 |
CN103677997B (zh) * | 2012-09-21 | 2017-04-12 | 宏达国际电子股份有限公司 | 多核心装置以及其多线程调度方法 |
US9632822B2 (en) | 2012-09-21 | 2017-04-25 | Htc Corporation | Multi-core device and multi-thread scheduling method thereof |
CN102866912A (zh) * | 2012-10-16 | 2013-01-09 | 首都师范大学 | 一种单指令集异构多核系统静态任务调度方法 |
CN103729248B (zh) | 2012-10-16 | 2017-12-15 | 华为技术有限公司 | 一种基于缓存感知的确定待迁移任务的方法和装置 |
CN103455132A (zh) * | 2013-08-20 | 2013-12-18 | 西安电子科技大学 | 基于硬件性能计数器的嵌入式系统功耗估算方法 |
CN104866379B (zh) * | 2014-02-24 | 2019-06-14 | 中兴通讯股份有限公司 | 一种多核处理器调度方法、装置及终端 |
CN104199777B (zh) * | 2014-09-11 | 2017-10-03 | 福州瑞芯微电子股份有限公司 | 一种中央处理器系统验证方法及装置 |
CN106033374A (zh) * | 2015-03-13 | 2016-10-19 | 西安酷派软件科技有限公司 | 在多系统中分配多核中央处理器的方法、装置及终端 |
CN104820618B (zh) * | 2015-04-24 | 2018-09-07 | 华为技术有限公司 | 一种任务调度方法、任务调度装置及多核系统 |
CN105700959B (zh) * | 2016-01-13 | 2019-02-26 | 南京邮电大学 | 一种面向多核平台的多线程划分及静态均衡调度方法 |
WO2018018427A1 (zh) * | 2016-07-26 | 2018-02-01 | 张升泽 | 基于多内核芯片的多任务调度方法及系统 |
CN106789447B (zh) * | 2017-02-20 | 2019-11-26 | 成都欧飞凌通讯技术有限公司 | 一种多核中实现超有限自动机图变更时不丢包的方法 |
CN107066326A (zh) * | 2017-03-27 | 2017-08-18 | 深圳市金立通信设备有限公司 | 一种调度任务的方法及终端 |
CN106990922A (zh) * | 2017-03-28 | 2017-07-28 | 山东超越数控电子有限公司 | 一种基于龙芯平台的系统性能调优方法和装置 |
CN107122245B (zh) * | 2017-04-25 | 2019-06-04 | 上海交通大学 | Gpu任务调度方法及系统 |
CN109766180B (zh) * | 2017-11-09 | 2023-01-17 | 阿里巴巴集团控股有限公司 | 负载均衡方法和装置、存储介质、计算设备及计算系统 |
CN108549574B (zh) * | 2018-03-12 | 2022-03-15 | 深圳市万普拉斯科技有限公司 | 线程调度管理方法、装置、计算机设备和存储介质 |
KR102638531B1 (ko) * | 2018-11-15 | 2024-02-19 | 삼성전자주식회사 | 컴퓨팅 장치 및 컴퓨팅 장치의 동작 방법 |
CN109815019B (zh) * | 2019-02-03 | 2021-06-15 | 普信恒业科技发展(北京)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
CN110297661B (zh) * | 2019-05-21 | 2021-05-11 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于amp构架dsp操作系统的并行计算方法、系统及介质 |
CN110928661B (zh) * | 2019-11-22 | 2023-06-16 | 北京浪潮数据技术有限公司 | 一种线程迁移方法、装置、设备及可读存储介质 |
CN113672391B (zh) * | 2021-08-23 | 2023-11-28 | 烽火通信科技股份有限公司 | 一种基于Kubernetes的并行计算任务调度方法与系统 |
CN115470006B (zh) * | 2022-10-09 | 2023-08-08 | 电子科技大学 | 一种基于微内核的负载均衡方法 |
CN118259735A (zh) * | 2022-12-26 | 2024-06-28 | 华为技术有限公司 | 调频方法、装置、处理器、芯片和计算机设备 |
CN116414542B (zh) * | 2023-06-12 | 2023-11-14 | 宁德时代新能源科技股份有限公司 | 任务调度方法、装置、设备及存储介质 |
CN117215394B (zh) * | 2023-11-07 | 2024-01-23 | 北京数渡信息科技有限公司 | 一种面向多核处理器的片上温度和能耗控制装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080115010A1 (en) * | 2006-11-15 | 2008-05-15 | Rothman Michael A | System and method to establish fine-grained platform control |
CN101013388A (zh) * | 2007-01-26 | 2007-08-08 | 浙江大学 | 面向异构多核体系的进程调度方法 |
KR101425620B1 (ko) * | 2007-12-17 | 2014-07-31 | 삼성전자주식회사 | 멀티 코어 프로세서 기반의 비디오 디코딩 방법 및 장치 |
CN101261591A (zh) * | 2008-04-28 | 2008-09-10 | 艾诺通信系统(苏州)有限责任公司 | 多核dsp系统中自适应的任务调度方法 |
CN101706741B (zh) * | 2009-12-11 | 2012-10-24 | 中国人民解放军国防科学技术大学 | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 |
-
2011
- 2011-06-02 CN CN2011101470994A patent/CN102184125B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102184125A (zh) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184125B (zh) | 异构多核环境下基于程序行为在线分析的负载均衡方法 | |
Bui et al. | Energy efficiency for cloud computing system based on predictive optimization | |
TWI628539B (zh) | 在多核心處理器中執行電源管理 | |
CN102103516B (zh) | 基于虚拟cpu的频率和电压调节 | |
Seo et al. | Energy efficient scheduling of real-time tasks on multicore processors | |
CN108701040A (zh) | 用户级别线程暂停的方法、设备、和指令 | |
CN107209548A (zh) | 在多核处理器中执行功率管理 | |
TWI489266B (zh) | 指定應用程式執行緒的效能狀態之指令 | |
CN107924327A (zh) | 用于多线程处理的系统和方法 | |
Mohamadi Bahram Abadi et al. | Server consolidation techniques in virtualized data centers of cloud environments: a systematic literature review | |
Pupykina et al. | Survey of memory management techniques for hpc and cloud computing | |
Zhao et al. | A survey of GPU multitasking methods supported by hardware architecture | |
Arima et al. | On the convergence of malleability and the HPC PowerStack: exploiting dynamism in over-provisioned and power-constrained HPC systems | |
Horstmann et al. | A framework to design and implement real-time multicore schedulers using machine learning | |
Tarafdar et al. | Multi-criteria scheduling of scientific workflows in the Workflow as a Service platform | |
CN108139929A (zh) | 用于调度多个任务的任务调度程序和方法 | |
CN105930202B (zh) | 一种三阈值的虚拟机迁移方法 | |
Bagein et al. | Energy efficiency for ultrascale systems: Challenges and trends from nesus project | |
Gupta et al. | Artificial neural network based task scheduling for heterogeneous systems | |
Huo et al. | An energy efficient task scheduling scheme for heterogeneous GPU-enhanced clusters | |
Huang et al. | GPU Energy optimization based on task balance scheduling | |
Markovic et al. | Hardware round-robin scheduler for single-isa asymmetric multi-core | |
Bui et al. | Optimizing power consumption in cloud computing based on optimization and predictive analysis | |
Singh et al. | An empirical investigation of task scheduling and VM consolidation schemes in cloud environment | |
Boyer | Improving Resource Utilization in Heterogeneous CPU-GPU Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131113 Termination date: 20150602 |
|
EXPY | Termination of patent right or utility model |