[发明专利]多线程条件下CPU高速缓存行失效的处理方法及装置有效

专利信息
申请号: 201510809800.2 申请日: 2015-11-19
公开(公告)号: CN105242978B 公开(公告)日: 2019-01-08
发明(设计)人: 贾宏超 申请(专利权)人: 东软集团股份有限公司
主分类号: G06F11/00 分类号: G06F11/00
代理公司: 北京英创嘉友知识产权代理事务所(普通合伙) 11447 代理人: 赵杰;南毅宁
地址: 110179 辽*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 多线程 条件下 cpu 高速缓存 失效 处理 方法 装置
【说明书】:

发明公开了一种多线程条件下CPU高速缓存行失效的处理方法及装置。所述方法包括:判断第一字段和第二字段之间是否需要隔离,所述第一字段用volatile关键字修饰;如果需要隔离,在所述第一字段和所述第二字段之间加入填充字段,所述填充字段用于使所述第一字段和所述第二字段位于不同缓存行。如此,就可有效避免多线程条件下的CPU高速缓存行失效,有助于维持应用程序性能。

技术领域

本发明涉及数据处理领域,具体地,涉及一种多线程条件下CPU高速缓存行失效的处理方法及装置。

背景技术

Java虚拟机(英文:Java Virtual Machine,简称:JVM)是运行Java程序的抽象计算机,是Java语言的运行环境。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在JVM上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Java内存模型规定,Java程序中的所有变量都存储在主内存中。每条线程还有自己的工作内存,线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(如读取、赋值等)都在工作内存中进行,但线程间变量的传递则需要通过主内存来完成。

此外,Java语言规范还规定了可以通过volatile关键字来修饰变量,以保证一个线程对该变量的更新会对其他线程立即可见,也就是说,保证所述其他线程始终能够读取该变量的最新数据。

通常,为了提高线程处理速度,可以将线程频繁调用的变量载入线程所在CPU的缓存中。CPU缓存是位于CPU与主内存之间的临时存储器,可结合实际应用被设置为多级缓存,各级缓存以一定大小的缓存行作为基本的存储单元。

发明内容

本发明的目的是提供一种多线程条件下CPU高速缓存行失效的处理方法及装置,使需要被隔离的两个字段分开位于两个缓存行中,可以有效避免多线程条件下的CPU高速缓存行失效,有助于维持应用程序性能。

第一方面,本发明实施例提供了一种多线程条件下CPU高速缓存行失效的处理方法,所述方法包括:

判断第一字段和第二字段之间是否需要隔离,所述第一字段用volatile关键字修饰;

如果需要隔离,在所述第一字段和所述第二字段之间加入填充字段,所述填充字段用于使所述第一字段和所述第二字段位于不同缓存行。

在第一方面的第一种可能的实现方式中,所述判断第一字段和第二字段之间是否需要隔离,包括:

根据Java虚拟机变量重排列规则,获得所述第一字段和所述第二字段的间隔距离;

利用所述间隔距离和处理器的缓存行大小,判断所述第一字段和所述第二字段是否位于同一缓存行;

如果位于同一缓存行,判定所述第一字段和所述第二字段之间需要隔离。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述Java虚拟机变量重排列规则为按照变量的类型进行重排列,则所述第一字段、所述第二字段和所述填充字段三者具有相同类型。

结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,获得所述处理器的缓存行大小的方式为:

利用Java本地接口JNI调用C语言函数,并使用所述C语言函数调用CPUID汇编指令,获得所述处理器的缓存行大小。

结合第一方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,获得所述间隔距离之前,所述方法还包括:

判断所述第一字段和所述第二字段是否被标识为需要隔离;

如果是,再执行获得所述间隔距离的步骤。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510809800.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top