CN103034615B - 一种适用于流应用多核处理器的存储管理方法 - Google Patents

一种适用于流应用多核处理器的存储管理方法 Download PDF

Info

Publication number
CN103034615B
CN103034615B CN201210524047.9A CN201210524047A CN103034615B CN 103034615 B CN103034615 B CN 103034615B CN 201210524047 A CN201210524047 A CN 201210524047A CN 103034615 B CN103034615 B CN 103034615B
Authority
CN
China
Prior art keywords
priority
network node
memory access
program
memory management
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
Application number
CN201210524047.9A
Other languages
English (en)
Other versions
CN103034615A (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.)
Memcomsoc Microelectronics Co Ltd
Original Assignee
Memcomsoc Microelectronics Co Ltd
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 Memcomsoc Microelectronics Co Ltd filed Critical Memcomsoc Microelectronics Co Ltd
Priority to CN201210524047.9A priority Critical patent/CN103034615B/zh
Publication of CN103034615A publication Critical patent/CN103034615A/zh
Application granted granted Critical
Publication of CN103034615B publication Critical patent/CN103034615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种适用于流应用多核处理器的存储管理方法,主要包括:每个网络节点的存储管理部件DME,对相应网络节点的程序运行时间和访存参数的相应数据进行收集;所述存储管理部件DME,将收集所得相应数据进行打包,并通过片上网络汇总到主控制处理器;所述主控制处理器对各网络节点的程序运行时间和访存参数的相应数据进行统一处理;该访存参数包括访存模型和访存开销。本发明所述适用于流应用多核处理器的存储管理方法,可以克服现有技术中访存开销大、空间分配平衡性差和系统应用性能差等缺陷,以实现访存开销小、空间分配平衡性好和系统应用性能好的优点。

Description

