CN114356588B - 一种数据预加载方法和装置 - Google Patents

一种数据预加载方法和装置 Download PDF

Info

Publication number
CN114356588B
CN114356588B CN202210268164.7A CN202210268164A CN114356588B CN 114356588 B CN114356588 B CN 114356588B CN 202210268164 A CN202210268164 A CN 202210268164A CN 114356588 B CN114356588 B CN 114356588B
Authority
CN
China
Prior art keywords
task
processing unit
data
preloading
unit block
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
CN202210268164.7A
Other languages
English (en)
Other versions
CN114356588A (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.)
Jiangsu Yuntu Semiconductor Co.,Ltd.
Original Assignee
Suzhou Yuntu Semiconductor 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 Suzhou Yuntu Semiconductor Co ltd filed Critical Suzhou Yuntu Semiconductor Co ltd
Priority to CN202210268164.7A priority Critical patent/CN114356588B/zh
Publication of CN114356588A publication Critical patent/CN114356588A/zh
Application granted granted Critical
Publication of CN114356588B publication Critical patent/CN114356588B/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种数据预加载方法和装置,所述方法包括:步骤S1:获取任务执行时的处理单元运行参数和处理单元块运行参数;步骤S2:基于处理单元运行参数作处理单元块内数据预加载,并在处理单元块内整体任务资源受限时,进入步骤S3;步骤S3:判断三级cache的换入换出率是否超过第二阈值,如果否,则基于处理单元运行参数作处理单元块外的数据预加载;步骤S4:持续监测数据并判断数据预加载时机是否到来,如果是,则返回步骤S1;否则,持续监测数据。本发明通过数据预加载的方式来动态干预任务执行过程中对资源的需求的改变;解决瓶颈资源使用冲突的问题,从而最终提高系统的整体执行效率。

Description

