[发明专利]多线程访问多副本的方法和装置有效

专利信息
申请号: 201180000553.1 申请日: 2011-05-20
公开(公告)号: CN102203737A 公开(公告)日: 2011-09-28
发明(设计)人: 王伟;刘仪阳;章晓峰 申请(专利权)人: 华为技术有限公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 北京龙双利达知识产权代理有限公司 11329 代理人: 毛威;张亮
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 多线程 访问 副本 方法 装置
【说明书】:

技术领域

发明涉及计算机领域,并且更具体地,涉及计算机领域中多线程访问多副本的方法和装置。

背景技术

NUMA(Non-uniform Memory Access,非一致内存访问)是一种分布式结构,每个处理器都会挂载内存、外设等。由于每组处理器和内存都连接到同一系统,NUMA显示了其扩展性的优势,加上其高可靠性、高应用性和高服务性的特征,已广泛应用到中高端服务器领域。

由于NUMA节点中的任一处理器都可以访问任意的内存,使得每个处理器访问不同的内存存在着不同的延迟。随着系统的扩展,NUMA节点逐渐增加,处理器访问远端节点的延迟也相应大幅提升,从而影响系统的整体性能。特别是对于系统中被频繁访问的数据(例如内核代码和内核只读数据),如果这些数据只存在于一个节点中,那么其他节点的处理器访问这些数据将具有较大的延迟,并且如果这些数据在短时间内被多个节点的处理器访问,互联硬件的传输带宽就成为了另一影响性能的因素。

在相关技术中,可以将系统中被频繁访问的数据复制到每个节点的内存中,这样每个节点都有一个本地副本,运行在各个节点上的进程都可以访问本地副本,从而避免因为不得不在其他节点访问这些被频繁访问的数据而引发的延迟影响,同时还可以减少互联硬件的传输带宽消耗。

以内核代码和内核只读数据为例,为了实现内核多副本,可以在每个节点上申请足够的内存,将内核代码和内核只读数据复制到该新区域;通过计算获取各个节点的内核多副本和对应线性地址的映射关系;当进程被调度到某个节点上时,基于保存在该节点上的内核副本的映射关系,修改进程页目录表的某些表项,使得该进程通过其进程页目录表的内容可以访问本节点的内核代码副本。

虽然通过内核多副本技术,可以使进程访问本节点上的内核代码和内核只读数据,但是如果进程创建了多个线程,并且这些线程被分布到不同的节点上执行,那么这些线程仍将基于进程页目录表的内容运行。这样,由于进程页目录表指向的内核副本位于一个节点中,所以多线程并不能访问所在节点中保存的内核副本,仍将产生较大的延迟并受互联硬件传输带宽的限制。

发明内容

本发明实施例提供了多线程访问多副本的方法和装置,使得分布到不同节点的线程能够访问所在节点处保存的具有多副本的数据,从而可以改善系统性能。

一方面,本发明实施例提供了多线程访问多副本的方法,包括:当进程的多个线程被分布到不同节点时,创建与所述进程的进程页目录表的内容相同的线程页目录表,每份线程页目录表包括用于指向特定数据的特殊表项和所述特殊表项之外的普通表项,其中每个线程对应一份线程页目录表,每个线程的执行基于相对应的线程页目录表,所述特定数据是在不同节点具有多副本的数据;对于每个线程在被调度时,当该线程的线程页目录表中的特殊表项未指向在该线程所在节点中存储的所述特定数据时,基于该特定数据的物理地址,修改该特殊表项以指向该特定数据。

另一方面,本发明实施例提供了用于多线程访问多副本的装置,包括:第一创建模块,用于当进程的多个线程被分布到不同节点时,创建与所述进程的进程页目录表的内容相同的线程页目录表,每份线程页目录表包括用于指向特定数据的特殊表项和所述特殊表项之外的普通表项,其中每个线程对应一份线程页目录表,每个线程的执行基于相对应的线程页目录表,所述特定数据是在不同节点具有多副本的数据;修改模块,用于对于每个线程在被调度时,当该线程的线程页目录表中的特殊表项未指向在该线程所在节点中存储的所述特定数据时,基于该特定数据的物理地址,修改该特殊表项以指向该特定数据。

基于上述技术方案,通过创建线程页目录表,并使线程目录表中的特殊表项指向线程所在节点处的具有多副本的数据,这样在线程执行过程中可以使得分布到不同节点的线程访问所在节点处存储的数据副本,从而避免线程访问远端数据产生的延迟并避免受到互联硬件传输带宽的限制,使得系统性能得以提高。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的多线程访问多副本的方法的流程图。

图2是根据本发明实施例的实现多线程访问多副本的逻辑结构的示意图。

图3是根据本发明实施例的多线程访问多副本的另一方法的流程图。

图4是根据本发明实施例的在实现多线程访问多副本的情况下完整执行进程的总过程的流程图。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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