一种适用于流应用多核处理器的存储管理方法
技术领域
本发明涉及片上网络多核处理器技术领域,具体地,涉及一种适用于流应用多核处理器的存储管理方法。
背景技术
目前,多核处理器设计已经成为各应用领域中的主流趋势,而有关片上网络互联的多核处理器研究也是学术界的热点。
当前学术界中普遍采用的片上网络多核处理器架构,是将每个处理器挂载到片上网络路由节点上,每个节点的处理器可以访问本节点的存储,也可以通过片上网络访问网络节点的存储,由于访问网络节点存储受到距离和网络通信模式影响较大,则可能导致花费在网络访存上的开销随着网络规模的增大而明显增大。
考虑到在流应用领域中,进程执行往往是核心算法的不断迭代,组织方式也多为流水线形式,同时,对存储的访问往往呈现出较为规整的块访问模式,因此,可以基于此类型应用提出一种存储管理机制,用来实现存储分配的优化,使得由于访存给应用程序造成的影响降到最小程度。之前的研究有采用静态编译器指导的存储分配,但是,很显然,这种方式不能够在运行时,随着进程运行参数和访存模式的时变而动态调整存储分配,也就无法在所有情况下都能够获得很好的性能优化。
在实现本发明的过程中,发明人发现现有技术中至少存在访存开销大、空间分配平衡性差和系统应用性能差等缺陷。
发明内容
本发明的目的在于,针对上述问题,提出一种适用于流应用多核处理器的存储管理方法,以实现访存开销小、空间分配平衡性好和系统应用性能好的优点。
为实现上述目的,本发明采用的技术方案是:一种适用于流应用多核处理器的存储管理方法,主要包括:
每个网络节点的存储管理部件(DME),对相应网络节点的程序运行时间和访存参数的相应数据进行收集;
所述存储管理部件(DME),将收集所得相应数据进行打包,并通过片上网络汇总到主控制处理器;
所述主控制处理器对各网络节点的程序运行时间和访存参数的相应数据进行统一处理;该访存参数包括访存模型和访存开销。
进一步地,所述主控制处理器对各网络节点的程序运行时间和访存参数的相应数据进行统一处理的操作,具体包括:
主控制处理器基于各网络节点的程序运行时间和访存参数的相应数据,在当前数据未达到预设的迭代上限值、且在需要对该网络节点的中间数据表进行调度并更新时,配置与该网络节点相关的存储管理部件(DME),进行存储的搬移或替换,完成中间数据表的更新;
完成中间数据表的更新后,主控制处理器更新该网络节点各端口的优先级。
进一步地,所述主控制处理器更新该网络节点各端口的优先级的操作,具体包括:
主控制处理器运行预设算法,根据各网络节点的程序运行时间和历史运行时间,更新各网络节点的核程序执行的平均时间;
根据各网络节点的核程序执行的历史平均时间,为每个核程序更新优先级;
更新完成各核程序的优先级后,主控制处理器根据预设最优标准对当前优先级分布进行评判,并根据评判结果更新当前优先级分布。
进一步地,所述为每个核程序更新优先级的操作,具体包括:
主控制处理器按照历史平均时间的时长优先级从高到低的原则进行分配,推算片上存储的每个页具体归属于多核程序中的哪个核程序、以及该核程序访问该页所花费的时间,并且依次为每个页编排优先级;如果某核程序访问某页所需时间最长,则称该页隶属于该核程序的优先级最高。
进一步地,所述根据评判结果更新当前优先级分布的操作,具体包括:
在当前优先级分布不是最优时,主控制处理器根据当前优先级统计结果,进行模拟存储调度,并推算调度后最慢核程序的执行时间;
在推算调度后最慢核程序的执行时间的过程中:
如果发现模拟调度后,最高优先级的核程序(模拟调度后最高优先级的核可能发生变更)的性能比模拟调度前提升;则将按照更新后的模拟调度方式进行物理存储调度,否则将更新后的模拟调度方式作废;
如果确定需要进行物理存储调度,则将隶属于最高优先级核程序的远端存储块搬移或替换到其紧邻邻域,则本轮存储调度完成。
进一步地,所述根据评判结果更新当前优先级分布的操作,具体还包括:
在主控制处理器中一个主控制核程序上,运行实时判决与调度算法;该判决算法能够依据当前优先级统计和访存统计,决定是否执行存储调度,调度算法则决定如何将远端的高优先级存储块搬移或替换到其所隶属于的高优先级核的邻近位置。
进一步地,所述每个网络节点的存储管理部件(DME),支持收集程序运行包含时间的性能参数、以及包含访问页面以及次数统计的访存模型;支持消息的打包与发送,包括将性能参数和访存参数通过打包发送给系统的主控制核,以及从主控制核接收消息,指导存储搬移;每个网络节点的存储管理部件(DME),具有片上存储搬移的功能,支持以页为单位的存储块搬移。
进一步地,所述每个网络节点的存储管理部件(DME),还支持片上网络间的存储块搬移,能够接收主控制器发布的待搬移块起始地址和目的地址、以及目标块的起始地址,并进行直接片上存储搬移。
本发明各实施例的适用于流应用多核处理器的存储管理方法,由于主要包括:每个网络节点的存储管理部件(DME),对相应网络节点的程序运行时间和访存参数的相应数据进行收集;存储管理部件(DME),将收集所得相应数据进行打包,并通过片上网络汇总到主控制处理器;主控制处理器对各网络节点的程序运行时间和访存参数的相应数据进行统一处理;该访存参数包括访存模型和访存开销;可以运行时根据进程优先级与存储访问模型,进行存储数据搬移调度,以获得较好的应用性能;即通过动态调度片上网络存储分配,来提高应用性能;从而可以克服现有技术中访存开销大、空间分配平衡性差和系统应用性能差的缺陷,以实现访存开销小、空间分配平衡性好和系统应用性能好的优点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是适用于流应用多核处理器的存储管理方法的工作流程示意图;
图2a(DME统计程序运行时间架构)和图2b(DME转换访存地址为物理地址过程以及访存模型的统计过程)为DME收集本地节点运行参数和访存模型并发送给主控制器的流程示意图;
图3为进程运行时间、优先级列表和页归属、优先级列表;
图4为路由距离列表。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
根据本发明实施例,如图1-图4所示,提供了一种适用于流应用多核处理器的存储管理方法。
参见图1,本实施例的适用于流应用多核处理器的存储管理方法,主要包括:
步骤1:每个节点(即网络节点)的存储管理部件(DME),对相应网络节点的程序运行时间和访存参数(包括访存模型和访存开销)的相应数据进行收集;存储管理部件(DME),将收集所得相应数据进行打包,并通过片上网络汇总到主控制处理器;主控制处理器对各网络节点的程序运行时间和访存参数的相应数据进行统一处理,执行步骤2;
步骤2:主控制处理器判断当前数据是否达到预设的迭代上限值,若是,则结束相应处理;否则,执行步骤3;
步骤3:判断是否需要对该网络节点的中间数据表进行调度并更新,若是,则执行步骤4;否则,结束相应处理;
步骤4:配置与该网络节点相关的存储管理部件(DME),进行存储的搬移或替换,完成中间数据表的更新,执行步骤5;
步骤5:完成中间数据表的更新后,主控制处理器更新该网络节点各端口的优先级;即,主控制处理器运行预设算法,根据各网络节点的程序运行时间和历史运行时间,更新各网络节点的核程序执行的平均时间;
例如,主控制处理器运行的预设算法,可以如下:
00:foreach(1≤i≤N)
01:proc_th[i]=C==1?proc_time[i]:proc_th[i]*A+proc_time[i]*(1-A)
02:endfor
根据各网络节点的核程序执行的历史平均时间,为每个核程序更新优先级;
更新完成各核程序的优先级后,主控制处理器根据预设最优标准对当前优先级分布进行评判,并根据评判结果更新当前优先级分布;
在步骤5中,为每个核程序更新优先级的操作,具体包括:
主控制处理器按照历史平均时间的时长优先级从高到低的原则进行分配,推算片上存储的每个页具体归属于多核程序中的哪个核程序、以及该核程序访问该页所花费的时间,并且依次为每个页编排优先级;如果某核程序访问某页所需时间最长,则称该页隶属于该核程序的优先级最高。
在步骤5中,根据评判结果更新当前优先级分布的操作,具体包括:
在当前优先级分布不是最优时,主控制处理器根据当前优先级统计结果,进行模拟存储调度,并推算调度后最慢核程序的执行时间;
在推算调度后最慢核程序的执行时间的过程中:
如果发现模拟调度后,最高优先级的核程序(模拟调度后最高优先级的核程序可能发生变更)的性能比模拟调度前提升;则将按照更新后的模拟调度方式进行物理存储调度,否则将更新后的模拟调度方式作废;
如果确定需要进行物理存储调度,则将隶属于最高优先级核程序的远端存储块搬移或替换到其紧邻邻域,则本轮存储调度完成;以及,
在主控制处理器中一个主控制核程序上,运行实时判决与调度算法;该判决算法能够依据当前优先级统计和访存统计,决定是否执行存储调度,调度算法则决定如何将远端的高优先级存储块搬移或替换到其所隶属于的高优先级核的邻近位置。
在上述步骤1至步骤5中,每个网络节点的存储管理部件(DME),支持收集程序运行包含时间的性能参数、以及包含访问页面以及次数统计的访存模型;支持消息的打包与发送,包括将性能参数和访存参数通过打包发送给系统的主控制核,以及从主控制核接收消息,指导存储搬移;每个网络节点的存储管理部件(DME),具有片上存储搬移的功能,支持以页为单位的存储块搬移。
在上述步骤1至步骤5中,每个网络节点的存储管理部件(DME),还支持片上网络间的存储块搬移,能够接收主控制器发布的待搬移块起始地址和目的地址、以及目标块的起始地址,并进行直接片上存储搬移。
图2可以展示DME统计程序运行时间和访存模型的架构。其中,在程序中可以插入用户自定义计时点,一般的流应用程序进程就是不断地从入口执行到出口再循环到入口继续执行,因此,可以在程序的入口和出口设置计时起点和终点,由平台提供的调用开启接口(time_cal_start)和关闭接口(time_cal_end)分别确定,这两个调用将计时点信息传递给DME,DME负责计算本循环所用的时间。
同时,由于DME是该节点访存的代理部件,可以收集本节点处理器的访存信息。在上述实施例中,存储管理的基本单位是页,片上网络存储按页划分,包括页号(tag)和页内地址(addr)两个部分,DME需要检测tag来统计当前节点对该页的访问频度。最后将这些信息通过消息打包,发送给系统的主控制核。
例如,算法1为主控制核程序对系统中应用进程优先级和页面归属关系的管理算法,该算法具体如下:
算法1:进程与页面列表初始化与更新算法
输入:应用程序每轮计算产生的进程运行时间列表proc_time和访存频度mem_fq
参数:进程运行时间历史记录权重A,页面访存历史频度记录权重B,轮次C,计数i,j
当前瓶颈进程运行时间tbn,进程数N,页面数K
程序进程历史运行时间列表proc_th和访存历史频度mem_fh
输出:应用程序的进程优先级列表proc_prt和页面优先级mem_prt
初始化:C=0;tbn=8
foreach(1≤i≤N)
proc_th[i]=0;
endfor
foreach(1≤i≤K)
foreach(1≤j≤N)
mem_fh[i][j]=0;
endfor
endfor
/*更新进程历史运行时间列表*/
00:foreach(1≤i≤N)
01:proc_th[i]=C==1?proc_time[i]:proc_th[i]*A+proc_time[i]*(1-A)
02:endfor
/*更新进程优先级列表*/
03:sort(proc_th)/*从大到小排序proc_th*/
04:foreach(1≤i≤N)
05:if(proc_th[i]排在第m位)
06:proc_prt[i]=N-m+1;
07:endif
08:endfor
/*更新页面历史频度列表*/
09:foreach(1≤i≤N)
10:foreach(1≤j≤K)
11:mem_fh[i][j]=C==1?mem_fq[i][j]:mem_fh[i][j]*B+mem_fq[i][j]*(1-B)
12:endfor
13:endfor
/*更新页面优先级列表*/
14:foreach(1≤i≤N)
15:sort(mem_fh[i])/*从大到小排序mem_fh[i]*/
16:foreach(1≤j≤K)
17:if(mem_fh[j]排在第m位且mem_fh[j]!=0)
18:mem_prt[i][j]=K-m+1;
19:else
20:mem_prt[i][j]=0;
21:endif
22:endfor
23:endfor
/*更新页面优先级列表*/
24:if(proc_prt[i]==N)
25:tbn=proc_th[i]
26:endif
在算法1中,在应用程序完成任务划分和映射后,可以得到进程(核)数N,主控制核建立一张长度为N的表格,每个表项对应一个应用核,这个表主要用来记录历史上每个进程所用的平均时间ti,i∈[1,N],按照加权算术平均的方法进行更新,并且按需求时间从长到短从高到低分配进程优先级prti,i∈[1,N]。由第一轮循环得到的数据进行上面表格的初始化。假定每个节点存储容量为S,系统设置的页大小为P,网络节点数目为M,则整个系统中的页面数目为SM/P,记作K,每个页表项PAGEi可以被至多N个进程访问,用标记“→”表示这种隶属关系。记进程集合为PROC,页面集合为PAGE,用标记“[]”表示表项的某一个属性,则:
该公式用来对页面集合(PAGE)的priority表项进行填写,如果某一个页面(例如PAGEj不被某一个进程PROCi访问,则该表项为0,否则,表项值等于调用shuffle函数得到的值)。
函数shuffle按照进程j的访问频度access_frequencyj从高到低排序,在排序后将其从高到低顺次映射到从K开始逐次递减1的逆序序列上。访问频度同样需要记录,并且按照加权算术平均的方法进行更新。以上表信息均在第一轮应用执行后进行初始化。
又如,算法2(最优访存模型判决算法)和算法3(模拟存储调度算法)是在在算法1的基础上,展示主控制核运行算法来决定是否进行调度算法,该算法具体如下:
算法2:判断当前瓶颈进程的访存模式是否最优并填表
输入:隶属于最高优先级进程的页面优先级列表mem_prt
参数:mem_prt中的表项item,MESH网络的边长M,路由距离列表route_list,
item对应的页号page,item对应的页优先级priority,瓶颈进程所在空间坐标(X,Y)
输出:是否最优标志isOptimized,占据近路由距离的低优先级节点列表lowPriority
占据远路由距离的高优先级节点列表highPriority
/*首先将每个页号转换成MESH网络里面与瓶颈进程所在节点的路由距离并填表*/
00:foreach(item∈mem_prt)
01:route_list[abs(X-page%M)+abs(Y-page/M)].push_back(priority)
02:endfor
/*判断route_list是否按照高优先级页离(X,Y)近的规律排列,称这种排序为goodOrder,如果是则表示当前瓶颈进程的访存模型已经最优,否则必然存在低优先级页占据近路由距离,而高优先级页落入远路由距离*/
03:if(isGoodOrder(route_list))
04:isOptimized=1
05:else
06:isOptimized=0
07:fillList(lowPriority)/*记录占据近距离的低优先级节点,作为后续优化的输入*/
08:fillList(highPriority)/*记录占据远距离的高优先级节点,作为后续优化的输入*/
09:endif
算法3:模拟调度
输入:列表lowPriority,highpriority,进程历史时间列表proc_th,瓶颈进程运行时间tbn
参数:highPriority列表中优先级最高距离最远的页pageh,lowPriority列表中距离最近优先级最低的页pagel,调度后瓶颈进程运行时间tbn2
输出:是否调度toSchedule,待交换页面对(src,dst)
/*调度优先考虑pageh,以及pagel,模拟调度考虑将这两个页互换,然后估算调度后引起的应用瓶颈进程执行时间变化*/
00:tbn2=shecduleSpeculation(pageh,pagel);
01:if(tbn2>tbn)/*调度后瓶颈进程执行时间反而增大,不可取调度*/
02:toSchedule=0;
03:else
04:toSchedule=1;
05:(src,dst)=(pageh,pagel);
06:endif
在算法2和算法3所示的算法中,该调度算法的关键是找到本轮循环之后所有进程中的瓶颈进程,记其程序执行时间为t,访存模型为MP,MP记录了该进程对不同的页的访问频度、优先级以及该页的端口配置情况,这些信息可以从PAGE表的相关页表项中查询。接着查询MP,如果检测到存在高优先级的页不在关键进程的邻近区域,则判断是否能将这些页移动到离该进程尽量近的空间,如果发现这样的移动不可行,或者说离该进程紧邻的空间已经全部被更高优先级的存储占据,则认为当前的存储分配已经是最优,算法结束。否则,如果存在可供这些页面移入或者替换入的紧邻空间,则开始模拟替换后的存储分配对整个应用的影响,此处,不需要更新所有的进程参数,只需要找到受本次模拟调度影响的进程,估计调度后给各个进程带来的额外开销,估算出调度后系统瓶颈进程(可能已经发生了变更,非调度前的瓶颈进程)的运行时间,如果这个数值大于调度前瓶颈进程的运行时间,表明这次调度是不可取的,定义为“不可取调度”,算法结束。反之,如果认定此次调度可行,则将上面的模拟调度进行物理实现,主要是要配置相关的DME,使之启动存储搬移,这样,一次存储优化过程结束。函数scheduleSpeculation的推测基于以下公式: ∀ i ∈ [ 1 , N ] , 如果 PAGE i p a g e x [ p r i o r i t y ] ≠ 0 , ∀ p a g e x ∈ { p a g e h , p a g e l }
则估算调度后受影响的时间 t a f t e r = t b e f o r e + Σ ∀ p a g e x ∈ { p a g e h , p a g e l } PAGE i p a g e x [ f r e q u e n c y ] * Δ d i s tan c e * γ , 其中,表示进程i中pagex对应的页面的优先级表项,pageh表示highPriority列表中优先级最高距离最远的页面,pagel表示lowPriority列表中优先级最低距离最近的页面,pagex是中间变量,用来表示pageh或者pagel,tbefore表示调度之前的时间,而tafter为调度后的时间:
Δdistance=(|xafger-X|+|yafter-Y|)-(|xbefore-X|+|ybefore-Y|);
为受影响核MESH坐标,(xafter,yafter)为调度后pagex的坐标,(xbefore,ybefore)为调度前pagex的坐标。γ表征单位路由距离增加的通信时间,是一个平台相关参数,可以由实验平台上测试结果记性估计。
算法循环至存储调度判决部分继续进行下一次优化,为了保证调度算法不会陷入深度循环,可以设置迭代上限,具体取值可以根据实际情况进行设定,如果实际应用循环花费时间远远超过算法迭代一次的时间,则该上限可以适当取得大一些,否则就尽量取小。
上述实施例的适用于流应用多核处理器的存储管理方法,采用动态方式,在运行时收集运行参数和访存模型,并由主控制核执行调度算法进行存储的优化分配,使得关键的进程能够拥有最高的优先级,并且将其访存块尽量搬移到物理上离其近的存储空间上,从而减小访存开销,提高应用的性能。
上述实施例的适用于流应用多核处理器的存储管理方法,软硬件架构包括:
⑴硬件上,DME可以收集程序运行参数以及访存模型(访问页面以及次数的统计);DME可以打包与发送性能参数和访存参数给系统的主控制核,以及从主控制核接收消息,指导存储搬移;DME具有片上存储搬移的功能,支持以页为单位的存储块搬移。
⑵软件上,主控制核负责管理每个核(对应应用的某个进程)的优先级与片上网络存储页的隶属关系及其优先级,并可以根据实时数据更新这些数据;主控制核可以执行模拟存储调度算法,如果该模拟结果显示进行调度可以改善系统的性能,则再进行高优先级的存储块的搬移或替换。
与基于编译器指导的静态调度方法相比,上述实施例的适用于流应用多核处理器的存储管理方法,能够在运行时进行实时监控和调度,从而可以紧密跟随应用程序进程的时变需求,得出当前较优的存储分配方案,因此,能够更好地符合应用的行为,获得全面较优的性能提升。
综上所述,本发明上述各实施例的适用于流应用多核处理器的存储管理方法,属于片上网络多核处理器领域,具体为一种能够在程序运行时根据实时进程优先级与存储访问模型进行存储数据调度以获得较好性能的软硬件架构。该架构采用可配置大小的页为基本存储管理单元,由每个处理器节点的存储管理部件获得该节点程序执行的时间和访存模型与开销,将这些信息通过片上网络汇总到主控制处理器节点,主控节点运行分析算法,来判决当前是否需要进行存储调度,如果需要存储调度,则调用存储调度算法,对高优先级进程进行访存优化,将被该高优先级进程频繁访问的片上网络远端存储块调度到离高优先级进程所在核紧邻的位置,从而减小此瓶颈进程的总体执行时间,平衡系统。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种适用于流应用多核处理器的存储管理方法,其特征在于,主要包括:
每个网络节点的存储管理部件DME,对相应网络节点的程序运行时间和访存参数的相应数据进行收集;
所述存储管理部件DME,将收集所得相应数据进行打包,并通过片上网络汇总到主控制处理器;
所述主控制处理器对各网络节点的程序运行时间和访存参数的相应数据进行统一处理;该访存参数包括访存模型和访存开销;每个网络节点的存储管理部件DME,支持收集程序运行包含时间的性能参数、以及包含访问页面以及次数统计的访存模型;支持消息的打包与发送,包括将性能参数和访存参数通过打包发送给系统的主控制核,以及从主控制核接收消息,指导存储搬移;每个网络节点的存储管理部件DME,具有片上存储搬移的功能,支持以页为单位的存储块搬移;所述主控制处理器对各网络节点的程序运行时间和访存参数的相应数据进行统一处理的操作,具体包括:
主控制处理器基于各网络节点的程序运行时间和访存参数的相应数据,在当前数据未达到预设的迭代上限值,且在需要对该网络节点的中间数据表进行调度并更新时,配置与该网络节点相关的存储管理部件DME,进行存储的搬移或替换,完成中间数据表的更新;完成中间数据表的更新后,主控制处理器更新该网络节点各端口的优先级。
2.根据权利要求1所述的适用于流应用多核处理器的存储管理方法,其特征在于,所述主控制处理器更新该网络节点各端口的优先级的操作,具体包括:
主控制处理器运行预设算法,根据各网络节点的程序运行时间和历史运行时间,更新各网络节点的核程序执行的平均时间;根据各网络节点的核程序执行的历史平均时间,为每个核程序更新优先级;更新完成各核程序的优先级后,主控制处理器根据预设最优标准对当前优先级分布进行评判,并根据评判结果更新当前优先级分布。
3.根据权利要求2所述的适用于流应用多核处理器的存储管理方法,其特征在于,所述为每个核程序更新优先级的操作,具体包括:
主控制处理器按照历史平均时间的时长优先级从高到低的原则进行分配,推算片上存储的每个页具体归属于多核程序中的哪个核程序、以及该核程序访问该页所花费的时间,并且依次为每个页编排优先级;如果某核程序访问某页所需时间最长,则称该页隶属于该核程序的优先级最高。
4.根据权利要求2所述的适用于流应用多核处理器的存储管理方法,其特征在于,所述根据评判结果更新当前优先级分布的操作,具体包括:
在当前优先级分布不是最优时,主控制处理器根据当前优先级统计结果,进行模拟存储调度,并推算调度后最慢核程序的执行时间;在推算调度后最慢核程序的执行时间的过程中:如果发现模拟调度后,最高优先级的核程序的性能比模拟调度前提升;则将按照更新后的模拟调度方式进行物理存储调度,否则将更新后的模拟调度方式作废;如果确定需要进行物理存储调度,则将隶属于最高优先级核程序的远端存储块搬移或替换到
其紧邻邻域,则本轮存储调度完成。
5.根据权利要求4所述的适用于流应用多核处理器的存储管理方法,其特征在于,所述根据评判结果更新当前优先级分布的操作,具体还包括:
在主控制处理器中一个主控制核程序上,运行实时判决与调度算法;该判决算法能够依据当前优先级统计和访存统计,决定是否执行存储调度,调度算法则决定如何将远端的高优先级存储块搬移或替换到其所隶属于的高优先级核的邻近位置。
6.根据权利要求1-5中任一项所述的适用于流应用多核处理器的存储管理方法,其特征在于,所述每个网络节点的存储管理部件DME,还支持片上网络间的存储块搬移,能够接收主控制器发布的待搬移块起始地址和目的地址、以及目标块的起始地址,并进行直接片上存储搬移。
CN201210524047.9A 2012-12-07 2012-12-07 一种适用于流应用多核处理器的存储管理方法 Active CN103034615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210524047.9A CN103034615B (zh) 2012-12-07 2012-12-07 一种适用于流应用多核处理器的存储管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210524047.9A CN103034615B (zh) 2012-12-07 2012-12-07 一种适用于流应用多核处理器的存储管理方法