一种数据预加载方法和装置
技术领域
本发明属于存储空间管理技术领域,尤其涉及一种数据预加载方法和装置。
背景技术
随着半导体技术的快速发展和稳定,在同一个芯片上的处理单元个数越来越多,种类也越来越多。随着处理单元个数的增加,芯片上的计算资源密度更高,同时需要进行管理的资源和任务数量也越来越多。而目前比较流行的资源分享方式是公平分享,公平分享是指资源和任务调度中常用的调度策略,指的是当把有限的资源分配给多个用户时,根据事先定义的调度策略自动合理分配每个用户所用资源的数量。
随着用户需求类型的不断改变,任务的类型也非常多样,比如:计算资源需求型需要大量的计算资源而对存储资源需要较少;比如:存储资源需求型,对计算资源少而对存储资源需要较多,当然也有通信资源需求型等多种类型。在将这些任务调度到繁多的,结构差异较大的处理单元上后,任务本身的特性就会展现出来。例如,当两个需求类型相同或者相似的任务被调度到同一个处理单元块时,会发生很严重的CPU资源竞争,那么当大量的任务大量到来的时候,任务可能因为资源消耗殆尽而进入长时间等待的阶段,这个阶段可能有些类型的CPU资源是没有被充分利用的。又例如,当一个任务占据一个处理单元大量内存资源时,任务的性能也可能受到严重影响。现有的调度算法虽然丰富多样,但是因为任务调度的随机性太大,但是调度算法本身总是发生在任务真正被执行之前,因此,其必然有先天的劣势,尤其是随着处理单元个数的爆炸性增长,这种劣势更加凸显,基于动态执行的干预方法是一种较好的解决方案。
一种常见的动态干预方式是进行存储资源的划分,但是存储资源的划分是一种相对消极的应对方式,没有充分的利用处理单元的结构以及系统结构,是在原有已分配处理单元资源上的一种控制方式。现有技术中的数据预加载的相关研究往往是针对视频等数据依赖型任务的预加载控制,这种控制方式目的相对单一,不能应对经过类型复杂任务调度结果后的数据加载控制;本发明提出通过数据预加载的方式来动态干预任务执行过程中对资源的需求的改变;将任务对各种类型的资源敏感程度转换为量化的指标,基于该量化指标解决瓶颈的cache资源使用冲突,从而最终提高整体系统的使用效率。
发明内容
为了解决现有技术中的上述问题,本发明提出了一种数据预加载方法和装置,所述方法包含:
步骤S1:获取任务执行时的处理单元运行参数和处理单元块运行参数;具体的:获取处理单元运行参数,包括:获取处理单元块中第i处理单元的二级cache缺失率
Figure 84688DEST_PATH_IMAGE001
,二级cache的换入换出率
Figure 835518DEST_PATH_IMAGE002
;获取处理单元块运行参数,包括:获取三级cache的换入换出率
Figure 161457DEST_PATH_IMAGE003
其中:每个处理单元块中包含多个处理单元;所述每个处理单元设置有一级cache,处理单元块中设置有处理单元块内处理单元共享的二级cache,处理单元块之间共享三级cache和内存;每个处理单元运行一个任务;
步骤S2:基于处理单元运行参数作处理单元块内数据预加载,并在处理单元块内整体任务资源受限时,进入步骤S3;其中:所述处理单元块内数据预加载是针对二级cache空间的数据预加载;
所述步骤S2具体包括如下步骤:
步骤S21:判断二级cache的换入换出率TRL2是否大于第一阈值,如果是,则进入下一步骤;否则,步骤S2结束,进入步骤S4;
步骤S22:获取处理单元块中每个处理单元上运行任务的当前运行位置;
步骤S23:基于当前运行位置查找任务静态二级cache缺失率
Figure 59006DEST_PATH_IMAGE004
和任务当前二级cache缺失率
Figure 428676DEST_PATH_IMAGE005
;其中:任务静态二级cache缺失率
Figure 677255DEST_PATH_IMAGE006
为任务在基准软硬件环境下运行任务至当前运行位置时的二级cache缺失率;
步骤S24:确定是否为整体任务资源受限,如果是,则进入步骤S3,否则,进入下一步骤;
步骤S25:确定资源受限的任务,并进入下一步骤;
所述确定资源受限的任务,具体为:对于第i个任务来说,若受限指数
Figure 275727DEST_PATH_IMAGE007
,则确定所述第i个任务的资源受限;反之,为任务资源不受限的任务;
Figure 542629DEST_PATH_IMAGE008
Figure 833933DEST_PATH_IMAGE009
其中:
Figure 304228DEST_PATH_IMAGE010
为累积变量;N为任务数量,也就是,任务单元块中任务单元的数量;
步骤S26:为所述资源受限的任务作二级cache空间数据预加载;将任务资源受限任务的数据集按照受限程度的大小提前加载到二级cache空间中,使得受限程度高的任务预加载的数据占比高,反之亦然;
步骤S3:判断三级cache的换入换出率
Figure 221238DEST_PATH_IMAGE011
是否超过第二阈值,如果否,则基于处理单元运行参数作处理单元块外的数据预加载,从而提前从内存中将被冲刷出三级cache的任务中间计算数据或输入数据集中的数据加载到L3cahce中;其中:所述处理单元块外的数据预加载为针对三级cache空间的数据预加载;
步骤S4:持续监测数据并判断数据预加载时机是否到来,如果是,则返回步骤S1;否则,持续监测数据。
进一步的,所述步骤S4中,当L3cache的换入换出率TRL3不超过第二阈值时,需要进行反馈。
进一步的,所述反馈为人工反馈。
进一步的,所述反馈为基于操作系统的反馈。
进一步的,所述第一阈值和第二阈值是预设值。
一种数据预加载装置,所述数据预加载装置包括处理单元块、预加载单元;所述预加载单元用于执行所述的数据预加载方法。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述的数据预加载方法。
一种执行设备,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现所述的数据预加载方法。
一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行所述的数据预加载方法。
一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行所述的数据预加载方法。
本发明的有益效果包括:
(1)基于静态数据的指导进行L2cahce空间的数据预加载,干预后续任务执行过程中的L2cache空间竞争,并通过L2cache空间的任务间自然竞争使得L2cache空间达到新的平衡,在提高有用数据的利用率的同时,提高了软硬件资源的综合利用率;
(2)在考虑缺失率静态变化趋势的基础上为受限任务做L3cache的数据预加载,在处理单元块整体资源受限的情况下,在过滤数据使用毛刺的同时使得L3cache作为充足的缺失补充,提高了整体执行效率;
(3)通过调整因子精细化控制预加载成本,使得预加载数据发生在性能增加最大的任务上,从而在局部范围内最大化利用了预加载的控制资源。
附图说明
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1为本发明提供的一种数据预加载方法示意图。
图2为本发明实施例中的任务执行效率示意图。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
本发明提出一种数据预加载装置,所述预加载装置包括处理单元块、预加载单元;每个处理单元块中包含多个处理单元;
每个处理单元设置有私有一级cache(L1cache),处理单元块中设置有处理单元块内处理单元共享二级cache(L2cache),处理单元块之间共享三级cache(L3cache)和内存;
优选的:所述处理单元、处理单元块之间通过存储空间共享来实现数据交换;这里的存储空间为L1cache、L2cache、L3cache和内存所构成的存储空间;
优选的:不同类型存储空间中存储的数据是存在包含关系的;
如附图1所示,本发明提出一种数据预加载方法,所述方法包括如下步骤:
步骤S1:获取任务执行时的处理单元运行参数和处理单元块运行参数;具体的:每个处理单元运行一个任务;获取处理单元运行参数,包括:获取处理单元块中第i处理单元的L2cache缺失率
Figure 827799DEST_PATH_IMAGE012
,L2cache的换入换出率
Figure 290005DEST_PATH_IMAGE013
;获取处理单元块运行参数,包括:获取L3cache的换入换出率
Figure 496864DEST_PATH_IMAGE014
在当前计算速度要求越来越高的情况下,很多情况下,任务的完成时长取决于其所拥有的cache资源,瓶颈已经从内存转移到cache资源;但是,这里不对L1cache作监测是因为在任务被调度到处理单元时,该任务的L1cache资源已经固定而无法改变;
优选的:所述任务是同一个应用中具有相同的预设任务类型的任务,也可以是多个不同的应用中相同的预设任务类型的应用任务;这取决于预加载装置当前所采用的任务调度方法;
优选的:所述任务为线程任务、进程任务等;
步骤S2:基于处理单元运行参数作处理单元块内数据预加载,并在处理单元块内整体任务资源受限时,进入步骤S3;其中:所述处理单元块内数据预加载是针对L2cache空间的数据预加载;
所述步骤S2具体包括如下步骤:
步骤S21:判断L2cache的换入换出率
Figure 702718DEST_PATH_IMAGE015
是否大于第一阈值,如果是,则进入下一步骤;否则,步骤S2结束;
步骤S22:获取处理单元块中每个处理单元上运行任务的当前运行位置;
优选的:所述任务运行位置为任务执行的程序位置;
优选的:所述当前运行位置是当前的程序位置范围;例如:函数体等;
步骤S23:基于当前运行位置查找任务静态L2cache缺失率
Figure 429365DEST_PATH_IMAGE016
和任务当前L2cache缺失率
Figure 311739DEST_PATH_IMAGE017
;其中:任务静态L2cache缺失率
Figure 491048DEST_PATH_IMAGE018
为任务在基准软硬件环境下运行任务至当前运行位置时的L2cache缺失率;在连续执行任务并记录的情况下就得到了和时间相关的静态L2cache空间大小曲线;通过在不同的输入条件下多次执行任务以得到相对准确的静态数据;当然,也可以通过大数据资源获取任务执行的静态数据;在预先存储程序位置或位置范围和静态数据的对应关系之后,就可以通过查找获取所需要的数据;
优选的:所述基准软硬件环境为限定处理单元所拥有的计算和存储资源,以及在所述处理单元上执行的任务后构成的环境;例如:限定L2cache空间、L3cache空间大小、处理单元计算能力、内存大小为特定值的情况下在处理单元上单独执行任务得到的监测值;此时,在单独拥有L2cache或者L3cache时,往往任务不会发生L2cache和L3cache在任务之间的使用冲突;
优选的:静态L2cache缺失率
Figure 500592DEST_PATH_IMAGE019
为从执行开始得到的统计数据或最近的历史时间间隔得到的统计数据;当前L2cache缺失率
Figure 596593DEST_PATH_IMAGE020
是实时监测获取的动态参数;
步骤S24:确定是否为整体任务资源受限,如果是,则进入步骤S3,否则,进入下一步骤;
优选的:采用下式计算整体受限指数F1以确定是否为整体任务资源受限;如果F1大于预设指数,则认为整体任务受限;反之,认为非整体任务受限;
F1=
Figure 135022DEST_PATH_IMAGE021
步骤S25:确定资源受限的任务,并进入下一步骤;
所述确定资源受限的任务,具体为:对于第i个任务来说,若受限指数
Figure 332785DEST_PATH_IMAGE022
,则确定所述第i个任务的资源受限;反之,为任务资源不受限的任务;
Figure 129709DEST_PATH_IMAGE023
Figure 830948DEST_PATH_IMAGE024
其中:
Figure 805858DEST_PATH_IMAGE025
为累积变量;N为任务数量,也就是,任务单元块中任务单元的数量;
步骤S26:为所述资源受限的任务作L2cache空间数据预加载;将任务资源受限任务的数据集按照受限程度的大小提前加载到L2cache空间中,使得受限程度高的任务预加载的数据占比高,反之亦然;
优选的:所述受限程度用受限指数
Figure 773525DEST_PATH_IMAGE026
来指示;
从上面的计算可以看出,实际上L2cache的使用情况变化非常的快,任务的执行路径虽然和输入数据相关,在输入数据变化时,执行路径可能会产生很大的变化,对存储空间的需求也会随之而快速变化,但是静态数据仍旧具有一定的指导意义,或者说很大概率的指导意义,可以通过多次执行的统计结果作为上述静态数据的获取方式以提高有用数据的利用率;
所述将任务资源受限任务的数据集按照受限程度的大小提前加载到L2cache空间中,使得受限程度高的任务预加载的数据占比高,反之亦然;具体为:对于每个第i任务,基于所述受限指数
Figure 859293DEST_PATH_IMAGE027
为任务作L2cache的数据预加载;提前从L3cache或内存中将被冲刷出L2cache的任务中间计算数据或输入数据集中的数据加载到L2cahce中;其中:针对第i任务预加载的存储空间大小为
Figure 680618DEST_PATH_IMAGE028
;其中:
Figure 75696DEST_PATH_IMAGE029
为单位L2cache空间尺寸;
Figure 716893DEST_PATH_IMAGE030
为调整因子;
优选的:所述调整因子
Figure 606352DEST_PATH_IMAGE031
为根据处理单元、处理单元块、各类存储空间的组织方式预先设置的;
可替换的:所述调整因子
Figure 531451DEST_PATH_IMAGE032
和任务相关联,针对不同的任务设置不同的
Figure 848163DEST_PATH_IMAGE033
;优选的:通过关联于L2cache缺失率和任务执行效率的分段函数计算得到,设置
Figure 976656DEST_PATH_IMAGE034
,该分段函数使得
Figure 919073DEST_PATH_IMAGE035
的值在接近执行效率拐点时较大,而在远离时则较小;拐点是指相对于其他点,相同大小的L2cache缺失率的变化会对应较大的执行效率变化;其中:
Figure 449412DEST_PATH_IMAGE036
是第i任务的执行效率;f()是用于计算调整因子的分段函数;那么分段的个数就和性能拐点的个数密切相关了;本发明通过调整因子精细化控制预加载成本,使得预加载数据发生在性能增加最大的任务上,从而在局部范围内最大化利用了预加载的控制资源;
步骤S3:判断L3cache的换入换出率
Figure 202604DEST_PATH_IMAGE037
是否超过第二阈值,如果否,则基于处理单元运行参数作处理单元块外的数据预加载,从而提前从内存中将被冲刷出L3cache的任务中间计算数据或输入数据集中的数据加载到L3cahce中;其中:所述处理单元块外的数据预加载为针对L3cache空间的数据预加载;
由于任务所需要的数据集及其计算节奏的不同,任务在L2cache资源受限的时候未必伴随L3cache资源受限的情况,此时补充L3cache空间也不一定会带来执行效率提升,不仅如此,可能还会导致其他处理单元块的执行效率下降,从而综合效率降低;但是在处理单元块整体资源受限的情况下,L3cahce成为L2cache的数据获取补充,此时,通过L3cache的数据预加载能够提升整个处理单元块的执行效率;而在L3chache的缺失率在允许的数值下时,表明可以通过处理单元块内的资源分配来重新获取新的平衡,而反之;当处理单元数量较多时,通过L3cache调整能够获取较多情况下的再次平衡;本发明在考虑缺失率静态变化趋势的基础上为受限任务做L3cache的数据预加载,在处理单元块整体资源受限的情况下,在过滤数据使用毛刺的同时使得L3cache作为充足的缺失补充,提高了整体执行效率;
当L3cache的换入换出率TRL3不超过第二阈值时,需要进行反馈,这种反馈可以是人工反馈、人机交互反馈等;一种较好的处理方式是,在发现这种缺失是长期存在的时候,例如连续多个时间间隔都出现这种情况,可以通过扩充硬件资源的方式来缓解这种矛盾;
优选的:所述反馈为基于操作系统的反馈;例如:操作系统不响应而弹出提示界面的反馈方式;
所述步骤S3包括如下步骤:
步骤S31:获取第i任务的下一静态L2cache缺失率
Figure 67661DEST_PATH_IMAGE038
;其中:下一静态L2cache缺失率
Figure 33343DEST_PATH_IMAGE039
为相对于当前时间间隔而言的下一个时间间隔内获取的监测数据;
步骤S32: 计算第i任务的L2cache缺失率趋势,并基于所述趋势更新计算受限指数
Figure 683767DEST_PATH_IMAGE040
,使得更新后的受限指数
Figure 591549DEST_PATH_IMAGE041
反应所述趋势;
所述基于所述趋势更新计算受限指数
Figure 960213DEST_PATH_IMAGE042
,具体为:设置
Figure 729586DEST_PATH_IMAGE043
步骤S33:对于每个第i任务,基于所述更新后的受限指数
Figure 483784DEST_PATH_IMAGE044
为第i任务作L3cache的数据预加载;具体为:对于第i任务,提前从内存中将被冲刷出L3cache的任务中间计算数据或输入数据集加载到L3cahce中;针对第i任务,预加载的单位L3cache存储空间数量为
Figure 313200DEST_PATH_IMAGE045
Figure 903581DEST_PATH_IMAGE046
;其中:
Figure 725913DEST_PATH_IMAGE047
为单位L3cache存储空间空间尺寸;
Figure 554192DEST_PATH_IMAGE048
为调整因子,所述调整因子为根据处理单元、处理单元块、各类存储空间的组织方式预先设置的;由于L3cache空间相对较大,预加载是以单位空间尺寸为加载单元的;
优选的:将
Figure 809636DEST_PATH_IMAGE049
用四舍五入的方式取整后进行数据的预加载,那么就可能存在因为趋势更新结果而使得预加载的单位数据空间数量为0的情况出现;通过这样的方式去除了一些因为数据使用峰值带来的毛刺数据,避免了来回的数据切换;当然我们也可以选择更多延后时间间隔的监测数据来获取;
可替换的:将
Figure 887313DEST_PATH_IMAGE050
用舍零的方式取整后进行数据的预加载;
优选的:所述第一阈值和第二阈值是预设值;可根据大数据或经验设置;
步骤S4:持续监测数据并判断数据预加载时机是否到来,如果是,则返回步骤S1;否则,持续监测数据;
所述判断数据预加载时机是否到来,具体为:判断数据预加载装置的监测参数是否达到检测范围,如果是,则确定预加载时机到来;
优选的:基于预设时间间隔作持续监测,并获取监测数据;
优选的:所述监测参数为一个或者多个;
优选的:所述监测参数包括:L2cache缺失率、L3cache缺失率、内存空间占用率、监测参数达到监测范围的保持时间长度、监测参数在预设时间范围内达到监测范围的次数、数据预加载装置的响应速度等中的一个、多个、或者其组合;
优选的:数据预加载装置中的预加载频率是可配置的,通过获取所述预加载频率来获取预加载时机;
优选的:所述预记载频率是操作系统设置的,所述操作系统构建在所述数据预加载装置上;
如附图2所示,在4处理单元上并行执行4个任务进行仿真,采用上述数据预加载方法仿真过程中设置L3cache尺寸为5MB,L2cache为1MB,内存空间为100MB;可以看出,4个任务的执行效率随着预加载方法的使用而提高,任务的执行时间随着预加载对资源冲突的干预,在不改变任务本身和硬件资源的条件下,整体执行效率提高。
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”包涵用于处理数据的所有种类的装置、设备和机器,举例包括可编程处理器、计算机、片上系统、或者上述中的多个或其组合。所述装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件,所述装置还可以包括代码,创建用于所述计算机程序的执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机或上述一个或多个的组合的代码。该装置和执行环境可以实现各种不同计算模型基础设施,诸如web服务、分布式计算、和网格计算基础设施。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)能够以编程语言的任何形式来撰写,包括汇编或解释语言、说明或过程性语言,且其可以以任何形式部署,包括作为单机程序或者作为模块、组件、子例程、对象或适于在计算环境中使用的其他单元。计算机程序可以但不必与文件系统中的文件相对应。程序能够存储在保持其他程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中,在专用于所述程序的单个文件中,或者在多个协同文件中(例如,存储一个或多个模块、子例程或代码部分的文件)。计算机程序可以部署为在一个计算机上或位于一个站点或跨多个站点分布且由通信网络互连的多个计算机上执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (8)

1.一种数据预加载方法,其特征在于,所述方法包含:
步骤S1:获取任务执行时的处理单元运行参数和处理单元块运行参数;具体的:获取处理单元运行参数,包括:获取处理单元块中第i处理单元的二级cache缺失率
Figure 489170DEST_PATH_IMAGE001
,二级cache的换入换出率
Figure 649018DEST_PATH_IMAGE002
;获取处理单元块运行参数,包括:获取三级cache的换入换出率
Figure 969141DEST_PATH_IMAGE003
其中:每个处理单元块中包含多个处理单元;所述每个处理单元设置有一级cache,处理单元块中设置有处理单元块内处理单元共享的二级cache,处理单元块之间共享三级cache和内存;每个处理单元运行一个任务;
步骤S2:基于处理单元运行参数作处理单元块内数据预加载,并在处理单元块内整体任务资源受限时,进入步骤S3;其中:所述处理单元块内数据预加载是针对二级cache空间的数据预加载;
所述步骤S2具体包括如下步骤:
步骤S21:判断二级cache的换入换出率TRL2是否大于第一阈值,如果是,则进入下一步骤;否则,步骤S2结束,进入步骤S4;
步骤S22:获取处理单元块中每个处理单元上运行任务的当前运行位置;
步骤S23:基于当前运行位置查找任务静态二级cache缺失率
Figure 71089DEST_PATH_IMAGE004
和任务当前二级cache缺失率
Figure 234086DEST_PATH_IMAGE005
;其中:任务静态二级cache缺失率
Figure 40368DEST_PATH_IMAGE006
为任务在基准软硬件环境下运行任务至当前运行位置时的二级cache缺失率;
步骤S24:确定是否为整体任务资源受限,如果是,则进入步骤S3,否则,进入下一步骤;
步骤S25:确定资源受限的任务,并进入下一步骤;
所述确定资源受限的任务,具体为:对于第i个任务来说,若受限指数
Figure 355943DEST_PATH_IMAGE007
,则确定所述第i个任务的资源受限;反之,为任务资源不受限的任务;
Figure 868874DEST_PATH_IMAGE008
Figure 394533DEST_PATH_IMAGE009
其中:
Figure 879873DEST_PATH_IMAGE010
为累积变量;N为任务数量,也就是,任务单元块中任务单元的数量;
步骤S26:为所述资源受限的任务作二级cache空间数据预加载;将任务资源受限任务的数据集按照受限程度的大小提前加载到二级cache空间中,使得受限程度高的任务预加载的数据占比高;
步骤S3:判断三级cache的换入换出率
Figure 299221DEST_PATH_IMAGE011
是否超过第二阈值,如果否,则基于处理单元运行参数作处理单元块外的数据预加载,从而提前从内存中将被冲刷出三级cache的任务中间计算数据或输入数据集中的数据加载到三级cahce中;其中:所述处理单元块外的数据预加载为针对三级cache空间的数据预加载;
步骤S4:持续监测数据并判断数据预加载时机是否到来,如果是,则返回步骤S1;否则,持续监测数据。
2.根据权利要求1所述的数据预加载方法,其特征在于,所述步骤S4中,当三级cache的换入换出率TRL3不超过第二阈值时,需要进行反馈。
3.根据权利要求2所述的数据预加载方法,其特征在于,所述反馈为人工反馈。
4.根据权利要求3所述的数据预加载方法,其特征在于,所述反馈为基于操作系统的反馈。
5.根据权利要求4所述的数据预加载方法,其特征在于,所述第一阈值和第二阈值是预设值。
6.一种数据预加载装置,其特征在于,所述数据预加载装置包括处理单元块、预加载单元;所述预加载单元用于执行如权利要求1-5中任一项所述的数据预加载方法。
7.一种计算机可读存储介质,其特征在于,包括程序,当其在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的数据预加载方法。
8.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求1-5中任一项所述的数据预加载方法。
CN202210268164.7A 2022-03-18 2022-03-18 一种数据预加载方法和装置 Active CN114356588B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210268164.7A CN114356588B (zh) 2022-03-18 2022-03-18 一种数据预加载方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210268164.7A CN114356588B (zh) 2022-03-18 2022-03-18 一种数据预加载方法和装置

Publications (2)

Publication Number Publication Date
CN114356588A CN114356588A (zh) 2022-04-15
CN114356588B true CN114356588B (zh) 2022-06-17

Family

ID=81094537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210268164.7A Active CN114356588B (zh) 2022-03-18 2022-03-18 一种数据预加载方法和装置

Country Status (1)

Country Link
CN (1) CN114356588B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114879811B (zh) * 2022-07-12 2022-09-20 苏州云途半导体有限公司 一种芯片的时序控制方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统
CN104714898A (zh) * 2013-12-16 2015-06-17 深圳市国微电子有限公司 一种Cache的分配方法和装置
CN109783399A (zh) * 2018-11-19 2019-05-21 西安交通大学 一种动态可重构处理器的数据缓存预取方法
CN111143242A (zh) * 2018-11-02 2020-05-12 华为技术有限公司 一种缓存预取方法和装置
US10956332B2 (en) * 2017-11-01 2021-03-23 Advanced Micro Devices, Inc. Retaining cache entries of a processor core during a powered-down state
CN112817758A (zh) * 2021-01-25 2021-05-18 山东众阳健康科技集团有限公司 一种资源消耗动态控制方法、系统、存储介质及设备
CN113127065A (zh) * 2021-04-19 2021-07-16 之江实验室 一种基于纯缺失检测方法的存算一体程序划分方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714898A (zh) * 2013-12-16 2015-06-17 深圳市国微电子有限公司 一种Cache的分配方法和装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统
US10956332B2 (en) * 2017-11-01 2021-03-23 Advanced Micro Devices, Inc. Retaining cache entries of a processor core during a powered-down state
CN111143242A (zh) * 2018-11-02 2020-05-12 华为技术有限公司 一种缓存预取方法和装置
CN109783399A (zh) * 2018-11-19 2019-05-21 西安交通大学 一种动态可重构处理器的数据缓存预取方法
CN112817758A (zh) * 2021-01-25 2021-05-18 山东众阳健康科技集团有限公司 一种资源消耗动态控制方法、系统、存储介质及设备
CN113127065A (zh) * 2021-04-19 2021-07-16 之江实验室 一种基于纯缺失检测方法的存算一体程序划分方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
细说Cache-L1/L2/L3/TLB;Sinaean;《https://zhuanlan.zhihu.com/p/31875174》;20180110;全文 *

Also Published As

Publication number Publication date
CN114356588A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
US10444812B2 (en) Power shifting in multicore platforms by varying SMT levels
US8924981B1 (en) Calculating priority indicators for requests in a queue
US10176014B2 (en) System and method for multithreaded processing
US8516488B1 (en) Adjusting a resource estimate in response to progress of execution of a request
CN110018781B (zh) 磁盘流控方法、装置以及电子设备
CN114356588B (zh) 一种数据预加载方法和装置
Tang et al. Dynamic memory-aware scheduling in spark computing environment
CN106528065B (zh) 一种线程获取方法及设备
US20200137581A1 (en) Resource utilization of heterogeneous compute units in electronic design automation
CN112181894B (zh) 一种基于申威众核处理器的核组内分组自适应调整运行方法
CN103559148A (zh) 面向多任务嵌入式系统的片上便笺式存储器管理方法
Padoin et al. Saving energy by exploiting residual imbalances on iterative applications
Sfakianakis et al. Skynet: Performance-driven resource management for dynamic workloads
CN117971499A (zh) 资源配置方法、装置、电子设备和存储介质
Liang et al. CruiseDB: An LSM-tree key-value store with both better tail throughput and tail latency
CN118278524A (zh) 一种基于分层加载的神经网络推理方法、设备及介质
Spivak et al. Data preloading and data placement for MapReduce performance improving
US20120042322A1 (en) Hybrid Program Balancing
Chen et al. MRSIM: mitigating reducer skew In MapReduce
JP5692355B2 (ja) コンピュータシステム、制御システム、制御方法および制御プログラム
Breß et al. Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms.
Bae et al. Jointly optimizing task granularity and concurrency for in-memory mapreduce frameworks
Gupta et al. An approach for optimizing the performance for apache spark applications
Fu et al. Optimizing data locality by executor allocation in spark computing environment
Padoin et al. Exploration of load balancing thresholds to save energy on iterative applications

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
CP03 Change of name, title or address

Address after: 808, 8th Floor, Building A10, No. 777 Jianshe West Road, Binhu District, Wuxi City, Jiangsu Province, 214000

Patentee after: Jiangsu Yuntu Semiconductor Co.,Ltd.

Address before: 215500 room 805, No. 1, Southeast Avenue, Changshu high tech Industrial Development Zone, Suzhou City, Jiangsu Province

Patentee before: Suzhou yuntu Semiconductor Co.,Ltd.

CP03 Change of name, title or address