【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种缓存行对齐方法、装置、设备以及存储介质。
技术介绍
1、在一些操作系统(如车载操作系统)的开发中,包含了大量多线程并行处理的场景,当程序多线程并发运行时,由于中央处理器(central processing unit,cpu)与缓存(cache)之间的数据交换形式,共享同一个cache行(line)的不相关数据会发生冲突,也即存在cache line伪共享问题,导致程序运行效率降低。
2、目前,常在程序运行的过程中对频繁调用的变量进行动态检测,进而对频繁调用的变量进行cache line伪共享问题的优化。然而,动态检测完全基于程序运行态的信息,尤其在一些大规模的软件程序中,一方面,测试用例难以覆盖程序中的各个分支导致一些存在cache line伪共享问题的代码未被识别,另一方面,程序运行过程中进行检测,导致程序运行的开销较大。因此,如何在不增加程序运行开销的情况下实现有效的cache line伪共享的检测和优化是当前亟待解决的问题。
技术实现思路
...
【技术保护点】
1.一种缓存行对齐方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标对象在所述代码的循环体中调用时,所述目标对象满足以下至少之一:
3.根据权利要求1或2所述的方法,其特征在于,所述确定代码中的目标对象,包括:
4.根据权利要求3所述的方法,其特征在于,针对所述M个对象中的每个对象,所述对象在所述代码的循环体中调用;
5.根据权利要求4所述的方法,其特征在于,所述对象的调用次数基于所述对象在所述循环体中的循环层级和循环次数确定。
6.根据权利要求3至5任一项所述的方法,其特征
...【技术特征摘要】
1.一种缓存行对齐方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标对象在所述代码的循环体中调用时,所述目标对象满足以下至少之一:
3.根据权利要求1或2所述的方法,其特征在于,所述确定代码中的目标对象,包括:
4.根据权利要求3所述的方法,其特征在于,针对所述m个对象中的每个对象,所述对象在所述代码的循环体中调用;
5.根据权利要求4所述的方法,其特征在于,所述对象的调用次数基于所述对象在所述循环体中的循环层级和循环次数确定。
6.根据权利要求3至5任一项所述的方法,其特征在于,针对所述m个对象中的每个对象,所述对象为处于至少两个缓存行的结构体,所述共享缓存行估计值与所述对象的缓存行差值正相关,所述缓存行差值为所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。