CN111897648A - 一种温度约束下的暗核感知众核系统处理器资源分配方法 - Google Patents

一种温度约束下的暗核感知众核系统处理器资源分配方法 Download PDF

Info

Publication number
CN111897648A
CN111897648A CN202010499055.7A CN202010499055A CN111897648A CN 111897648 A CN111897648 A CN 111897648A CN 202010499055 A CN202010499055 A CN 202010499055A CN 111897648 A CN111897648 A CN 111897648A
Authority
CN
China
Prior art keywords
application
vertex
dark
application program
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.)
Granted
Application number
CN202010499055.7A
Other languages
English (en)
Other versions
CN111897648B (zh
Inventor
黄星星
王小航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202010499055.7A priority Critical patent/CN111897648B/zh
Publication of CN111897648A publication Critical patent/CN111897648A/zh
Application granted granted Critical
Publication of CN111897648B publication Critical patent/CN111897648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种温度约束下的暗核感知众核系统处理器资源分配方法,当有新的应用程序进入众核系统并请求分配核心运行时,建立基于应用程序吞吐量性能模型的动态计算网络,利用动态计算网络决策是否要增加新的应用程序进入众核系统运行和下一时刻每个应用程序运行时的核心分配方案。该发明通过考虑应用程序计算需求、暗核数量时变性,动态分配、调整核心分配方案,权衡当前正在执行的应用程序性能和在就绪队列的应用程序的等待时间,最终提高芯片吞吐量。

Description

一种温度约束下的暗核感知众核系统处理器资源分配方法
技术领域
本发明涉及众核系统处理器资源分配技术领域,具体涉及一种温度约束下的暗核感知众核系统处理器资源分配方法。
背景技术
众核系统和二维网格片上网络:众核系统在一个芯片上集成大量核心,依靠片上网络上的路由器的存储转发功能,并行化执行应用程序,以提高芯片计算性能。二维网格片上网络是片上网络的一种典型的通信网络结构,是核心之间通信的主要网络结构。在二维网格片上网络中,一个路由器和一个核心进行相连,路由器与路由器之间通过通信链路相连。需要通信的核心,利用路由器的存储转发功能进行数据传输。
暗核和活动核心:众核系统产生暗核有两个因素:第一、随着纳米技术的发展和计算需求的增长,大量的核心通过片上网络的互联集成到单个芯片上,以满足高性能计算的需求。随着晶体管特征尺寸的不断减小,泄露功率随着电压的下降而成指数上升,导致芯片的功率密度不断上升。由于制冷设备的制约,芯片上的部分核心需要关闭,以使得芯片在功率预算下运行。第二、由于众核系统的工作负载是不断的变化的,所以核心的使用率会随着工作负载进行相应的改变。为了能够更好的降低能耗,会关闭部分不工作的核心。这些关闭的核心被称为暗核,开启的核心被称为活动核心。
暗核由于不运行应用程序任务,所以暗核本身的温度会比活动核心的温度低,所以可以把暗核分配给应用程序,以使得运行应用程序任务的活动核心可以利用暗核进行散热,使活动核心运行在更加高频的状态,从而减少应用程序的执行时间。分配暗核给应用程序存在以下技术难点:第一、因为众核系统的工作负载、应用到达率不断变化,所以暗核数量也是不断的变化的;第二、分配暗核给应用程序,会使得后面到达系统的应用程序的等待时间变长,当有新的应用程序达到系统,系统是否回收已分配给正在运行的应用程序的暗核并重新分配给新到来的应用程序,即是否要动态调整暗核的分配方案,以减少新到来的应用程序的等待时间,但是如果回收正在运行的应用程序的暗核,运行的应用程序的由于用于散热的核心减少而需要运行在低频状态而使执行时间增加,所以怎么调整暗核的分配,以权衡当前运行应用程序的执行时间和新到来应用程序的等待时间;第三,由于应用程序的计算需求不同,需要根据应用程序的计算需求分配核心,以提高暗核的利用率。
发明内容
本发明的目的是为了解决现有技术中的上述难点,针对二维网格片上网络,提供一种温度约束下的暗核感知众核系统处理器资源分配方法,通过考虑应用程序计算需求、暗核数量时变性,动态分配核心和调整核心的分配方案,权衡当前正在执行的应用程序的执行时间和在就绪队列的应用程序的等待时间,最终提高芯片吞吐量。
本发明的目的可以通过采取如下技术方案达到:
当t时刻有新的应用程序进入众核系统并请求分配核心运行时,建立基于应用程序吞吐量性能模型的动态计算网络,利用动态计算网络决策是否要增加新的应用程序进入众核系统运行和t+1时刻每个应用程序运行时的核心分配方案,其特征在于,所述的众核系统处理器资源分配方法包括以下步骤:
S1、计算从就绪队列中加入到运行队列的最大应用程序个数ξ,过程如下:
首先,在t时刻,正在众核系统运行的应用程序集合放置在运行队列T(t)中,准备就绪但是没有得到核心以运行的应用程序放置在就绪队列H(t)中。然后,在t+1时刻所有运行的应用程序都没有暗核来加速应用程序运行的假设下,即芯片的所有核心都开启作为活动核心的假设下,在原有的t时刻运行队列T(t)的基础上,即保持运行队列T(t)里所有应用程序都在t+1时刻在众核系统运行的基础上,在芯片核心个数为Q和一个任务占据一个核心的约束下,根据应用程序进入就绪队列H(t)的顺序,计算从就绪队列H(t)中加入到众核系统运行队列T(t)的最大的应用程序个数ξ。
S2、利用动态计算网络计算具有最大吞吐量的应用程序集合T*(t+1),该应用程序集合作为在t+1时刻运行的应用程序集合,过程如下:
首先,定义集合Tl(t+1),
Figure BDA0002524074240000031
l∈{0,…,ξ},hj(t)∈H(t),其中Tl(t+1)包含在t时刻结束时还没有运行完成的应用程序集合和l个在就绪队列H(t)中的应用程序。l个在就绪队列中的应用程序是按照应用程序加入就绪队列的先后顺序选择的,即先到先被选择,l的取值范围为0到ξ。T′(t)是在t时刻结束时未完成执行的应用程序的集合,hj(t)是就绪队列H(t)的第j个应用程序。对l进行取值且范围为0到ξ,形成的不同的应用程序集合Tl(t+1):例如l取0,形成的应用程序集合T0(t+1)里的应用程序由集合T′(t)里的应用程序组成;例如l取1,形成的应用程序集合T1(t+1)里的应用程序由集合T′(t)里的应用程序和第一个进入就绪队列的应用程序h1(t)组成;例如l取2,形成的应用程序集合T2(t+1)里的应用程序由集合T′(t)里的应用程序和就绪队列里应用程序h1(t)、h2(t)组成;其他形成的应用程序集合此类推求得。
然后,对l进行取值且范围为0到ξ,对形成的每一个应用程序集合Tl(t+1)构造基于应用程序吞吐量性能模型的动态计算网络,并对形成的每一个应用程序集合计算在对应的动态计算网络中从源节点s到目的节点d的最长可行路径的吞吐量Ul(s,d)。对应用程序构造基于吞吐量性能模型的动态计算网络的原因是,把计算具有最大吞吐量的核心分配方案转化成计算在构造的动态计算网络中的最长的可行路径。
接着,在t+1时刻运行的应用程序集合T*(t+1)通过下面式子计算得到:
Figure BDA0002524074240000041
即对l进行取值且范围为0到ξ时,形成的应用程序集合中具有最大的吞吐量的集合作为t+1时刻运行的应用程序集合T*(t+1)。
其中,在S2步骤中所述的应用程序吞吐量性能模型为:
Figure BDA0002524074240000042
其中,
Figure BDA0002524074240000043
分别是第i个应用程序的所有任务的平均执行时间和第i个应用程序的所有任务的平均通信量,wi为第i个应用程序的所有任务的计算量之和除以第i个应用程序的所有任务之间的通信量之和得到的商,应用程序由多个任务组成,任务之间具有通信量,Vi为第i个应用程序的任务集合,|Vi|为第i个应用程序的任务数,z1、z2、z3和z4分别为
Figure BDA0002524074240000044
和wi的最高多项式阶数,βj、δj、μj、θj、ε是阶数为j的应用程序吞吐量性能模型的拟合系数。通过建立应用程序吞吐量性能模型,能够输入暗核数量和应用程序的计算量、任务数、通信量等特征参数来预测应用程序在分配相应的暗核数目下的吞吐量,利用该预测的吞吐量,输入到动态计算网络中,计算对于一个应用程序集合最优的暗核分配方案。在众核系统中分别运行多个具有不同的任务数、计算量和通信量的应用程序,获得多组拟合应用程序吞吐量性能模型的数据后,通过极大似然估计法得到应用程序吞吐量性能模型的拟合系数。需要在众核系统中分别运行多个具有不同的任务数、计算量和通信量的应用程序,获得多组拟合应用程序吞吐量性能模型的数据,过程如下:
在众核系统中分别运行多个不同的应用程序,获得多组拟合应用程序吞吐量性能模型的数据,被运行的应用程序之间具有不同的任务数、计算量和通信量,其中,多次分配不同的暗核数量给一个应用程序并在众核系统中运行,每个应用程序被分配暗核数量范围为0到2×|Vi|,在t时刻,分配给第i个应用程序的暗核集合被定义为Bi(t),|Bi(t)|是分配给第i个应用程序的暗核数量;第i个应用程序在t时刻的运行区域定义为Ri(t),Ri(t)包含活动核心集合Yi(t)和暗核集合Bi(t),即Ri(t)=Yi(t)∪Bi(t),|Ri(t)|为运行区域的核心数目。应用程序的运行区域和吞吐量有直接关联,近似正方形的运行区域的形状能够产生更好的吞吐量,所以为应用程序选择近似正方形的运行区域来运行应用程序。获得近似正方形的运行区域的过程如下:首先,得到一个基本正方形,该基本正方形的边长
Figure BDA0002524074240000051
为运行区域的所需的核心数目|Ri(t)|开平方根后向下取整的整数,即
Figure BDA0002524074240000052
一个核心的边长长度定义为单位1;然后,计算φ的值,其计算公式为:
Figure BDA0002524074240000053
Figure BDA0002524074240000054
如果φ等于0,这个基本正方形被设置为应用程序的运行区域的形状,否则应用程序的运行区域的形状由基本正方形和一个到两个的长方形组成,即分为下面两种情况:
情形一:如果
Figure BDA0002524074240000055
近似正方形运行区域的形状由基本正方形和两个长方形组成,这两个长方形的边长分别是
Figure BDA0002524074240000061
Figure BDA0002524074240000062
边长是
Figure BDA0002524074240000063
的长方形摆放在基本正方形的下方,从基本正方形的最左边向右开始摆放;边长是
Figure BDA0002524074240000064
的长方形的摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放。
情形二:如果
Figure BDA0002524074240000065
近似正方形运行区域的形状由基本正方形和一个长方形组成,这个长方形的边长是
Figure BDA0002524074240000066
长方形摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放。
得到应用程序的近似正方形运运行区域的形状后,在片上网络上选择同样形状、同样大小的运行区域以运行应用程序。应用程序在运行的过程中,保证每个核心的功耗低于核心可以工作的最大功率。一个核心可以工作的最大功率可以通过Bubble Budgeting文献(Xiaohang Wang,Amit Kumar Singh,Bing Li,Yang Yang,Hong Li,Terrence S.T.Mak:Bubble Budgeting:Throughput Optimization for Dynamic Workloads by ExploitingDark Cores in Many Core Systems.IEEE Trans.Computers 67(2):178-192(2018))中描述的方式进行获得,该方法是在温度阈值下,计算一个核心可以跑的最大的功率。应用程序运行完成后,记录应用程序在分配相应的暗核数量|Bi(t)|下的吞吐量Πi(|Bi(t)|)、
Figure BDA0002524074240000067
wi、Vi和|Bi(t)|等数据,Πi(|Bi(t)|)是第i个应用程序分配|Bi(t)|个暗核后在众核系统运行的吞吐量,数据以如下形式表示:
Figure BDA0002524074240000068
在获得多组数据
Figure BDA0002524074240000069
后,通过极大似然估计法得到应用程序吞吐量性能模型的拟合系数。
其中,在S2步骤中所述的构造基于应用程序吞吐量性能模型的动态计算网络的过程如下:
假设应用程序集合Tl(t+1)中的应用程序需要众核系统分配核心以在众核系统运行,|Tl(t+1)|表示集合Tl(t+1)里面的应用程序数量,将动态计算网络定义为D(O,Λ),其中O和Λ分别表示动态计算网络中顶点和连接顶点的边的集合,集合Tl(t+1)中的每个应用程序形成一个决策阶段,其中每个决策阶段有|B(t)|+1个顶点,第i个决策阶段的|B(t)|+1个顶点分别定义为oi,0、oi,1、…、oi,b、…、oi,|B(t)|,B(t)是众核系统在t时刻的暗核集合,|B(t)|表示众核系统在t时刻的暗核数量,动态计算网络中的顶点oi,b表示应用程序i、i+1、…、|Tl(t+1)|共占据b个暗核,b的取值范围为0≤b≤|B(t)|,在决策阶段i下的每个顶点最多连接到决策阶段i+1中的|B(t)|+1个顶点,这与分配0到|B(t)|个暗核给第i个应用程序的方案相对应。连接顶点oi,b和oi+1,k的边定义为Λ(oi,b,oi+1,k),对应于分配b-k个暗核给第i个应用程序。在动态计算网络的开始和结束,有两个虚拟的顶点s和d加入到动态计算网络中,分别表示动态计算网络的开始和结束,这两个顶点分别被称为源节点和目的节点。连接顶点oi,b和oi+1,k的边Λ(oi,b,oi+1,k)有一个效用值C(oi,b,oi+1,k),这是分配b-k暗核给第i个应用程序的吞吐量,计算公式如下:
Figure BDA0002524074240000071
如果b≥k,则在两个顶点oi,b和oi+1,k之间存在具有效用值为∏i(b-k)的边,否则,Λ(oi,b,oi+1,k)的效用值为-∞。通过输入第i个应用程序的所有任务的平均计算量、第i个应用程序的所有任务的平均通信量、第i个应用程序的所有任务的计算量之和除以第i个应用程序的所有任务之间的通信量之和得到的商、第i个应用程序的任务数、分配的暗核数量b-k等参数到应用程序吞吐量模型计算得到Πi(b-k)。源节点s连接到第一个决策阶段的边,即集合Tl(t+1)中的第一个应用程序的顶点与源节点s形成的边的效用值为零,最后一个决策阶段的顶点连接到目的节点d的边的效用值为Πi(b),表示将b个暗核分配给集合Tl(t+1)中的最后一个应用程序后的吞吐量为Πi(b)。顶点oi,b有一个动态网络值U(oi,b,d),该值表示的是在众核系统暗核数量为|B(t)|的约束下,将b个暗核分配给第i、i+1、i+2、…、|Tl(t+1)|个应用之后的芯片最佳的总吞吐量。顶点oi,b的动态网络值U(oi,b,d)的计算公式如下所示:
Figure BDA0002524074240000081
即U(oi,b,d)计算的过程为:首先计算每一条与顶点oi,b连接的边Λ(oi,b,oi+1,k)的效用值C(oi,b,oi+1,k)与相应顶点oi+1,k的动态网络值相加的和,然后取最大的相加值作为顶点oi,b的动态网络值,并同时记录和oi,b相连后产生最大相加值即动态网络值的顶点ν(oi,b),即ν(oi,b)计算公式为:
Figure BDA0002524074240000082
其中,在S2步骤中所述的计算对应动态计算网络中最长可行路径对应的吞吐量Ul(s,d)的过程如下:
构成可行路径的相邻的两个顶点相连接形成边,将所有形成的边的效用值相加的总和定义为可行路径对应的吞吐量,定义最长可行路径为具有最大吞吐量的可行路径。在动态计算网络中,利用从后往前的计算方式,即从目的节点d到源节点s计算,按照从后往前的顺序,计算每个决策阶段的每个顶点的动态网络值,当计算完成源节点s的动态网络值时,得到从第一应用程序到最后一个应用程序所有可行的核心分配方案中具有的最大吞吐量的核心分配方案即最长可行路径和最长可行路径的吞吐量Ul(s,d),即源节点s的动态网络值为最长可行路径的对应的吞吐量;动态计算网络中最长可行路径为:从源结点s出发,首先查找与源节点s相连而产生源节点s的动态网络值的第一决策阶段的顶点,即所查找到的顶点是在计算源节点s的动态网络值时候记录的顶点,该顶点在第一决策阶段,然后从第一决策阶段查找到的顶点出发,查找与该顶点相连而产生该顶点的动态网络值的第二决策阶段的顶点,并以此类推,直到目的节点d,所查找到的点相连接而形成的路径为具有最大吞吐量的可行路径。
S3、根据应用程序集合T*(t+1)在动态计算网络中的最长可行路径,得到t+1时刻核心分配方案,过程如下:
首先,B(t)是t时刻众核系统的暗核集合,|B(t)|是t时刻众核系统的暗核数量,
Figure BDA0002524074240000091
被定义为在动态计算网络中,在众核系统暗核数量为|B(t)|的约束下,从源节点s到目的节点d的可行路径的集合。从源节点s到目的节点d的可行路径是由从每个决策阶段中取一个顶点组成,且路径中相邻两个决策阶段的两个顶点相连形成的边中不存在效用值为-∞的边。|T*(t+1)|被定义为应用程序集合T*(t+1)中的应用程序个数;集合T*(t+1)在对应动态计算网络中的最长可行路径是
Figure BDA0002524074240000092
中具有最大吞吐量的路径,计算具有的最大吞吐量的可行路径为的过程如下:在动态计算网络中,从源结点s出发,首先查找第一决策阶段的顶点与源节点s相连而产生源节点s的动态网络值的顶点,定义为
Figure BDA0002524074240000093
a是分配给第1、2、…、|Tl(t+1)|个应用程序的总暗核数量,再从顶点
Figure BDA0002524074240000094
出发,查找与顶点
Figure BDA0002524074240000095
相连而产生顶点
Figure BDA0002524074240000096
的动态网络值的第二决策阶段的顶点,定义为
Figure BDA0002524074240000097
c是分配给第2、3、…、|Tl(t+1)|个应用程序的总暗核数量,以此类推,查找第i+1决策阶段中与顶点
Figure BDA0002524074240000098
相连而产生顶点
Figure BDA0002524074240000099
的动态网络值的顶点
Figure BDA00025240742400000910
其中,e是分配给第i、i+1、…、|Tl(t+1)|个应用程序的总暗核数量,m是分配给第i+1、i+2、…、|Tl(t+1)|个应用程序的总暗核数量,以此类推,直到目的节点d,所查找到的点相连接而形成的路径为具有最大吞吐量的可行路径。
根据该最长路径,得到最佳的暗核方案为:分配给第一个应用程序的暗核数量为a-c,分配给第i个应用程序的暗核数量为e-m。
分配给第i个应用程序活动核心数量为该应用程序的总任务数量。
本发明相对于现有技术具有如下的优点及效果:
前人在暗核感知众核系统处理器资源分配方法研究当中,是在暗核数量固定的假设下进行设计处理器资源分配方法的,而实际中,暗核数量数是会发生变化的,所以该类方法导致次优结果。而本发明通过建立动态计算网络确定最优的核心分配方案,动态的决定核心的开和关数量,即暗核数量和活动核心数量,从而打破了暗核数量固定的假设。
通过建立应用程序吞吐量性能模型,考虑应用程序的计算量、通信量等特征,输入分配给应用程序的暗核数量来预测应用程序的吞吐量,并在动态计算网络中结合应用程序吞吐量性能模型,计算使得系统吞吐量最大的应用程序集合和下一时刻核心分配方案,从而能够较好的针对不同应用程序的计算需求而分配核心。相比于对暗核的分配没有考虑应用程序的特征的而是对所有应用分配固定暗核数量的分配方法,本方法能够从全局优化芯片吞吐量角度出发,更好的分配暗核给应用程序,以提高暗核的利用率。
当有新的应用程序进入众核系统并请求分配核心运行时,建立基于应用程序吞吐量性能模型的动态计算网络确定具有最大吞吐量的下一时刻应用程序集合,以确定众核系统是否要从正在运行的应用程序中回收暗核并开启分配给新到来的应用程序,从而能够权衡当前运行应用程序的执行时间和在就绪队列的应用程序的等待时间。相较于暗核分配给运行的应用程序后的不能回收的方法,本发明通过动态的分配、调整核心方案,提高暗核的利用率。
附图说明
图1(a)是获得拟合应用程序吞吐量性能模型时应用程序运行区域由基本正方形和两个长方形组成示意图,边长是
Figure BDA0002524074240000111
的长方形摆放在基本正方形的下方,从基本正方形的最左边向右开始摆放,边长是
Figure BDA0002524074240000112
的长方形的摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放;
图1(b)是获得拟合应用程序吞吐量性能模型时应用程序运行区域由基本正方形和一个长方形组成示意图,长方形摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放;
图2是动态计算网络图,集合Tl(t+1)中的每个应用程序形成一个决策阶段,其中每个决策阶段具有|B(t)|+1个顶点,分别定义为oi,0、oi,1、…、oi,|B(t)|,如果b≥k,在两个顶点oi,b和oi+1,k之间存在具有效用值为Πi(b-k)的边,否则,Λ(oi,b,oi+1,k)的效用值为-∞;
图3是暗核感知众核系统处理器资源分配方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
当t时刻有新的应用程序进入众核系统并请求分配核心运行时,建立基于应用程序吞吐量性能模型的动态计算网络,利用动态计算网络决策是否要增加新的应用程序进入众核系统运行和t+1时刻每个应用程序运行时的核心分配方案,决策过程由操作系统完成,包括三个步骤:
S1、计算从就绪队列中加入到运行队列的最大应用程序个数ξ,过程如下:
首先,在t时刻,正在众核系统运行的应用程序集合放置在运行队列T(t)中,准备就绪但是没有得到核心以运行的应用程序放置在就绪队列H(t)中。
然后,在t+1时刻所有运行的应用程序都没有暗核来加速应用程序运行的假设下,即芯片的所有核心都开启作为活动核心的假设下,在原有的t时刻运行队列T(t)的基础上,即保持运行队列T(t)里所有应用程序都在t+1时刻在众核系统运行的基础上,在芯片核心个数为Q和一个任务占据一个核心的约束下,根据应用程序进入就绪队列H(t)的顺序,计算从就绪队列H(t)中加入到众核系统运行队列T(t)的最大的应用程序个数ξ。
S2、利用动态计算网络计算具有最大吞吐量的应用程序集合T*(t+1)该应用程序集合作为在t+1时刻运行的应用程序集合,过程如下:
首先,定义集合Tl(t+1),
Figure BDA0002524074240000121
l∈{0,…,ξ},hj(t)∈H(t),其中Tl(t+1)包含在t时刻结束时还没有运行完成的应用程序集合和l个在就绪队列H(t)中的应用程序。l个在就绪队列中的应用程序是按照应用程序加入就绪队列的先后顺序选择的,即先到先被选择,l的取值范围为0到ξ。T′(t)是在t时刻结束时未完成执行的应用程序的集合,hj(t)是就绪队列H(t)的第j个应用程序。对l取值,范围为0到ξ,形成不同的应用程序集合Tl(t+1)。
然后,对l进行取值且范围为0到ξ,对形成的每一个应用程序集合Tl(t+1)构造基于应用程序吞吐量性能模型的动态计算网络,并对形成的每一个应用程序集合计算在对应的动态计算网络中从源节点s到目的节点d的最长可行路径的吞吐量Ul(s,d)。
接着,在t+1时刻运行的应用程序集合T*(t+1)通过下面式子计算得到:
Figure BDA0002524074240000131
即对l进行取值且范围为0到ξ时,形成的应用程序集合中具有最大的吞吐量的集合作为t+1时刻运行的应用程序集合T*(t+1)。
S3、根据应用程序集合T*(t+1)在动态计算网络中的最长可行路径,得到t+1时刻核心分配方案,过程如下:
首先,B(t)是t时刻众核系统的暗核集合,|B(t)|是t时刻众核系统的暗核数量,
Figure BDA0002524074240000138
被定义为在动态计算网络中,在众核系统暗核数量为|B(t)|的约束下,从源节点s到目的节点d的可行路径的集合。从源节点s到目的节点d的可行路径是由从每个决策阶段中取一个顶点组成,且路径中相邻两个决策阶段的两个顶点相连形成的边中不存在效用值为-∞的边。|T*(t+1)|被定义为应用程序集合T*(t+1)中的应用程序个数。集合T*(t+1)在对应的动态计算网络中的最长可行路径是
Figure BDA0002524074240000132
中具有最大吞吐量的路径,计算具有的最大吞吐量的可行路径为的过程如下:
在动态计算网络中,从源结点s出发,首先查找第一决策阶段的顶点与源节点s相连而产生源节点s的动态网络值的顶点,定义为
Figure BDA0002524074240000133
a是分配给第1、2、…、|Tl(t+1)|个应用程序的总暗核数量,再从顶点
Figure BDA0002524074240000134
出发,查找与顶点
Figure BDA0002524074240000135
相连而产生顶点
Figure BDA0002524074240000136
的动态网络值的第二决策阶段的顶点,定义为
Figure BDA0002524074240000137
c是分配给第2、3、…、|Tl(t+1)|个应用程序的总暗核数量,以此类推,查找第i+1决策阶段中与顶点
Figure BDA0002524074240000141
相连而产生顶点
Figure BDA0002524074240000142
的动态网络值的顶点
Figure BDA0002524074240000143
其中,e是分配给第i、i+1、…、|Tl(t+1)|个应用程序的总暗核数量,m是分配给第i+1、i+2、…、|Tl(t+1)|个应用程序的总暗核数量,以此类推,直到目的节点d,所查找到的点相连接而形成的路径为具有最大吞吐量的可行路径。
根据该最长路径,得到最佳的暗核方案为:分配给第一个应用程序的暗核数量为a-c,分配给第i个应用程序的暗核数量为e-m。
分配给第i个应用程序活动核心数量为该应用程序的总任务数量。
其中,步骤S2中所述的应用程序吞吐量性能模型为:
Figure BDA0002524074240000144
其中,
Figure BDA0002524074240000145
分别是第i个应用程序的所有任务的平均执行时间和第i个应用程序所有任务的平均通信量,wi为第i个应用程序的所有任务的计算量之和除以第i个应用程序的所有任务之间的通信量之和得到的商。应用程序由多个任务组成,任务之间具有通信量。Vi为第i个应用程序的任务集合,|Vi|为第i个应用程序的任务数,z1、z2、z3和z4分别为
Figure BDA0002524074240000146
和wi的最高多项式阶数,βj、δj、μj、θj、ε是阶数为j的应用程序吞吐量性能模型的拟合系数,在众核系统中分别运行多个具有不同的任务数、计算量和通信量的应用程序,获得多组拟合应用程序吞吐量性能模型的数据后,通过极大似然估计法得到应用程序吞吐量性能模型的拟合系数。获得多组拟合应用程序吞吐量性能模型的数据的过程如下:
在众核系统中分别运行多个不同的应用程序,获得多组拟合应用程序吞吐量性能模型的数据,被运行的应用程序之间具有不同的任务数、计算量和通信量,其中,多次分配不同的暗核数量给一个应用程序并在众核系统中运行,每个应用程序被分配暗核数量范围为0到2×|Vi|。在t时刻,分配给第i个应用程序的暗核集合被定义为Bi(t),|Bi(t)|是分配给第i个应用程序的暗核数量。第i个应用程序在t时刻的运行区域定义为Ri(t),Ri(t)包含活动核心集合Yi(t)和暗核集合Bi(t),即Ri(t)=Yi(t)∪Bi(t),|Ri(t)|为运行区域的核心数目。为应用程序选择近似正方形的运行区域来运行应用程序,应用程序运行完成后,记录应用程序在分配相应的暗核数量|Bi(t)|下的吞吐量Πi(|Bi(t)|)、
Figure BDA0002524074240000151
wi、Vi和|Bi(t)|等数据,Πi(|Bi(t)|)是第i个应用程序分配|Bi(t)|个暗核后在众核系统运行的吞吐量,数据以如下形式表示:
Figure BDA0002524074240000152
在获得多组数据
Figure BDA0002524074240000153
Figure BDA0002524074240000154
后,通过极大似然估计法得到应用程序吞吐量性能模型的拟合系数。应用程序选择近似正方形的运行区域来运行应用程序的过程如下:
首先,得到一个基本正方形,该基本正方形的边长
Figure BDA0002524074240000155
为运行区域的所需的核心数目|Ri(t)|开平方根后向下取整的整数,即
Figure BDA0002524074240000156
一个核心的边长长度定义为单位1。
然后,计算φ的值,其计算公式为:
Figure BDA0002524074240000157
如果φ等于0,这个基本正方形被设置为应用程序的运行区域的形状,否则应用程序的运行区域的形状由基本正方形和一个到两个的长方形组成,即分为下面两种情况:
情形一:如果
Figure BDA0002524074240000158
近似正方形运行区域的形状由基本正方形和两个长方形组成,这两个长方形的边长分别是
Figure BDA0002524074240000159
Figure BDA00025240742400001510
边长是
Figure BDA00025240742400001511
的长方形摆放在基本正方形的下方,从基本正方形的最左边向右开始摆放。边长是
Figure BDA00025240742400001512
的长方形的摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放。示例图如图1(a)所示。
情形二:如果
Figure BDA0002524074240000161
近似正方形运行区域的形状由基本正方形和一个长方形组成,这个长方形的边长是
Figure BDA0002524074240000162
长方形摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放。示例图如图1(b)所示。
接着,得到应用程序的近似正方形运运行区域的形状后,在片上网络上选择同样形状、同样大小的运行区域以运行应用程序。
获得拟合模型的数据和拟合模型是众核系统正式运行应用程序前完成。
其中,S2所述的基于应用程序吞吐量性能模型的动态计算网络的特征如下:
假设应用程序集合Tl(t+1)中的应用程序需要众核系统分配核心以在众核系统运行,|Tl(t+1)|表示集合Tl(t+1)里面的应用程序数量,将动态计算网络定义为D(O,Λ),如图2所示,其中O和Λ分别表示动态计算网络中顶点和连接顶点的边的集合,集合Tl(t+1)中的每个应用程序形成一个决策阶段,其中每个决策阶段有|B(t)|+1个顶点,第i个决策阶段的|B(t)|+1个顶点分别定义为oi,0、oi,1、…、oi,b、…、oi,|B(t)|,B(t)是众核系统在t时刻的暗核集合,|B(t)|表示众核系统在t时刻的暗核数量,动态计算网络中的顶点oi,b表示应用程序i、i+1、…、|Tl(t+1)|共占据b个暗核,b的取值范围为0≤b≤|B(t)|,顶点oi,b有一个动态网络值U(oi,b,d),该值表示的是在众核系统暗核数量为|B(t)|的约束下,将b个暗核分配给第i、i+1、i+2、…、|Tl(t+1)|个应用之后的芯片最佳的总吞吐量。在决策阶段i下的每个顶点最多连接到决策阶段i+1中的|B(t)|+1个顶点,这与分配0到|B(t)|个暗核给第i个应用程序的方案相对应。连接顶点oi,b和oi+1,k的边定义为Λ(oi,b,oi+1,k),对应于分配b-k个暗核给第i个应用程序。在动态计算网络的开始和结束,有两个虚拟的顶点s和d加入到动态计算网络中,分别表示动态计算网络的开始和结束,这两个顶点分别被称为源节点和目的节点。连接顶点oi,b和oi+1,k的边Λ(oi,b,oi+1,k)有一个效用值C(oi,b,oi+1,k),这是分配b-k暗核给第i个应用程序的吞吐量,计算公式如下所示:
Figure BDA0002524074240000171
如果b≥k,则在两个顶点oi,b和oi+1,k之间存在具有效用值为Πi(b-k)的边,否则,如果b<k,则Λ(oi,b,oi+1,k)的效用值为-∞,通过输入第i个应用程序的所有任务的平均计算量、第i个应用程序所有任务的平均通信量、第i个应用程序的所有任务的计算量之和除以第i个应用程序的所有任务之间的通信量之和得到的商、第i个应用程序的任务数、分配的暗核数量b-k等参数到应用程序吞吐量模型计算得到Πi(b-k)。源节点s连接到第一个决策阶段的边,即集合Tl(t+1)中的第一个应用程序的顶点与源节点s形成的边的效用值为零,最后一个决策阶段的顶点连接到目的节点d的边的效用值为Πi(b),表示将b个暗核分配给集合Tl(t+1)中的最后一个应用程序后的吞吐量为Πi(b)。顶点oi,b的动态网络值U(oi,b,d)的计算公式如下所示:
Figure BDA0002524074240000172
即U(oi,b,d)计算的过程为:首先计算每一条与顶点oi,b连接的边Λ(oi,b,oi+1,k)的效用值C(oi,b,oi+1,k)与相应顶点oi+1,k的动态网络值相加的和,然后取最大的相加值作为顶点oi,b的动态网络值,并同时记录和oi,b相连后产生最大相加值即动态网络值的顶点ν(oi,b),即ν(oi,b)计算公式为:
Figure BDA0002524074240000181
其中,S2所述的计算对应动态计算网络中最长可行路径对应的吞吐量Ul(s,d)的过程如下:
可行路径对应的吞吐量定义为,构成可行路径的相邻的两个顶点相连接形成边,所有形成的边的效用值相加的总和即为可行路径对应的吞吐量;最长可行路径为具有最大吞吐量的可行路径。在动态计算网络中,利用从后往前的计算方式,即从目的节点d到源节点s计算,按照从后往前的顺序,计算每个决策阶段的每个顶点的动态网络值,当计算完成源节点s的动态网络值时,得到从第一应用程序到最后一个应用程序所有可行的核心分配方案中具有的最大吞吐量的核心分配方案即最长可行路径和最长可行路径的吞吐量Ul(s,d),即源节点s的动态网络值为最长可行路径的对应的吞吐量;动态计算网络中最长可行路径为:从源结点s出发,首先查找与源节点s相连而产生源节点s的动态网络值的第一决策阶段的顶点,即所查找到的顶点是在计算源节点s的动态网络值时候记录的顶点,该顶点在第一决策阶段,然后从第一决策阶段查找到的顶点出发,查找与该顶点相连而产生该顶点的动态网络值的第二决策阶段的顶点,并以此类推,直到目的节点d,所查找到的点相连接而形成的路径为具有最大吞吐量的可行路径。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种温度约束下的暗核感知众核系统处理器资源分配方法,当t时刻有新的应用程序进入众核系统并请求分配核心运行时,建立基于应用程序吞吐量性能模型的动态计算网络,利用动态计算网络决策是否要增加新的应用程序进入众核系统运行和t+1时刻每个应用程序运行时的核心分配方案,其特征在于,所述的众核系统处理器资源分配方法包括以下步骤:
S1、计算从就绪队列中加入到运行队列的最大应用程序个数ξ,过程如下:
在t时刻,正在众核系统运行的应用程序集合放置在运行队列T(t)中,准备就绪但是没有得到核心以运行的应用程序放置在就绪队列H(t)中;在t+1时刻所有运行的应用程序都没有暗核来加速应用程序运行的假设下,即芯片的所有核心都开启作为活动核心的假设下,在原有的t时刻运行队列T(t)的基础上,即保持运行队列T(t)里所有应用程序都在t+1时刻在众核系统运行的基础上,在芯片核心个数为Q和一个任务占据一个核心的约束下,根据应用程序进入就绪队列H(t)的顺序,计算从就绪队列H(t)中加入到众核系统运行队列T(t)的最大的应用程序个数ξ;
S2、利用动态计算网络计算具有最大吞吐量的应用程序集合T*(t+1),该应用程序集合作为在t+1时刻运行的应用程序集合,过程如下:
首先,定义集合Tl(t+1),
Figure FDA0002524074230000011
l∈{0,…,ξ},hj(t)∈H(t),其中Tl(t+1)包含在t时刻结束时还没有运行完成的应用程序集合和l个在就绪队列H(t)中的应用程序;l个在就绪队列中的应用程序是按照应用程序加入就绪队列的先后顺序选择的,即先到先被选择,l的取值范围为0到ξ;T′(t)是在t时刻结束时未完成执行的应用程序的集合;hj(t)是就绪队列H(t)的第j个应用程序;对l取值,范围为0到ξ,形成不同的应用程序集合Tl(t+1);
然后,对l进行取值且范围为0到ξ,对形成的每一个应用程序集合Tl(t+1)构造基于应用程序吞吐量性能模型的动态计算网络,并对形成的每一个应用程序集合计算在对应的动态计算网络中从源节点s到目的节点d的最长可行路径的吞吐量Ul(s,d);
接着,在t+1时刻运行的应用程序集合T*(t+1)通过下面式子计算得到:
Figure FDA0002524074230000021
即对l进行取值且范围为0到ξ时,形成的应用程序集合中具有最大的吞吐量的集合作为t+1时刻运行的应用程序集合T*(t+1);
S3、根据应用程序集合T*(t+1)在动态计算网络中的最长可行路径,得到t+1时刻核心分配方案,过程如下:
首先,B(t)是t时刻众核系统的暗核集合,|B(t)|是t时刻众核系统的暗核数量,
Figure FDA0002524074230000022
被定义为在动态计算网络中,在众核系统暗核数量为|B(t)|的约束下,从源节点s到目的节点d的可行路径的集合;从源节点s到目的节点d的可行路径是由从每个决策阶段中取一个顶点组成,且路径中相邻两个决策阶段的两个顶点相连形成的边中不存在效用值为-∞的边;|T*(t+1)|被定义为应用程序集合T*(t+1)中的应用程序个数;集合T*(t+1)在对应动态计算网络中的最长可行路径是
Figure FDA0002524074230000023
中具有最大吞吐量的路径,计算具有的最大吞吐量的可行路径为的过程如下:
在动态计算网络中,从源结点s出发,首先查找第一决策阶段的顶点与源节点s相连而产生源节点s的动态网络值的顶点,定义为
Figure FDA0002524074230000031
a是分配给第1、2、…、|Tl(t+1)|个应用程序的总暗核数量,再从顶点
Figure FDA0002524074230000032
出发,查找与顶点
Figure FDA0002524074230000033
相连而产生顶点
Figure FDA0002524074230000034
的动态网络值的第二决策阶段的顶点,定义为
Figure FDA0002524074230000035
c是分配给第2、3、…、|Tl(t+1)|个应用程序的总暗核数量,以此类推,查找第i+1决策阶段与顶点
Figure FDA0002524074230000036
相连而产生顶点
Figure FDA0002524074230000037
的动态网络值的顶点
Figure FDA0002524074230000038
其中,e是分配给第i、i+1、…、|Tl(t+1)|个应用程序的总暗核数量,m是分配给第i+1、i+2、…、|Tl(t+1)|个应用程序的总暗核数量,以此类推,直到目的节点d,所查找到的点相连接而形成的路径为具有最大吞吐量的可行路径;
根据该最长路径,得到最佳的暗核方案为:分配给第一个应用程序的暗核数量为a-c,分配给第i个应用程序的暗核数量为e-m;
分配给第i个应用程序活动核心数量为该应用程序的总任务数量。
2.根据权利要求1所述的一种温度约束下的暗核感知众核系统处理器资源分配方法,其特征在于,所述的应用程序吞吐量性能模型为:
Figure FDA0002524074230000039
其中,
Figure FDA00025240742300000310
分别是第i个应用程序的所有任务的平均执行时间和第i个应用程序的所有任务的平均通信量,wi为第i个应用程序的所有任务的计算量之和除以第i个应用程序的所有任务之间的通信量之和得到的商,应用程序由多个任务组成,任务之间具有通信量;Vi为第i个应用程序的任务集合,|Vi|为第i个应用程序的任务数,z1、z2、z3和z4分别为
Figure FDA00025240742300000311
和wi的最高多项式阶数,βj、δj、μj、θj、ε是阶数为j的应用程序吞吐量性能模型的拟合系数,在众核系统中分别运行多个具有不同的任务数、计算量和通信量的应用程序,获得多组拟合应用程序吞吐量性能模型的数据后,通过极大似然估计法得到应用程序吞吐量性能模型的拟合系数。
3.根据权利要求2所述的一种温度约束下的暗核感知众核系统处理器资源分配方法,其特征在于,所述的在众核系统中分别运行多个具有不同的任务数、计算量和通信量的应用程序,获得多组拟合应用程序吞吐量性能模型的数据的过程如下:
在众核系统中分别运行多个不同的应用程序,获得多组拟合应用程序吞吐量性能模型的数据,被运行的应用程序之间具有不同的任务数、计算量和通信量,其中,多次分配不同的暗核数量给一个应用程序并在众核系统中运行,每个应用程序被分配暗核数量范围为0到2×|Vi|,在t时刻,分配给第i个应用程序的暗核集合被定义为Bi(t),|Bi(t)|是分配给第i个应用程序的暗核数量;第i个应用程序在t时刻的运行区域定义为Ri(t),Ri(t)包含活动核心集合Yi(t)和暗核集合Bi(t),即Ri(t)=Yi(t)∪Bi(t),|Ri(t)|为运行区域的核心数目;为应用程序选择近似正方形的运行区域来运行应用程序,应用程序运行完成后,记录应用程序在分配相应的暗核数量|Bi(t)|下的吞吐量∏i(|Bi(t)|)、
Figure FDA0002524074230000041
wi、Vi和|Bi(t)|等数据,∏i(|Bi(t)|)是第i个应用程序分配|Bi(t)|个暗核后在众核系统运行的吞吐量,数据以如下形式表示:{Πi(|Bi(t)|),
Figure FDA0002524074230000042
wi,Vi,|Bi(t)|};在获得多组数据{Πi(|Bi(t)|),
Figure FDA0002524074230000043
wi,Vi,|Bi(t)|}后,通过极大似然估计法得到应用程序吞吐量性能模型的拟合系数。
4.根据权利要求3所述的一种温度约束下的暗核感知众核系统处理器资源分配方法,其特征在于,所述的为应用程序选择近似正方形的运行区域来运行应用程序的过程如下:
首先,得到一个基本正方形,该基本正方形的边长
Figure FDA0002524074230000051
为运行区域的所需的核心数目|Ri(t)|开平方根后向下取整的整数,即
Figure FDA0002524074230000052
一个核心的边长长度定义为单位1;
然后,计算φ的值,其计算公式为:
Figure FDA0002524074230000053
如果φ等于0,这个基本正方形被设置为应用程序的运行区域的形状,否则应用程序的运行区域的形状由基本正方形和一个到两个的长方形组成,即分为下面两种情况:
情形一:如果
Figure FDA0002524074230000054
近似正方形运行区域的形状由基本正方形和两个长方形组成,这两个长方形的边长分别是
Figure FDA0002524074230000055
Figure FDA0002524074230000056
边长是
Figure FDA0002524074230000057
的长方形摆放在基本正方形的下方,从基本正方形的最左边向右开始摆放;边长是
Figure FDA0002524074230000058
的长方形的摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放;
情形二:如果
Figure FDA0002524074230000059
近似正方形运行区域的形状由基本正方形和一个长方形组成,这个长方形的边长是
Figure FDA00025240742300000510
长方形摆放在基本正方向的右方,从基本正方形的最上方向下开始摆放;
接着,得到应用程序的近似正方形运运行区域的形状后,在片上网络上选择同样形状、同样大小的运行区域以运行应用程序。
5.根据权利要求1所述的一种温度约束下的暗核感知众核系统处理器资源分配方法,其特征在于,所述的基于应用程序吞吐量性能模型的动态计算网络的特征如下:
假设应用程序集合Tl(t+1)中的应用程序需要众核系统分配核心以在众核系统运行,|Tl(t+1)|表示集合Tl(t+1)里面的应用程序数量,将动态计算网络定义为D(O,Λ),其中O和Λ分别表示动态计算网络中顶点和连接顶点的边的集合,集合Tl(t+1)中的每个应用程序形成一个决策阶段,其中每个决策阶段有|B(t)|+1个顶点,第i个决策阶段的|B(t)|+1个顶点分别定义为oi,0、oi,1、…,oi,b、…、oi,|B(t)|,B(t)是众核系统在t时刻的暗核集合,|B(t)|表示众核系统在t时刻的暗核数量,动态计算网络中的顶点oi,b表示应用程序i、i+1、…、|Tl(t+1)|共占据b个暗核,b的取值范围为0≤b≤|B(t)|,顶点oi,b有一个动态网络值U(oi,b,d),该值表示的是在众核系统暗核数量为|B(t)|的约束下,将b个暗核分配给第i、i+1、i+2、…、|Tl(t+1)|个应用程序之后的芯片最佳的总吞吐量;在决策阶段i下的每个顶点最多连接到决策阶段i+1中的|B(t)|+1个顶点,这与分配0到|B(t)|个暗核给第i个应用程序的方案相对应;连接顶点oi,b和oi+1,k的边定义为Λ(oi,b,oi+1,k),对应于分配b-k个暗核给第i个应用程序;在动态计算网络的开始和结束,有两个虚拟的顶点s和d加入到动态计算网络中,分别表示动态计算网络的开始和结束,这两个顶点分别被称为源节点和目的节点;连接顶点oi,b和oi+1,k的边Λ(oi,b,oi+1,k)有一个效用值C(oi,b,oi+1,k),这是分配b-k暗核给第i个应用程序的吞吐量,计算公式如下所示:
Figure FDA0002524074230000061
如果b≥k,则在两个顶点oi,b和oi+1,k之间存在具有效用值为∏i(b-k)的边,否则,如果b<k,则Λ(oi,b,oi+1,k)的效用值为-∞,通过输入第i个应用程序的所有任务的平均计算量、第i个应用程序的所有任务的平均通信量、第i个应用程序的所有任务的计算量之和除以第i个应用程序的所有任务之间的通信量之和得到的商、第i个应用程序的任务数、分配的暗核数量b-k在内的参数到应用程序吞吐量模型计算得到Πi(b-k);源节点s连接到第一个决策阶段的边,即集合Tl(t+1)中的第一个应用程序的顶点与源节点s形成的边的效用值为零,最后一个决策阶段的顶点连接到目的节点d的边的效用值为Пi(b),表示将b个暗核分配给集合Tl(t+1)中的最后一个应用程序后的吞吐量为Πi(b)。
6.根据权利要1所述的一种温度约束下的暗核感知众核系统处理器资源分配方法,其特征在于,所述的计算对应动态计算网络中最长可行路径对应的吞吐量Ul(s,d)的过程如下:
构成可行路径的相邻的两个顶点相连接形成边,将所有形成的边的效用值相加的总和定义为可行路径对应的吞吐量,定义最长可行路径为具有最大吞吐量的可行路径,在动态计算网络中,利用从后往前的计算方式,即从目的节点d到源节点s计算,按照从后往前的顺序,计算每个决策阶段的每个顶点的动态网络值,当计算完成源节点s的动态网络值时,得到从第一应用程序到最后一个应用程序所有可行的核心分配方案中具有的最大吞吐量的核心分配方案即最长可行路径和最长可行路径的吞吐量Ul(s,d),即源节点s的动态网络值为最长可行路径的对应的吞吐量;动态计算网络中最长可行路径为:从源结点s出发,首先查找与源节点s相连而产生源节点s的动态网络值的第一决策阶段的顶点,即所查找到的顶点是在计算源节点s的动态网络值时候记录的顶点,该顶点在第一决策阶段,然后从第一决策阶段查找到的顶点出发,查找与该顶点相连而产生该顶点的动态网络值的第二决策阶段的顶点,并以此类推,直到目的节点d,所查找到的点相连接而形成的路径为具有最大吞吐量的可行路径。
7.根据权利要求5所述的一种温度约束下的暗核感知众核系统处理器资源分配方法,其特征在于,所述的动态计算网络中顶点oi,b的动态网络值U(oi,b,d)为:
顶点oi,b的动态网络值表示的是在众核系统暗核数量为|B(t)|的约束下,将b个暗核分配给第i、i+1、i+2、…、|Tl(t+1)|个应用程序之后的芯片最佳的总吞吐量;顶点oi,b的动态网络值U(oi,b,d)的计算公式如下所示:
Figure FDA0002524074230000081
即U(oi,b,d)计算的过程为:首先计算每一条与顶点oi,b连接的边Λ(oi,b,oi+1,k)的效用值C(oi,b,oi+1,k)与相应顶点oi+1,k的动态网络值相加的和,然后取最大的相加值作为顶点oi,b的动态网络值,并同时记录和oi,b相连后产生最大相加值即动态网络值的顶点ν(oi,b),即ν(oi,b)计算公式为:
Figure FDA0002524074230000082
CN202010499055.7A 2020-06-04 2020-06-04 一种温度约束下的暗核感知众核系统处理器资源分配方法 Active CN111897648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010499055.7A CN111897648B (zh) 2020-06-04 2020-06-04 一种温度约束下的暗核感知众核系统处理器资源分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010499055.7A CN111897648B (zh) 2020-06-04 2020-06-04 一种温度约束下的暗核感知众核系统处理器资源分配方法

Publications (2)

Publication Number Publication Date
CN111897648A true CN111897648A (zh) 2020-11-06
CN111897648B CN111897648B (zh) 2022-06-14

Family

ID=73206614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010499055.7A Active CN111897648B (zh) 2020-06-04 2020-06-04 一种温度约束下的暗核感知众核系统处理器资源分配方法

Country Status (1)

Country Link
CN (1) CN111897648B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332869A1 (en) * 2009-06-26 2010-12-30 Chin-Fan Hsin Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
US20140359335A1 (en) * 2013-05-30 2014-12-04 Korea Advanced Institute Of Science And Technology Multi-core apparatus and job scheduling method thereof
CN105550159A (zh) * 2015-12-16 2016-05-04 广州中国科学院先进技术研究所 多核处理器片上网络的功率分配方法
CN109960576A (zh) * 2019-03-29 2019-07-02 北京工业大学 一种面向cpu-gpu异构的低能耗任务调度策略

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332869A1 (en) * 2009-06-26 2010-12-30 Chin-Fan Hsin Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
CN102460342A (zh) * 2009-06-26 2012-05-16 英特尔公司 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置
US20140359335A1 (en) * 2013-05-30 2014-12-04 Korea Advanced Institute Of Science And Technology Multi-core apparatus and job scheduling method thereof
CN104216774A (zh) * 2013-05-30 2014-12-17 三星电子株式会社 多核设备及其作业调度方法
CN105550159A (zh) * 2015-12-16 2016-05-04 广州中国科学院先进技术研究所 多核处理器片上网络的功率分配方法
CN109960576A (zh) * 2019-03-29 2019-07-02 北京工业大学 一种面向cpu-gpu异构的低能耗任务调度策略

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XIAOHANG WANG ET.AL: "Bubble Budgeting: Throughput Optimization for Dynamic Workloads by Exploiting Dark Cores in Many Core Systems", 《IEEEXPLORE》 *
XIAOHANG WANG ET.AL: "Exploiting Dark Cores for Performance Optimization via Patterning for Many-core Chips in the Dark Silicon Era", 《IEEEXPLORE》 *
李冰: "片上网络系统中感知通信和温度的任务映射算法研究", 《中国优秀博硕士论文全文数据库(硕士)信息科技辑》 *

Also Published As

Publication number Publication date
CN111897648B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
He et al. AMTS: Adaptive multi-objective task scheduling strategy in cloud computing
Penmatsa et al. Game-theoretic static load balancing for distributed systems
CN113193984B (zh) 一种空天地一体化网络资源映射方法及系统
Cui et al. A novel offloading scheduling method for mobile application in mobile edge computing
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN109918199B (zh) 基于gpu的分布式图处理系统
Kanduri et al. Dark silicon aware runtime mapping for many-core systems: A patterning approach
CN108270805B (zh) 用于数据处理的资源分配方法及装置
CN107122244A (zh) 一种基于多gpu的图数据处理系统及方法
WO2022001086A1 (zh) 一种高效的gpu资源分配优化方法和系统
CN111813506A (zh) 一种基于粒子群算法资源感知计算迁移方法、装置及介质
Marotta et al. A Joint Power Efficient Server and Network Consolidation approach for virtualized data centers
CN111159859B (zh) 一种云容器集群的部署方法及系统
Song et al. Server consolidation energy-saving algorithm based on resource reservation and resource allocation strategy
Wang et al. Exploiting dark cores for performance optimization via patterning for many-core chips in the dark silicon era
CN103997515A (zh) 一种分布式云中计算中心选择方法及其应用
CN113535397B (zh) 一种智能车辆边缘计算网络的资源分配方法
CN114064294A (zh) 移动边缘计算环境下的动态资源分配方法和系统
Maurya Resource and task clustering based scheduling algorithm for workflow applications in cloud computing environment
CN110308991B (zh) 一种基于随机任务的数据中心节能优化方法及系统
CN111897648B (zh) 一种温度约束下的暗核感知众核系统处理器资源分配方法
Grow et al. A game-theoretic model and algorithm for load balancing in distributed systems
Li et al. On runtime communication-and thermal-aware application mapping in 3D NoC
CN112769910A (zh) 基于动态电压调节技术的雾计算任务卸载方法
CN109101315B (zh) 基于包簇框架的云数据中心资源分配方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant