缓存行对齐方法、装置、设备以及存储介质制造方法及图纸

技术编号:41749139 阅读:29 留言:0更新日期:2024-06-21 21:34
本申请实施例提供了一种缓存行对齐方法、装置、设备以及存储介质。该方法包括:处理装置确定代码中满足目标条件的目标对象,该目标对象包括目标变量或目标结构体,并对该目标对象添加缓存行对齐指令,得到更新后的代码,该缓存行对齐指令用于指示该目标对象占用的缓存行非共享缓存行,该共享缓存行存储该代码中至少两个对象的缓存数据,该目标条件包括以下至少之一:在该代码的循环体中调用;为处于至少两个缓存行的结构体。通过对代码进行分析,识别需要缓存行对齐的目标对象,在不增加程序运行开销的情况下,对目标对象的缓存行伪共享问题进行优化。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种缓存行对齐方法、装置、设备以及存储介质


技术介绍

1、在一些操作系统(如车载操作系统)的开发中,包含了大量多线程并行处理的场景,当程序多线程并发运行时,由于中央处理器(central processing unit,cpu)与缓存(cache)之间的数据交换形式,共享同一个cache行(line)的不相关数据会发生冲突,也即存在cache line伪共享问题,导致程序运行效率降低。

2、目前,常在程序运行的过程中对频繁调用的变量进行动态检测,进而对频繁调用的变量进行cache line伪共享问题的优化。然而,动态检测完全基于程序运行态的信息,尤其在一些大规模的软件程序中,一方面,测试用例难以覆盖程序中的各个分支导致一些存在cache line伪共享问题的代码未被识别,另一方面,程序运行过程中进行检测,导致程序运行的开销较大。因此,如何在不增加程序运行开销的情况下实现有效的cache line伪共享的检测和优化是当前亟待解决的问题。


技术实现思路

1、本申请实施例提供本文档来自技高网...

【技术保护点】

1.一种缓存行对齐方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述目标对象在所述代码的循环体中调用时,所述目标对象满足以下至少之一:

3.根据权利要求1或2所述的方法,其特征在于,所述确定代码中的目标对象,包括:

4.根据权利要求3所述的方法,其特征在于,针对所述M个对象中的每个对象,所述对象在所述代码的循环体中调用;

5.根据权利要求4所述的方法,其特征在于,所述对象的调用次数基于所述对象在所述循环体中的循环层级和循环次数确定。

6.根据权利要求3至5任一项所述的方法,其特征在于,针对所述M个对...

【技术特征摘要】

1.一种缓存行对齐方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述目标对象在所述代码的循环体中调用时,所述目标对象满足以下至少之一:

3.根据权利要求1或2所述的方法,其特征在于,所述确定代码中的目标对象,包括:

4.根据权利要求3所述的方法,其特征在于,针对所述m个对象中的每个对象,所述对象在所述代码的循环体中调用;

5.根据权利要求4所述的方法,其特征在于,所述对象的调用次数基于所述对象在所述循环体中的循环层级和循环次数确定。

6.根据权利要求3至5任一项所述的方法,其特征在于,针对所述m个对象中的每个对象,所述对象为处于至少两个缓存行的结构体,所述共享缓存行估计值与所述对象的缓存行差值正相关,所述缓存行差值为所述...

【专利技术属性】
技术研发人员:王川奇曹建龙陶洋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1