Publications (2)

Publication Number Publication Date
CN103034615A CN103034615A (zh) 2013-04-10
CN103034615B true CN103034615B (zh) 2016-04-13

Family

ID=48021520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210524047.9A Active CN103034615B (zh) 2012-12-07 2012-12-07 一种适用于流应用多核处理器的存储管理方法

Country Status (1)

Country Link
CN (1) CN103034615B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254403A (zh) * 2015-06-09 2016-12-21 中兴通讯股份有限公司 数据的迁移方法及装置
WO2021134521A1 (zh) * 2019-12-31 2021-07-08 北京希姆计算科技有限公司 一种存储管理装置及芯片

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145873B2 (en) * 2005-02-23 2012-03-27 Yaolong Zhu Data management method for network storage system and the network storage system built thereof
CN102446159A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器的数据管理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145873B2 (en) * 2005-02-23 2012-03-27 Yaolong Zhu Data management method for network storage system and the network storage system built thereof
CN102446159A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器的数据管理方法及装置

Also Published As

Publication number Publication date
CN103034615A (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
Afifi et al. Heuristic solutions for the vehicle routing problem with time windows and synchronized visits
CN104636187B (zh) 基于负载预测的numa架构中虚拟机调度方法
CN104364780B (zh) 基于云的频谱管理分析
CN106936883A (zh) 用于云系统的方法和装置
CN105373432B (zh) 一种基于虚拟资源状态预测的云计算资源调度方法
CN106030452B (zh) 计算系统的备用电源管理
CN109918199B (zh) 基于gpu的分布式图处理系统
CN106133696A (zh) 缩放云资源时动态标识目标容量
CN110474808A (zh) 一种流量预测方法及装置
CN105808339B (zh) 大数据并行计算方法及装置
CN102812439A (zh) 多处理器计算机系统中的功率管理
US20130312001A1 (en) Task allocation optimization system, task allocation optimization method, and non-transitory computer readable medium storing task allocation optimization program
CN113037800B (zh) 作业调度方法以及作业调度装置
CN101013386A (zh) 基于反馈机制的网格任务调度方法
CN104536804A (zh) 面向关联任务请求的虚拟资源调度系统及调度和分配方法
CN1963762A (zh) 堆栈管理系统及方法
CN107317836A (zh) 一种混合云环境下时间可感知的请求调度方法
CN115220900B (zh) 一种基于作业功耗预测的节能调度方法及系统
CN104679663A (zh) 寄存器文件高速缓存的软分区
US10152354B2 (en) Optimized thread scheduling on processor hardware with performance-relevant shared hardware components
CN109587072A (zh) 分布式系统全局限速系统及方法
CN105549716A (zh) 具有热机制的计算系统及其操作方法
CN103034615B (zh) 一种适用于流应用多核处理器的存储管理方法
CN103543901B (zh) 生成菜单的方法和装置
Zhuang et al. Rack retrieval and repositioning optimization problem in robotic mobile fulfillment 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