CN105700959B - 一种面向多核平台的多线程划分及静态均衡调度方法 - Google Patents
一种面向多核平台的多线程划分及静态均衡调度方法 Download PDFInfo
- Publication number
- CN105700959B CN105700959B CN201610022466.0A CN201610022466A CN105700959B CN 105700959 B CN105700959 B CN 105700959B CN 201610022466 A CN201610022466 A CN 201610022466A CN 105700959 B CN105700959 B CN 105700959B
- Authority
- CN
- China
- Prior art keywords
- task
- thread
- blocks
- block
- load
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Abstract
本发明涉及一种面向多核平台的多线程划分及静态均衡调度方法,提出用于评估分解出任务大小的粒度值参数概念,首先根据一定判断条件,判断一个任务是否真正适合多线程并行;其次采用静态调度策略,相比动态调度来说,没有在运行阶段的调度开销;最后,不同于一般的静态调度策略,本发明提出一种启发式静态调度策略,考虑了静态调度时当分解的任务大小差异很大时,会造成各个线程之间负载极不平衡的问题,通过获取的任务块的粒度值,可以将差异很大的任务块合理分配到不同线程上,达到负载均衡。
Description
技术领域
本发明涉及一种面向多核平台的多线程划分及静态均衡调度方法,属于并行计算领域。
背景技术
提高处理器性能一般取决于两个方面:一方面是处理器的体系结构的发展;另一个方面是半导体工艺的不断进步。美国斯坦福大学提出片上多核处理器,为了提高处理器计算能力,将多个内核集成到一个处理器芯片上,而最容易、最简单、最基本的一种实现方法就是多核。早在上世纪末,IBM和惠普就已经提出双核处理器的可行性设计。2005年4月,intel全球同步首发基于多核技术桌面产品Intel Pentium D处理器,正式宣告x86处理器多核心时代来临。
多核技术是在一个处理芯片上包含多个“执行内核”,使处理器能完全并行的执行程序的多线程。如果从操作系统层面来看,多核就是指多个处理器,而每个处理器都独立拥有全部的计算资源。
处理器架构从单核发展到多核架构的过程中,极大地提高了处理器的性能,同时也带来了一些问题。如任务调度和负载均衡问题、节点间的通信、Cache一致性问题以及系统异构性问题等。
其中解决负载均衡问题通常有两种方案,一种是静态调度,另外一种是动态调度。静态调度是指程序在编译阶段,就将循环迭代任务近乎平均分配到各个线程上。而动态调度则要到运行阶段才动态地将任务分配给空闲的线程,动态调度无需过多的关心循环体大小以及循环迭代任务规模,就能获得好的负载均衡性能,同时,也会带来一定的调度开销。而且现有的并行计算过程中,由于每次线程创建撤销以及调度均有一定开销,有些计算任务采用多线程并行后,程序性能会大幅度下降;另外针对适合多线程并行的计算任务,在进行任务调度时,需要为多线程分配任务,静态调度在程序运行前,就将任务分解并近乎平均得分配给各个线程,当分解的任务大小差异很大时,会造成各个线程之间负载极不平衡,影响程序运行性能。
发明内容
本发明所要解决的技术问题是提供一种面向多核平台的多线程划分及静态均衡调度方法,采用全新设计思路,能够主动判断待处理任务是否适合多线程并行处理,并针对多线程并行处理,实现任务调度时多线程之间任务分配的负载均衡,能够有效提高程序运行的性能。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种面向多核平台的多线程划分及静态均衡调度方法,包括如下步骤:
步骤001.初始化系统各线程上所对应的负载G_loadm=0,G_loadm表示系统第m个线程上所对应的负载,m={1,…,M},M表示系统线程的数量;然后针对待处理任务进行划分,获得计算逻辑相互独立的各个任务块,构成任务块集合,并且各个任务块不可进一步划分,并进入步骤002;
步骤002.针对任务块集合,获取各个任务块的计算时间,分别作为对应任务块的粒度值,并进入步骤003;
步骤003.获得任务块集合中所有任务块粒度值所对应的粒度平均值,并判断粒度平均值是否小于等于预设粒度平均值,是则将任务块集合中所有任务块所对应的待处理任务,任意分配至其中一个线程上,由该线程针对该待处理任务进行串行处理,针对该待处理任务的调度策略结束;否则进入步骤004;
步骤004.根据任务块集合中所有任务块粒度值所对应的粒度平均值,获得任务块集合中所有任务块粒度值所对应的粒度值方差,并判断粒度值方差是否小于预设方差阈值,是则进入步骤005;否则进入步骤006;
步骤005.判断系统线程的数量M是否大于等于任务块集合中任务块的数量N,是则将任务块集合中各个任务块一一对应任意分配至各线程当中,由该各线程分别针对所分配的任务块进行处理,针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;否则将第i个任务块分配至第m个线程上,i={m,m+M,…,m+KM},K为大于等于1的整数,m+KM≤N,实现针对任务块集合中各个任务块的分配,由系统各个线程分别针对所分配的任务块进行处理,针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;
步骤006.获得任务块集合中所有任务块粒度值的总和平均分配至系统M个线程的平均值,作为系统单线程负载范围标准值G_threadavg,同时判断任务块集合中各任务块所对应的最大粒度值是否大于G_threadavg,是则获取任务块集合中各任务块所对应的最大粒度值与G_threadavg之间的差值,作为系统单线程负载波动范围值ΔG_thread,然后进入步骤007;否则预设系统单线程负载波动范围值ΔG_thread,然后进入步骤007;
步骤007.提取任务块集合中所有大于系统单线程负载范围标准值G_threadavg的粒度值所对应的各个任务块,将该各个任务块一一对应任意分配至各线程当中,用该各个任务块的粒度值分别更新对应各线程上所对应的负载,并在任务块集合中删除该各个任务块,将任务块集合中剩余各个任务块按其所对应的粒度值由大至小的顺序进行排序,更新任务块集合,获得任务块集合中任务块的数量N',然后进入步骤008;
步骤008.初始化m=1,n'=1,进入步骤009;
步骤009.判断G_loadm+G_Cn'是否小于等于G_threadavg+ΔG_thread,是则将任务块集合中第n'个任务块分配至第m个线程当中,用G_loadm+G_Cn'的值更新第m个线程上所对应的负载G_loadm,并在任务块集合中删除该任务块,更新任务块集合,然后进入步骤011;否则进入步骤010;其中,G_Cn'表示任务块集合中粒度值按由小至大顺序第n'个任务块所对应的粒度值;
步骤010.判断n'是否等于N',是则进入步骤013;否则用n'+1的值更新n',返回步骤009;
步骤011.判断第m个线程上所对应的负载G_loadm是否大于等于G_threadavg-ΔG_thread,是则进入步骤012;否则令n'=1,并返回步骤009;
步骤012.判断m是否等于M,是则针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;否则用m+1的值更新m,并令n'=1,然后返回步骤009;
步骤013.判断第m个线程上所对应任务块的数量是否大于1,是则将第m个线程上最后所分配的任务块退回至任务块集合当中,并更新任务块集合,然后进入步骤014;否则进入步骤015;
步骤014.判断任务块集合中是否存在位于步骤013中所退回任务块下一个位置的任务块,是则将任务块集合中步骤013中所退回任务块的下一个任务块分配至第m个线程当中,用G_loadm加该任务块粒度值的和更新第m个线程上所对应的负载G_loadm,并在任务块集合中删除该任务块,更新任务块集合,然后进入步骤011;否则返回步骤013;
步骤015.判断第m个线程上所对应任务块的数量是否等于1,是则进入步骤016;否则进入步骤017;
步骤016.判断第m个线程上是否存在大于系统单线程负载范围标准值G_threadavg的粒度值所对应的任务块,是则进入步骤017;否则将第m个线程上最后所分配的任务块退回至任务块集合当中,并更新任务块集合,然后进入步骤014;
步骤017.判断m是否大于1,是则用m-1的值更新m,并返回步骤013,否则在预设系统单线程负载波动范围值ΔG_thread基础上,按预设波动范围扩大并更新ΔG_thread,然后返回步骤009。
作为本发明的一种优选技术方案:所述步骤007中,提取任务块集合中所有大于系统单线程负载范围标准值G_threadavg的粒度值所对应的各个任务块,将该各个任务块按其粒度值由大至小的顺序进行排序,将系统各线程按其顺序与该各个任务块依序进行一一对应,将该各个任务块分别分配至对应线程上,用该各个任务块的粒度值分别更新对应各线程上所对应的负载。
本发明所述一种基于面向多核平台的多线程划分及静态均衡调度方法采用以上技术方案与现有技术相比,具有以下技术效果:本专利所设计基于面向多核平台的多线程划分及静态均衡调度方法,提出用于评估分解出任务大小的粒度值参数概念,首先根据一定判断条件,判断一个任务是否真正适合多线程并行;其次采用静态调度策略,相比动态调度来说,没有在运行阶段的调度开销;最后,不同于一般的静态调度策略,本发明提出一种启发式静态调度策略,考虑了静态调度时当分解的任务大小差异很大时,会造成各个线程之间负载极不平衡的问题,通过获取的任务块的粒度值,可以将差异很大的任务块合理分配到不同线程上,达到负载均衡。
附图说明
图1是本发明设计的面向多核平台的多线程划分及静态均衡调度方法的流程图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
如图1所示,本发明所设计的一种面向多核平台的多线程划分及静态均衡调度方法,其特征在于,包括如下步骤:
步骤001.初始化系统各线程上所对应的负载G_loadm=0,G_loadm表示系统第m个线程上所对应的负载,m={1,…,M},M表示系统线程的数量;然后针对待处理任务进行划分,获得计算逻辑相互独立的各个任务块,构成任务块集合,并且各个任务块不可进一步划分,并进入步骤002。
步骤002.针对任务块集合,以各任务块单元为分析对象,将进入和退出各个任务块的源代码位置作为插桩点分别进行插桩,由此可以获取各任务块的计算时间,分别作为对应任务块的粒度值Gn,并进入步骤003;其中,Gn表示任务块集合中第n个任务块的粒度值,n={1,…,N},N表示任务块集合中任务块的数量。
步骤003.根据如下公式:
获得任务块集合中所有任务块粒度值所对应的粒度平均值Granulavg,并判断粒度平均值Granulavg是否小于等于预设粒度平均值,是则表明任务块粒度值过小,由于每次线程创建撤销以及调度均有一定开销,所以该任务块集合中所有任务块所对应的待处理任务不适合多线程并行,则将任务块集合中所有任务块所对应的待处理任务,任意分配至其中一个线程上,由该线程针对该待处理任务进行串行处理,针对该待处理任务的调度策略结束;否则进入步骤004。
步骤004.根据任务块集合中所有任务块粒度值所对应的粒度平均值Granulavg,按如下公式:
获得任务块集合中所有任务块粒度值所对应的粒度值方差SG,并判断粒度值方差SG是否小于预设方差阈值S,是则表明任务块粒度值相差不大,并行切分的任务块比较均匀,则进入步骤005;否则进入步骤006。
步骤005.判断系统线程的数量M是否大于等于任务块集合中任务块的数量N,是则将任务块集合中各个任务块一一对应任意分配至各线程当中,由该各线程分别针对所分配的任务块进行处理,针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;否则将第i个任务块分配至第m个线程上,i={m,m+M,…,m+KM},K为大于等于1的整数,m+KM≤N,实现针对任务块集合中各个任务块的分配,由系统各个线程分别针对所分配的任务块进行处理,针对任务块集合中所有任务块所对应的待处理任务的调度策略结束。
步骤006.按如下公式:
获得任务块集合中所有任务块粒度值的总和平均分配至系统M个线程的平均值,作为系统单线程负载范围标准值G_threadavg,同时判断任务块集合中各任务块所对应的最大粒度值是否大于G_threadavg,是则获取任务块集合中各任务块所对应的最大粒度值与G_threadavg之间的差值,作为系统单线程负载波动范围值ΔG_thread,然后进入步骤007;否则预设系统单线程负载波动范围值ΔG_thread,然后进入步骤007。
步骤007.提取任务块集合中所有大于系统单线程负载范围标准值G_threadavg的粒度值所对应的各个任务块,将该各个任务块按其粒度值由大至小的顺序进行排序,将系统各线程按其顺序与该各个任务块依序进行一一对应,将该各个任务块分别分配至对应线程上,用该各个任务块的粒度值分别更新对应各线程上所对应的负载,并在任务块集合中删除该各个任务块,将任务块集合中剩余各个任务块按其所对应的粒度值由大至小的顺序进行排序,更新任务块集合,获得任务块集合中任务块的数量N',然后进入步骤008。
步骤008.初始化m=1,n'=1,进入步骤009。
步骤009.判断G_loadm+G_Cn'是否小于等于G_threadavg+ΔG_thread,是则将任务块集合中第n'个任务块分配至第m个线程当中,用G_loadm+G_Cn'的值更新第m个线程上所对应的负载G_loadm,并在任务块集合中删除该任务块,更新任务块集合,然后进入步骤011;否则进入步骤010;其中,G_Cn'表示任务块集合中粒度值按由小至大顺序第n'个任务块所对应的粒度值。
步骤010.判断n'是否等于N',是则进入步骤013;否则用n'+1的值更新n',返回步骤009。
步骤011.判断第m个线程上所对应的负载G_loadm是否大于等于G_threadavg-ΔG_thread,是则进入步骤012;否则令n'=1,并返回步骤009。
步骤012.判断m是否等于M,是则针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;否则用m+1的值更新m,并令n'=1,然后返回步骤009。
步骤013.判断第m个线程上所对应任务块的数量是否大于1,是则将第m个线程上最后所分配的任务块退回至任务块集合当中,并更新任务块集合,然后进入步骤014;否则进入步骤015。
步骤014.判断任务块集合中是否存在位于步骤013中所退回任务块下一个位置的任务块,是则将任务块集合中步骤013中所退回任务块的下一个任务块分配至第m个线程当中,用G_loadm加该任务块粒度值的和更新第m个线程上所对应的负载G_loadm,并在任务块集合中删除该任务块,更新任务块集合,然后进入步骤011;否则返回步骤013。
步骤015.判断第m个线程上所对应任务块的数量是否等于1,是则进入步骤016;否则进入步骤017。
步骤016.判断第m个线程上是否存在大于系统单线程负载范围标准值G_threadavg的粒度值所对应的任务块,是则进入步骤017;否则将第m个线程上最后所分配的任务块退回至任务块集合当中,并更新任务块集合,然后进入步骤014。
步骤017.判断m是否大于1,是则用m-1的值更新m,并返回步骤013,否则在预设系统单线程负载波动范围值ΔG_thread基础上,按预设波动范围扩大并更新ΔG_thread,然后返回步骤009。
本专利所设计基于面向多核平台的多线程划分及静态均衡调度方法,提出用于评估分解出任务大小的粒度值参数概念,首先根据一定判断条件,判断一个任务是否真正适合多线程并行;其次采用静态调度策略,相比动态调度来说,没有在运行阶段的调度开销;最后,不同于一般的静态调度策略,本发明提出一种启发式静态调度策略,考虑了静态调度时当分解的任务大小差异很大时,会造成各个线程之间负载极不平衡的问题,通过获取的任务块的粒度值,可以将差异很大的任务块合理分配到不同线程上,达到负载均衡。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (2)
1.一种面向多核平台的多线程划分及静态均衡调度方法,其特征在于,包括如下步骤:
步骤001.初始化系统各线程上所对应的负载G_loadm=0,G_loadm表示系统第m个线程上所对应的负载,m={1,…,M},M表示系统线程的数量;然后针对待处理任务进行划分,获得计算逻辑相互独立的各个任务块,构成任务块集合,并且各个任务块不可进一步划分,并进入步骤002;
步骤002.针对任务块集合,获取各个任务块的计算时间,分别作为对应任务块的粒度值,并进入步骤003;
步骤003.获得任务块集合中所有任务块粒度值所对应的粒度平均值,并判断粒度平均值是否小于等于预设粒度平均值,是则将任务块集合中所有任务块所对应的待处理任务,任意分配至其中一个线程上,由该线程针对该待处理任务进行串行处理,针对该待处理任务的调度策略结束;否则进入步骤004;
步骤004.根据任务块集合中所有任务块粒度值所对应的粒度平均值,获得任务块集合中所有任务块粒度值所对应的粒度值方差,并判断粒度值方差是否小于预设方差阈值,是则进入步骤005;否则进入步骤006;
步骤005.判断系统线程的数量M是否大于等于任务块集合中任务块的数量N,是则将任务块集合中各个任务块一一对应任意分配至各线程当中,由该各线程分别针对所分配的任务块进行处理,针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;否则将第i个任务块分配至第m个线程上,i={m,m+M,…,m+KM},K为大于等于1的整数,m+KM≤N,实现针对任务块集合中各个任务块的分配,由系统各个线程分别针对所分配的任务块进行处理,针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;
步骤006.获得任务块集合中所有任务块粒度值的总和平均分配至系统M个线程的平均值,作为系统单线程负载范围标准值G_threadavg,同时判断任务块集合中各任务块所对应的最大粒度值是否大于G_threadavg,是则获取任务块集合中各任务块所对应的最大粒度值与G_threadavg之间的差值,作为系统单线程负载波动范围值ΔG_thread,然后进入步骤007;否则预设系统单线程负载波动范围值ΔG_thread,然后进入步骤007;
步骤007.提取任务块集合中所有大于系统单线程负载范围标准值G_threadavg的粒度值所对应的各个任务块,将该各个任务块一一对应任意分配至各线程当中,用该各个任务块的粒度值分别更新对应各线程上所对应的负载,并在任务块集合中删除该各个任务块,将任务块集合中剩余各个任务块按其所对应的粒度值由大至小的顺序进行排序,更新任务块集合,获得任务块集合中任务块的数量N',然后进入步骤008;
步骤008.初始化m=1,n'=1,进入步骤009;
步骤009.判断G_loadm+G_Cn'是否小于等于G_threadavg+ΔG_thread,是则将任务块集合中第n'个任务块分配至第m个线程当中,用G_loadm+G_Cn'的值更新第m个线程上所对应的负载G_loadm,并在任务块集合中删除该任务块,更新任务块集合,然后进入步骤011;否则进入步骤010;其中,G_Cn'表示任务块集合中粒度值按由小至大顺序第n'个任务块所对应的粒度值;
步骤010.判断n'是否等于N',是则进入步骤013;否则用n'+1的值更新n',返回步骤009;
步骤011.判断第m个线程上所对应的负载G_loadm是否大于等于G_threadavg-ΔG_thread,是则进入步骤012;否则令n'=1,并返回步骤009;
步骤012.判断m是否等于M,是则针对任务块集合中所有任务块所对应的待处理任务的调度策略结束;否则用m+1的值更新m,并令n'=1,然后返回步骤009;
步骤013.判断第m个线程上所对应任务块的数量是否大于1,是则将第m个线程上最后所分配的任务块退回至任务块集合当中,并更新任务块集合,然后进入步骤014;否则进入步骤015;
步骤014.判断任务块集合中是否存在位于步骤013中所退回任务块下一个位置的任务块,是则将任务块集合中步骤013中所退回任务块的下一个任务块分配至第m个线程当中,用G_loadm加该任务块粒度值的和更新第m个线程上所对应的负载G_loadm,并在任务块集合中删除该任务块,更新任务块集合,然后进入步骤011;否则返回步骤013;
步骤015.判断第m个线程上所对应任务块的数量是否等于1,是则进入步骤016;否则进入步骤017;
步骤016.判断第m个线程上是否存在大于系统单线程负载范围标准值G_threadavg的粒度值所对应的任务块,是则进入步骤017;否则将第m个线程上最后所分配的任务块退回至任务块集合当中,并更新任务块集合,然后进入步骤014;
步骤017.判断m是否大于1,是则用m-1的值更新m,并返回步骤013,否则在预设系统单线程负载波动范围值ΔG_thread基础上,按预设波动范围扩大并更新ΔG_thread,然后返回步骤009。
2.根据权利要求1所述一种面向多核平台的多线程划分及静态均衡调度方法,其特征在于:所述步骤007中,提取任务块集合中所有大于系统单线程负载范围标准值G_threadavg的粒度值所对应的各个任务块,将该各个任务块按其粒度值由大至小的顺序进行排序,将系统各线程按其顺序与该各个任务块依序进行一一对应,将该各个任务块分别分配至对应线程上,用该各个任务块的粒度值分别更新对应各线程上所对应的负载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610022466.0A CN105700959B (zh) | 2016-01-13 | 2016-01-13 | 一种面向多核平台的多线程划分及静态均衡调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610022466.0A CN105700959B (zh) | 2016-01-13 | 2016-01-13 | 一种面向多核平台的多线程划分及静态均衡调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105700959A CN105700959A (zh) | 2016-06-22 |
CN105700959B true CN105700959B (zh) | 2019-02-26 |
Family
ID=56227268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610022466.0A Active CN105700959B (zh) | 2016-01-13 | 2016-01-13 | 一种面向多核平台的多线程划分及静态均衡调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105700959B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107617216B (zh) * | 2016-07-15 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种游戏人工智能任务的设计系统和方法 |
CN106227639A (zh) * | 2016-07-25 | 2016-12-14 | 张升泽 | 多核芯片电压计算方法及系统 |
CN106155862A (zh) * | 2016-07-25 | 2016-11-23 | 张升泽 | 电子芯片内的电流计算方法及系统 |
WO2018018373A1 (zh) * | 2016-07-25 | 2018-02-01 | 张升泽 | 多个内核芯片的功率计算方法及系统 |
CN106294063A (zh) * | 2016-07-26 | 2017-01-04 | 张升泽 | 基于芯片的温度控制方法及系统 |
US10387207B2 (en) | 2016-12-06 | 2019-08-20 | International Business Machines Corporation | Data processing |
CN107678841B (zh) * | 2017-08-28 | 2020-07-21 | 平安科技(深圳)有限公司 | 控制承保处理的方法、装置、计算机设备及存储介质 |
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
US11138037B2 (en) * | 2017-11-02 | 2021-10-05 | Mediatek Inc. | Switch policy for hybrid scheduling in multi-processor systems |
CN109144693B (zh) * | 2018-08-06 | 2020-06-23 | 上海海洋大学 | 一种功率自适应任务调度方法及系统 |
CN111124626A (zh) * | 2018-11-01 | 2020-05-08 | 北京灵汐科技有限公司 | 一种众核系统及其数据处理方法和处理装置 |
CN110413409B (zh) * | 2019-07-15 | 2021-08-10 | 北京控制工程研究所 | 一种多探头星敏感器多核系统任务分配的方法及介质 |
CN113835866B (zh) * | 2021-10-09 | 2024-02-20 | 南方电网数字电网研究院有限公司 | 多线程任务调度优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN101923491A (zh) * | 2010-08-11 | 2010-12-22 | 上海交通大学 | 多核环境下线程组地址空间调度和切换线程的方法 |
CN102184125A (zh) * | 2011-06-02 | 2011-09-14 | 首都师范大学 | 异构多核环境下基于程序行为在线分析的负载均衡方法 |
CN103473120A (zh) * | 2012-12-25 | 2013-12-25 | 北京航空航天大学 | 一种基于加速因子的多核实时系统任务划分方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101738641B1 (ko) * | 2010-12-17 | 2017-05-23 | 삼성전자주식회사 | 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법 |
-
2016
- 2016-01-13 CN CN201610022466.0A patent/CN105700959B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN101923491A (zh) * | 2010-08-11 | 2010-12-22 | 上海交通大学 | 多核环境下线程组地址空间调度和切换线程的方法 |
CN102184125A (zh) * | 2011-06-02 | 2011-09-14 | 首都师范大学 | 异构多核环境下基于程序行为在线分析的负载均衡方法 |
CN103473120A (zh) * | 2012-12-25 | 2013-12-25 | 北京航空航天大学 | 一种基于加速因子的多核实时系统任务划分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105700959A (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700959B (zh) | 一种面向多核平台的多线程划分及静态均衡调度方法 | |
Khorasani et al. | Scalable simd-efficient graph processing on gpus | |
CN100562854C (zh) | 多核处理器操作系统负载均衡的实现方法 | |
CN103279390B (zh) | 一种面向小作业优化的并行处理系统 | |
CN107193652B (zh) | 容器云环境中流数据处理系统的弹性资源调度方法及系统 | |
Kang et al. | Lalarand: Flexible layer-by-layer cpu/gpu scheduling for real-time dnn tasks | |
CN105975340A (zh) | 一种虚拟机应用分配部署算法 | |
CN103473120A (zh) | 一种基于加速因子的多核实时系统任务划分方法 | |
CN105912387A (zh) | 数据处理作业调度方法及装置 | |
CN103257900B (zh) | 减少cpu占用的多处理器上实时任务集资源预留方法 | |
CN110990154B (zh) | 一种大数据应用优化方法、装置及存储介质 | |
CN104881322A (zh) | 一种基于装箱模型的集群资源调度方法及装置 | |
CN106897136A (zh) | 一种任务调度方法及装置 | |
US10152354B2 (en) | Optimized thread scheduling on processor hardware with performance-relevant shared hardware components | |
CN104090826B (zh) | 基于相关性的任务优化部署方法 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN106354552B (zh) | 并行计算任务分配方法和装置 | |
CN107918676B (zh) | 结构化查询的资源优化方法及数据库查询系统 | |
CN106844024B (zh) | 一种自学习运行时间预测模型的gpu/cpu调度方法及系统 | |
Muthu et al. | Optimized scheduling and resource allocation using evolutionary algorithms in cloud environment | |
Gharajeh et al. | Heuristic-based task-to-thread mapping in multi-core processors | |
CN116684420A (zh) | 集群资源调度方法、装置、集群系统和可读存储介质 | |
Thomas et al. | Dynamic optimizations in gpu using roofline model | |
Aghapour et al. | Integrated ARM big. Little-Mali pipeline for high-throughput CNN inference | |
CN116010051A (zh) | 一种联邦学习多任务调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |