CN105930209A - 一种自适应的帮助线程预取质量控制方法 - Google Patents

一种自适应的帮助线程预取质量控制方法 Download PDF

Info

Publication number
CN105930209A
CN105930209A CN201610219646.8A CN201610219646A CN105930209A CN 105930209 A CN105930209 A CN 105930209A CN 201610219646 A CN201610219646 A CN 201610219646A CN 105930209 A CN105930209 A CN 105930209A
Authority
CN
China
Prior art keywords
stage
thread
program
fetch
assisting
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
CN201610219646.8A
Other languages
English (en)
Other versions
CN105930209B (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.)
Beijing Yijianda Technology Co.,Ltd.
Original Assignee
Tianjin University of Technology
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 Tianjin University of Technology filed Critical Tianjin University of Technology
Priority to CN201610219646.8A priority Critical patent/CN105930209B/zh
Publication of CN105930209A publication Critical patent/CN105930209A/zh
Application granted granted Critical
Publication of CN105930209B publication Critical patent/CN105930209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/3409Recording 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 performance assessment
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种自适应的帮助线程预取质量控制方法,属于多核缓存性能优化技术领域,可用于改进和提升非规则数据密集应用中帮助线程预取的质量。针对帮助线程预取控制参数,通过引入动态采样、程序运行阶段检测、预取获益反馈、自适应调节等技术,实现帮助线程预取控制参数值的实时在线自适应调节,以提高帮助线程预取的控制质量。本方法主要包括如下步骤:1)动态信息采集和反馈统计;2)指标计算3)自适应预取控制。本发明方法充分利用多核平台的硬件信息实现帮助线程的实时在线预取控制,可广泛应用于当前大数据环境下非规则数据密集型应用的访存性能优化、帮助线程预质量控制和共享缓存污染控制等方面。

Description

一种自适应的帮助线程预取质量控制方法
技术领域
本发明涉及多核计算机共享缓存性能优化领域,具体涉及一种控制帮助线程预取质量的自适应调节方法,可用于提升非规则数据密集型应用程序的性能。
背景技术
当前数据密集应用涉及大数据分析、社会网络、科学计算等领域,这类应用往往呈现出非规则数据密集访问特征,这使得传统基于时空局部性的数据预取技术失效。为提高该类应用的程序性能,帮助线程预取技术受到了广泛关注。帮助线程预取技术的实质是一种Leader/Follower结构,是一种非传统并行技术。在多核计算平台上,帮助线程预取的目的地是平台的最后一级共享缓存。其主要思想是利用一个空闲核Core1运行一个帮助线程(精简版本的主线程)来帮助运行在核Core0上的主线程进行数据预取,帮助线程在数据流和控制流上都不会对主线程造成干扰,只起到数据预取的作用。由于构造帮助线程时剔除了主线程中的计算任务,只剩下了访存任务和必要的控制流, 因而它可以和主线程在计算和访存上解偶,主线程负责计算,帮助线程负责访存,从而有效地隐藏访存延迟达到提升程序性能的目的。
最近大多研究均采用参数值来控制帮助线程的预取质量,如国外学者在2009年《IEEE Transactions on Parallel and Distributed Systems》 杂志上发表的《Prefetching with Helper Threads for Loosely Coupled Multiprocessor Systems》文章中提出了一种基于“PV”信号的帮助线程控制方法,通过在主线程和帮助线程中分别维护一个同步计数器(Loop_SYNC_Interval),主线程在每个同步间隔内,执行“V”操作,表示主线程已经消费掉一个块的数据。在帮助线程到达同步间隔后,首先判断主线程消耗的数据块的数量是不是超过了一个阈值(MAX_DIST)。如果超过阈值,那么表明帮助线程落后主线程,帮助线程需要做的操作是同步当前变量,追上主线程,并重新初始化阈值;如果没有超过阈值,那么帮助线程简单的执行“P”操作,表示此时帮助线程仍然快于主线程。国内学者北京理工大学的古志民教授研究组,针对“PV”方法存在的问题,提出一种针对小计算量下非规则数据密集型热函数的性能优化方法,该方法引入三个控制参数预取距离K、预取块大小P和同步距离B来控制帮助线程的预取。
以上研究中,帮助线程控制参数值的选择和优化都是采用静态枚举获得。当应用程序执行的环境或程序输入集变化时,原来的控制参数值就会失效,需要重新通过静态枚举来优选控制参数值,这将是一个繁杂耗时的过程。因此,静态选择帮助线程控制参数值的方法主要存在两方面的问题:一方面在参数值选择和优化时所花费的时间代价过高,另一方面离线设置参数值的方法不能够适应程序的动态阶段访存行为的变化。这些问题给帮助线程预取技术的应用和推广带来极大的限制。
针对这些问题,本发明提出一种帮助线程预取控制的自适应调节方法,以解决传统手工枚举选择参数值的难题。
发明内容
本发明的目的在于解决上述技术难题,提出了一种自适应的帮助线程预取质量控制方法,其特征在于通过多核处理器的硬件性能计数器(Performance Monitor Unit)部件实时、在线监测帮助线程的预取性能,根据应用程序的动态阶段行为和预取获益信息可实现对帮助线程的控制参数值进行自适应调整和优化。
本发明主要通过下列技术方案来实现。为便于阐述本发明方法涉及的具体实现步骤,首先给出本发明相关的技术术语的定义。
定义1 热点模块M:对于应用程序A中的任意模块M,存在阈值和分别满足和,则称M为热点模块。其中,Cycle(X)LLC_Miss(X)分别表示利用Profiling工具对程序X进行性能剖析所获得的程序运行时钟数和LLC缺失数。
定义2 程序阶段(Phase):假设应用程序A动态运行过程中的一个执行区间P,在这个执行区间P内应用程序的某个性能指标(如,CPI,分支预测等)保持相对稳定,那么这个执行区间P为一个程序阶段。
本发明方法的基本思想是利用动态采样技术,通过收集多核平台的硬件计数器(PMU)信息,然后计算相关指标来判定定义1所示的程序热点模块中的阶段(定义2)行为变化和预取质量的获益反馈信息,最后根据反馈信息做出帮助线程的预取控制决策。程序热点模块M的执行时间在逻辑上被分为周而复始循环运行的3个区间:即帮助线程预取动态反馈决策期;帮助线程预取参数训练期;帮助线程预取参数应用期。本发明所述方法的整体框架流程如图1所示,其特征在于如下步骤 。
1)开始:程序初始化相关采样引擎,进入热点模块,如果程序退出了热点模块,则转结束。
2)程序热点函数运行阶段和预取质量反馈信息统计。
3)程序阶段行为指标计算和预取质量获益指标计算。
4)帮助线程预取质量控制的动态决策。
5)结束:退出该方法。
作为对本发明的自适应的帮助线程预取质量控制方法的进一步改进:步骤2)中的动态反馈信息主要通过多核平台的硬件性能计数器PMU进行统计,所采集的性能事件主要包括CPU_UNHALTED_CLOCKS事件和INSTRUCTIONS_RETIRED事件。
作为对本发明的自适应的帮助线程预取质量控制方法的进一步改进:本方法所述的动态反馈信息采集主要通过采样技术来实现,通过在利用现代处理器所提供的精确事件采样机制(Precise Event Based Sampling, PEBS),通过设置PMU计数器的采样事件间隔周期P,每当P个事件发生后,CPU将其性能事件状态存在性能计数器中,并产生中断信号,然后在信号中断处理程序中可以对性能事件计数器读取、处理等操作。
作为对本发明的自适应的帮助线程预取质量控制方法的进一步改进:步骤3)中阶段检测指标为,其中P i 表示第i个阶段检测期,P j 表示第j个阶段检测期。P i P j 之间的程序运行区间即为帮助线程运行的参数值应用期。在阶段检测期P i P j 内,关闭帮助线程预取操作,并采集n个采样间隔内的CPI数据,最后计算CPI均值来表征检测期P i 内的程序阶段特征。当时,称程序运行阶段发生变化。
作为对本发明的自适应的帮助线程预取质量控制方法的进一步改进:步骤3)中预取获益指标为,其中P i 表示第i个检测阶段。表示阶段P i 在关闭预取状态下的CPI采样均值,表示阶段P i 在开启预取状态下的CPI采样均值,二者之差用于判定预取是否获益。在阶段P i 内采集n个执行样本的CPI数据,最后计算CPI均值来表征阶段P i 内主线程的性能情况。时,表示在帮助线程预取的作用下主线程取得了性能提升,即预取是正获益;当时,表示在帮助线程预取的作用下使得主线程性能下降,即预取是负获益。
作为对本发明的自适应的帮助线程预取质量控制方法的进一步改进:步骤4)中帮助线程预取质量的动态决策主要包括如下步骤:A、检测帮助线程预取获益情况;B、若帮助线程预取反馈信息为负获益,则根据当前热点函数执行进度判断是否进入帮助线程预取参数值自学习阶段,若热点函数剩余执行时间不足于完成参数值学习时,则直接关闭帮助线程预取,否则进入参数自适应学习阶段;C、若帮助线程预取为正获益时,进行程序执行阶段检测;D、若程序执行阶段未变化,则仍然保持当前预取控制参数值;E、若程序执行阶段发生了变化,则根据当前热点模块剩余执行进度决定是否进入预取参数值的学习阶段。
本发明方法可以解决帮助线程预取参数值的选择和控制问题,提出的帮助线程自适应预取反馈机制能够根据程序的动态阶段行为和预取获益信息对帮助线程控制参数值做出自适应控制和调节。与传统静态枚举参数值的方法相比,本方法的优点是能够实现帮助线程预取控制参数值的实时在线调整和优化,解决了帮助线程参数选择和控制的难题,从而使得应用程序在变更运行平台及输入集后无需提前静态枚举预取控制参数值,突破了当前帮助线程预取技术的应用局限性。本发明可广泛应用于当前大数据环境下非规则数据密集型应用的访存性能优化、帮助线程预取质量控制和共享缓存污染控制等方面。
附图说明
图1是本发明用于自适应的帮助线程预取质量控制方法的操作步骤流程图。
图2是本发明一种自适应的帮助线程预取质量控制方法的实施装置系统结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的描述和说明。
图1是本发明方法的具体操作步骤流程图,图2给出一种自适应的帮助线程预取质量控制方法的实施装置。如图2所示,本实施例装置中处理器200中有两个处理核心204和205,两个处理核心之间共享最后一级缓存(Last Level Cache,LLC)203,帮助线程数据预取的来源自自于主存201,预取的目的地是最后一级共享缓存203。在本实施例中,应用程序300包括线程运行在处理核204上,帮助线程运行在处理核205上,通过帮助线程与主线程的并行来实现主线程中计算与访存任务的解耦,从而实现提高应用程序300执行性能的目的。
图2中帮助线程预取自适应调节装置100中,主要包括初始化部件101、参数值生成器102、PMU采样器103、评估决策器104以及控制器105几个系统软件模块组成。初始化部件主要用来完成系统动态采样引擎的初始化工作;参数值生成器主要根据主线程与帮助线程之间的任务量分担情况生成帮助线程预取控制参数值的候选集;PMU采样器103主要完成对主线程实时运行硬件性能计数器的采集,并将采集结果存于位于主存201中的评价表202中;评估决策器主要根据评价表202的性能数据计算相关指标选择当前最好的预取控制策略;控制器105主要用来控制自适应预取控制中的程序运行阶段,并根据决策评估器的决策结果控制程序转入相应的阶段运行。
通过以上系统可以实现本发明的一种自适应的帮助线程预取质量控制方法,该方法是通过以下步骤实现的:
步骤1:系统初始化及采样引擎初始化。该步骤完成系统相关阈值的设定以及硬件采样引擎的初始化工作。
在本实施例中,选择 ∆Pthreshold=5%,即两次阶段检测期间的CPI均值差异超过5%时,即认为程序的执行阶段发生了变化。Progressthreshold是指热点模块运行过程中,至少需要有Progressthreshold比例的程序还未执行时,才重新进入参数训练期,进行参数的重新选择和优化。在本实施例中将Progressthreshold设置为参数训练期长度的2倍,即至少要保证参数训练完成,并能够应用一个训练周期。在此次执行中,Progressthreshold=0.34%。
步骤2:程序热点函数运行阶段和预取质量反馈信息统计:主要通过PMU采样器103实时动态采样监测应用主线程执行时的运行时钟数以及提交指令数。
步骤2.1:预取控制参数值候选集的生成:以古志民教授研究组提出的帮助线程KPB参数方法为例说明参数值生成器102的工作过程。帮助线程中预取率定义为一个数据块内帮助线程预取工作量大小所占的比例,即。帮助线程预取率Rp用来调整帮助线程预取行为,在既定K值下,通过遍历预取率Rp会大大缩短参数值的寻优时间。Rp的取值范围是(0,1),预取大小P可以通过公式计算得出。
步骤2.2:预取控制参数值的学习:为确保预取控制参数值学习的可靠性和准确性,采用两阶段学习方式,将学习阶段分初选阶段和复选阶段。预取距离K在[0,Kmax]之间以固定步长step取不同的值,得到一个值序列{K1,K2,K3,…Kmax/step},针对序列中的每个K值,通过变换预取率Rp均会由参数值产生器生成一个参数值集合{K’},序列中所有的K值经过参数值产生器之后产生max/step个参数值集合,表示为PRAR={{K1’},{ K2’},…{Kmax/step’}},即PARA集合中每个元素都是一个集合。在参数值初选阶段,选择出PARA集合中每一个参数集合中使得主线程预取性能最好的参数值,形成PRAR2={K1best,K2best,…Kmax/stepbest}。在参数值复选阶段,在PARA2集合中选择出具有最好预取质量的参数值。之后进入参数值应用期。
步骤3程序阶段行为指标计算和预取质量获益指标计算。根据步骤2采集的信息,当程序进入中断反馈处理程序时,计算下列指标。
阶段行为检测指标采用公式来计算。
预取获益信息采用公式来计算。
步骤4帮助线程预取质量控制的动态决策。
根据步骤3计算的程序阶段指标及预取获益信息,帮助线程的预取调节策略遵循以下策略:
a)若帮助线程为预取负获益,则判断热点模块剩余进度>Progressthreshold设置值,则重新进入预取控制参数值学习期,否则直接关闭帮助线程预取。
b)如果帮助线程预取为正获益,则通过步骤3计算的判断热点函数运行阶段是否发生变化。
c)如果程序阶段发生了变化,判断热点模块剩余进度是否大于Progressthreshold设置值,如果大于,则重新进入参数学习期,否则保持参数值不变。
d)如果程序运行阶段没有发生变化,则保护当前预取控制参数值不变。
步骤5 若热点模块退出,结束退出该方法。
最后,还需要注意的是以上列举只是本发明的一个具体实施例。本发明不限于以上实施例,还可以有许多变形。

Claims (6)

1.一种自适应的帮助线程预取质量控制方法,其特征在于通过多核处理器的硬件性能计数器(Performance Monitor Unit)部件实时、在线监测帮助线程的预取性能,根据应用程序的动态阶段行为和预取获益信息可实现对帮助线程的控制参数值进行自适应调整和优化,本发明方法的步骤如下:
1)开始:程序初始化相关采样引擎,进入热点模块,如果程序退出了热点模块,则转结束;
2)程序热点函数运行阶段和预取质量反馈信息统计;
3)程序阶段行为指标计算和预取质量获益指标计算;
4)帮助线程预取质量控制的动态决策;
5)结束:退出该方法。
2.根据权利要求1所述的方法,其特征在于:所述步骤2)中的动态反馈信息主要通过多核平台的硬件性能计数器PMU进行统计,所采集的性能事件主要包括CPU_UNHALTED_CLOCKS事件和INSTRUCTIONS_RETIRED事件。
3.根据权利要求1所述的方法,其特征在于:所述步骤2)的动态信息反馈采集主要通过采样技术来实现,通过利用现代处理器所提供的精确事件采样机制(Precise Event BasedSampling, PEBS),设置PMU计数器的采样事件间隔周期P,每当P个事件发生后,CPU将其性能事件状态存在性能计数器中,并产生中断信号,然后在信号中断处理程序中可以对性能事件计数器读取、处理等操作。
4.根据权利要求1所述的方法,其特征在于:所述步骤3)的阶段检测指标如下:
阶段检测指标为,其中P i 表示第i个阶段检测期,P j 表示第j个阶段检测期;P i P j 之间的程序运行区间即为帮助线程运行的参数值应用期;在阶段检测期P i P j 内,关闭帮助线程预取操作,并采集n个采样间隔内的CPI数据,最后计算CPI均值来表征检测期P i 内的程序阶段特征;当时,称程序运行阶段发生变化。
5.根据权利要求1所述的方法,其特征在于:所述步骤3)中,预取获益指标如下:
预取获益指标为,其中P i 表示第i个检测阶段;表示阶段P i 在关闭预取状态下的CPI采样均值,表示阶段P i 在开启预取状态下的CPI采样均值,二者之差用于判定预取是否获益;在阶段P i 内采集n个执行样本的CPI数据,最后计算CPI均值来表征阶段P i 内主线程的性能情况,时,表示在帮助线程预取的作用下主线程取得了性能提升,即预取是正获益;当时,表示在帮助线程预取的作用下使得主线程性能下降,即预取是负获益。
6.根据权利要求1所述的方法,其特征在于:所述步骤4)自适应调节步骤包括下述步骤:
A、检测帮助线程预取获益情况;
B、若帮助线程预取反馈信息为负获益,则根据当前热点函数执行进度判断是否进入帮助线程预取参数值自学习阶段,若热点函数剩余执行时间不足于完成参数值的学习时,则直接关闭帮助线程预取,否则进入参数自适应学习阶段;
C、若帮助线程预取为正获益时,进行程序执行阶段检测;
D、若程序执行阶段未变化,则仍然保持当前预取控制参数值;
E、若程序执行阶段发生了变化,则根据当前热点模块剩余执行进度决定是否进入预取参数值的学习阶段。
CN201610219646.8A 2016-04-11 2016-04-11 一种自适应的帮助线程预取质量控制方法 Active CN105930209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610219646.8A CN105930209B (zh) 2016-04-11 2016-04-11 一种自适应的帮助线程预取质量控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610219646.8A CN105930209B (zh) 2016-04-11 2016-04-11 一种自适应的帮助线程预取质量控制方法

Publications (2)

Publication Number Publication Date
CN105930209A true CN105930209A (zh) 2016-09-07
CN105930209B CN105930209B (zh) 2019-06-25

Family

ID=56840130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610219646.8A Active CN105930209B (zh) 2016-04-11 2016-04-11 一种自适应的帮助线程预取质量控制方法

Country Status (1)

Country Link
CN (1) CN105930209B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111989655A (zh) * 2019-03-22 2020-11-24 华为技术有限公司 一种soc芯片、确定热点函数的方法及终端设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662638A (zh) * 2012-03-31 2012-09-12 北京理工大学 一种支持帮助线程预取距离参数的阈值边界选取方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662638A (zh) * 2012-03-31 2012-09-12 北京理工大学 一种支持帮助线程预取距离参数的阈值边界选取方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANXUN ZHANG,ZHIMIN GU, YAN HUANG , NINGHAN ZHENG ,XIAOHAN: "Helper Thread Prefetching Control Framework on Chip Multi-processor", 《INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING》 *
张建勋,古志民: "帮助线程预取技术研究综述", 《计算机科学》 *
张建勋; 古志民; 胡潇涵; 蔡旻: "面向非规则大数据分析应用的多核帮助线程预取方法", 《通信学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111989655A (zh) * 2019-03-22 2020-11-24 华为技术有限公司 一种soc芯片、确定热点函数的方法及终端设备

Also Published As

Publication number Publication date
CN105930209B (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
CN105955709B (zh) 基于机器学习的预取能效优化自适应装置及方法
Rahman et al. Maximizing hardware prefetch effectiveness with machine learning
US20160239212A1 (en) Systems and methods for modeling memory access behavior and memory traffic timing behavior
WO2017096338A1 (en) Execution time prediction for energy-efficient computer systems
Van den Steen et al. Micro-architecture independent analytical processor performance and power modeling
CN105159654A (zh) 基于多线程并行的完整性度量散列算法优化方法
US20070150660A1 (en) Inserting prefetch instructions based on hardware monitoring
CN108509723B (zh) 基于人工神经网络的LRU Cache预取机制性能收益评估方法
CN101604287A (zh) 一种基于硬件计数器获取性能数据实现动态优化服务器性能的方法
Khan et al. A case for resource efficient prefetching in multicores
Zhang et al. RnR: A software-assisted record-and-replay hardware prefetcher
Jin et al. A comparison of cache blocking methods for fast execution of ensemble-based score computation
He et al. FractalMRC: Online cache miss rate curve prediction on commodity systems
CN105930209A (zh) 一种自适应的帮助线程预取质量控制方法
CN110377525B (zh) 一种基于运行时特征和机器学习的并行程序性能预测系统
Balakrishnan et al. Memst: Cloning memory behavior using stochastic traces
Liu et al. A study on modeling and optimization of memory systems
Rawlins et al. A cache tuning heuristic for multicore architectures
Nikoleris et al. Extending statistical cache models to support detailed pipeline simulators
Gellert et al. A multicore architecture with selective load value prediction
Ling et al. Analytical modeling the multi-core shared cache behavior with considerations of data-sharing and coherence
Zhang et al. Linux network situation prediction model based on ebpf and lstm
Yu et al. A thread-aware adaptive data prefetcher
Chai et al. Implementation and optimization of data prefetching algorithm based on LLVM compilation system
Puzak et al. When prefetching improves/degrades performance

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
TR01 Transfer of patent right

Effective date of registration: 20230823

Address after: Room 401, No. 300, Miaocheng Village, Miaocheng Town, Huairou District, Beijing

Patentee after: Beijing Yijianda Technology Co.,Ltd.

Address before: No. 1310 Dagu South Road, Jinnan District, Tianjin

Patentee before: TIANJIN University OF TECHNOLOGY AND EDUCATION

TR01 Transfer of patent right