CN105988856B - 解释器访存优化方法及装置 - Google Patents

解释器访存优化方法及装置 Download PDF

Info

Publication number
CN105988856B
CN105988856B CN201510053110.9A CN201510053110A CN105988856B CN 105988856 B CN105988856 B CN 105988856B CN 201510053110 A CN201510053110 A CN 201510053110A CN 105988856 B CN105988856 B CN 105988856B
Authority
CN
China
Prior art keywords
interpreter
node
thread
current explanation
nodes
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.)
Active
Application number
CN201510053110.9A
Other languages
English (en)
Other versions
CN105988856A (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201510053110.9A priority Critical patent/CN105988856B/zh
Publication of CN105988856A publication Critical patent/CN105988856A/zh
Application granted granted Critical
Publication of CN105988856B publication Critical patent/CN105988856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供一种解释器访存优化方法及装置,其中,所述方法包括:在非一致性存储访问NUMA系统的至少两个节点上分别生成解释器;根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器;使用所述当前解释器对所述解释器线程调用的虚拟机指令进行解释执行。本发明实施例提供的解释器访存优化方法及装置,通过在至少两个节点上分别生成解释器,运行时根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,以减少解释器的跨节点存储访问数量,从而提高虚拟机解释器的性能。

Description

解释器访存优化方法及装置
技术领域
本发明实施例涉及虚拟机技术,尤其涉及一种解释器访存优化方法及装置。
背景技术
随着云计算和大数据时代的来临,数据和信息的规模呈指数级增长,科学计算和事务处理等对计算机系统的性能提出了更高要求。为了应对日益增长增长的计算需求,多处理器计算机系统已经成为当今应用的主流。对称多处理器(简称:SMP)系统是一种常见的多处理器计算机系统,在SMP系统中所有处理器共享系统总线,对内存的访问具有相同的延迟。但是,当处理器数目增大时,SMP系统对总线的竞争冲突增大,系统总线成为制约性能的瓶颈。因此,SMP系统通常仅支持几个到十几个的处理器,其可扩展性较差。为了充分发挥多处理器系统的优势,提高系统的并发度,非一致性存储访问(简称:NUMA)系统应运而生,由于NUMA架构更易于大规模并行,更适合于构建分布式系统,并且还解决了SMP系统的可扩展性问题,故NUMA系统成为高端服务器的主流设计架构。
虚拟机(Virtual Machine,简称VM)通常是现代高性能服务器上运行的核心软件系统。虚拟机主要通过软件(或者辅以少量硬件支持)的方法来虚拟出一台计算机,并且这台虚拟的计算机通常还支持一套自己的指令集,称为虚拟机指令集。虚拟机依托于本地的物理机,通过其执行引擎对给定的虚拟机指令序列(也称目标程序)在本地物理机器上模拟执行。虚拟机的执行引擎一般包括解释器和编译器两种类型:解释器以一条虚拟机指令为单位进行取指令、译码和执行;编译器以一组连续的虚拟机指令序列(基本块、函数或方法)为单位一次性编译成本地CPU指令序列,所生成的本地机器指令称为本地方法。相对于编译器,解释器具有结构简单、易于实现和可维护性强等诸多优势,是实现虚拟机执行引擎的首选方案。例如,广泛应用的Python语言,其执行引擎仅由解释器来实现。此外,由于编译器的编译行为具有滞后性,因此,解释器往往决定了虚拟机系统的启动性能和响应速度。考虑到现有高性能服务器大都为NUMA架构,因此提升NUMA架构中虚拟机解释器的性能,对于优化服务器上应用系统的启动性能和响应速度具有十分重要的意义。
图1为现有技术基于NUMA架构的多处理器计算机系统的架构示意图。NUMA系统可以有多个节点,为便于叙述,图1以两个节点为例进行说明。如图1所示,该系统中总共有两个节点:节点0和节点1,其中,节点0包括内存0和CPU0,节点1包括内存1和CPU1。同一节点内部的CPU和存储器直接相连;不同节点间的CPU通过高速互联总线相连。从图1可见,NUMA系统中存储系统在物理结构上具有分布式的特性,分布的存储系统使得处理器对不同节点中的内存访问具有不同的访存延迟。例如,CPU0访问节点1中内存1的延迟将远大于CPU0访问节点0中内存0的延迟。这是由于当CPU0访问内存1时,内存1中的数据需要通过高速互联总线进行传输,数据在高速互联总线上的传输带宽与速率远小于相同节点内处理器对内存的直接访问。因此,NUMA系统中的访存可以划分为两类:本地存储访问和跨节点存储访问;其中,本地存储访问,是指访存目标地址所在节点和发起访存请求的处理器所在节点相同的存储访问;跨节点存储访问,是指访存目标地址所在节点和发起访存请求的处理器所在节点不同的存储访问。研究表明,减少NUMA系统中的跨节点存储访问是提升NUMA系统性能的关键。因此,减少解释器在NUMA系统中的跨节点存储访存,是提高虚拟机解释器性能的重要手段。
现有技术通常采用随机在某个节点上生成解释器的方案,但是现有技术的这种随机产生解释器的方案容易产生解释器线程与解释器不在同一个节点上运行,则会导致大量的跨节点存储访问的技术问题,极大降低了解释器的性能。
发明内容
本发明实施例提供一种解释器访存优化方法及装置,以减少NUMA系统中的跨节点存储访问,提高虚拟机解释器的性能。
第一方面,本发明实施例提供一种解释器访存优化方法,其中,所述方法包括:
在非一致性存储访问NUMA系统的至少两个节点上分别生成解释器;
根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器;
使用所述当前解释器对所述解释器线程调用的虚拟机指令进行解释执行。
根据第一方面,在第一方面的第一种可能的实现方式中,所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,包括:
根据所述解释器线程所在的节点的编号,确定所述解释器线程所在的节点是否为所述至少两个节点之一;
若是,则将所述解释器线程所在的节点上的解释器选择为当前解释器。
根据第一方面,在第一方面的第二种可能的实现方式中,所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,包括:
根据所述解释器线程所在的节点的编号,及所述NUMA系统的所有节点的分布信息,从所述至少两个节点中选择距离所述解释器线程所在的节点最近的节点作为当前节点;
将所述当前节点上的解释器作为当前解释器。
根据第一方面,在第一方面的第三种可能的实现方式中,所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器之前,还包括:获取所述解释器线程所在的节点的编号;将所述获取的所述解释器线程所在的节点的编号写入全局指针寄存器。
根据第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,包括:
根据所述全局指针寄存器的值,将所述至少两个节点中节点编号等于所述全局指针寄存器的值的节点上的解释器作为当前解释器。
第二方面,本发明实施例提供一种解释器访存优化装置,其中,所述装置包括:
解释器生成模块,用于在非一致性存储访问NUMA系统的至少两个节点上分别生成解释器;
选择模块,用于根据解释器线程所在的节点的编号,从所述解释器生成模块生成的所述至少两个节点上的解释器中选择一个解释器作为当前解释器;
指令执行模块,用于使用所述选择模块选择的所述当前解释器对所述解释器线程调用的虚拟机指令进行解释执行。
根据第二方面,在第二方面的第一种可能的实现方式中,所述选择模块,具体用于:根据所述解释器线程所在的节点的编号,确定所述解释器线程所在的节点是否为所述至少两个节点之一;若是,则将所述解释器线程所在的节点上的解释器选择为当前解释器。
根据第二方面,在第二方面的第二种可能的实现方式中,所述选择模块,具体用于:根据所述解释器线程所在的节点的编号,及所述NUMA系统的所有节点的分布信息,从所述至少两个节点中选择距离所述解释器线程所在的节点最近的节点作为当前节点;将所述当前节点上的解释器作为当前解释器。
根据第二方面,在第二方面的第三种可能的实现方式中,还包括:
获取模块,用于所述选择模块根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器之前,获取所述解释器线程所在的节点的编号;将所述获取的所述解释器线程所在的节点的编号写入全局指针寄存器。
根据第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述选择模块,具体用于:根据所述全局指针寄存器的值,将所述至少两个节点中节点编号等于所述全局指针寄存器的值的节点上的解释器作为当前解释器。
本发明实施例提供的解释器访存优化方法及装置,通过在至少两个节点上分别生成解释器,以此增加可供选择的解释器的数量,运行时根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,以减少解释器的跨节点存储访问数量,从而提高虚拟机解释器的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术基于NUMA架构的多处理器计算机系统的架构示意图;
图2为本发明实施例提供的解释器访存优化方法的流程图;
图3为本发明实施例提供的解释器访存示意图;
图4为本发明实施例提供的解释器访存优化方法的另一流程图;
图5为本发明实施例提供的解释器访存优化装置的结构示意图;
图6为本发明实施例提供的解释器访存优化装置的又一结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的解释器访存优化方法的流程图。如图2所示,本发明实施例提供的解释器访存优化方法,包括:
201、在非一致性存储访问NUMA系统的至少两个节点上分别生成解释器。
202、根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器。
其中,节点主要是指NUMA节点;节点的编号主要是指执行解释器的解释器线程所在的NUMA节点的节点编号;在本发明实施例中,所述至少两个节点可以是指NUMA系统的两个及以上节点,当然也可以是指NUMA系统的所有节点。
203、使用所述当前解释器对所述解释器线程调用的虚拟机指令进行解释执行。
本发明实施例提供的解释器访存优化方法,可以应用于基于NUMA架构的多处理器计算机系统。本发明实施例提供的解释器访存优化方法的执行主体为解释器访存优化装置,所述解释器访存优化装置例如,可以是虚拟机。所述解释器线程是指在虚拟机中执行解释器的线程。NUMA系统可以有多个节点,每个节点通常包括处理器和本地存储器,同一节点内部的处理器和存储器直接相连;不同节点间的处理器通过高速互联总线相连。可选的,所述在NUMA系统的至少两个节点上分别生成解释器包括:在NUMA系统的每个节点上均分别生成解释器。
现有技术采用随机在某个节点上生成解释器的方案,如果解释器线程与解释器不在同一个节点上运行,则会导致大量的跨节点存储访问,极大降低了解释器的性能。与现有技术相比,本发明实施例通过在至少两个节点上分别生成解释器,以此增加可供选择的解释器的数量,运行时根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,以降低解释器的跨节点存储访问,从而提高虚拟机解释器的性能。
在本发明的一实施例中,在NUMA系统的至少两个节点上分别生成解释器后,根据所述解释器线程所在的节点的编号,确定所述解释器线程所在的节点是否为所述至少两个节点之一;
若否,则根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器。
若是,则将所述解释器线程所在的节点上的解释器选择为当前解释器。从而,使得解释器线程与解释器位于同一个节点,可以大幅降低解释器在NUMA系统中的跨节点存储访问,增强了解释器访存的局部性,提高了虚拟机的性能。
在本发明的一实施例中,在至少两个节点上分别生成解释器的实现方式可以为:在所述至少两个节点上分别分配解释器存储空间,并使用解释器存储空间生成解释器存储空间对应的解释器。
在此基础上,本发明的一种选定当前解释器的实现方式可以为:根据所述解释器线程所在的节点的编号,及所述NUMA系统的所有节点的分布信息,从所述至少两个节点中选择距离所述解释器线程所在的节点最近的节点作为当前节点;将所述当前节点上的解释器作为当前解释器。其中,所述NUMA系统中所有节点的分布信息可以包括:所述NUMA系统中的节点数量、各个节点之间存储访问的代价。本领域技术人员可以理解的是:节点间的距离“最近”是指节点间的代价最小。而根据所有节点的分布信息,从各节点中选择与解释器线程所在节点间代价最小的节点,可以采用已有的方法实现。本发明实施例的技术方案,降低了解释器线程所在的节点与解释器所在的节点的距离,能够极大地降低解释器的跨节点存储访问的开销,因此,提高了虚拟机解释器的性能。
图3为本发明实施例提供的解释器访存示意图。实际中,NUMA系统可以有多个节点,为便于叙述,如图3所示,以包括两个节点(节点0和节点1)的NUMA系统为例,其中,节点0包括内存0和CPU0,节点1包括内存1和CPU1。同一节点内部的CPU和存储器直接相连;不同节点间的CPU通过高速互联总线相连。本发明实施例在每个节点上均分别生成一个解释器,即:在节点0上生成解释器0,在节点1上生成解释器1。运行时,根据解释器线程所在的节点的编号,选择与解释器线程位于同一节点的解释器作为当前解释器。例如,若解释器线程在CPU0上执行,则分派解释器0运行。显而易见的,本发明实施例大幅减少了解释器在NUMA系统中的跨节点存储访问数量,增强了解释器访存的局部性,提高了虚拟机的性能。
图4为本发明实施例提供的解释器访存优化方法的另一流程图。在上述实施例的基础上,图4所示的解释器访存优化方法以在NUMA系统的每个节点上分别生成解释器的场景为例,对本发明实施例技术方案的具体实现进行了示例说明。图4所示的解释器访存优化方法,包括如下步骤:
1、虚拟机启动,完成一系列初始化工作。
2、生成解释器,具体为:
2.1、获取机器的节点分布信息;
2.2、在每个节点上,为解释器分配存储空间;
2.3、在每个节点上,使用解释器存储空间生成解释器;
2.4、向虚拟机注册所有节点上生成的解释器;
2.5、完成解释器相关的其它初始化工作。
3、解释器线程启动。
4、获取解释器线程运行时所在的节点的编号。
5、解释器线程循环执行以下步骤:
5.1、获取即将执行的虚拟机指令;
5.2、虚拟机指令译码;
5.3、根据解释器线程所在的节点的编号,从各个节点上的解释器中选择一个解释器作为当前解释器:分派和当前执行解释器线程的处理器位于同一个节点的解释器作为当前解释器;
5.4、获取操作数;
5.5、使用当前解释器对解释器线程调用的虚拟机指令进行解释执行,即执行虚拟机指令规定的语义动作;
5.6、判断解释器是否应当停止执行:若是,则停止;若否,则跳转至5.1继续循环。
本发明的另一种选定当前解释器的实现方式为:在根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器之前,获取所述解释器线程所在的节点的编号,将所述获取的所述解释器线程所在的节点的编号写入全局指针寄存器;然后,根据所述全局指针寄存器的值,将所述至少两个节点中节点编号等于所述全局指针寄存器的值的节点上的解释器作为当前解释器。具体地,
在图4所示实施例的基础上,进一步,在步骤3中,解释器线程启动时,将全局指针寄存器(也称GP寄存器)的值保存到指定寄存器或内存中指定地址中。在步骤4中,获取解释器线程运行时所在的节点的编号,并将所述获取的所述解释器线程所在的节点的编号写入所述全局指针寄存器中。在步骤5.3中,根据解释器线程所在的节点的编号,从各个节点上的解释器中选择一个解释器作为当前解释器,具体可以为:根据所述全局指针寄存器的值,将所述至少两个节点中节点编号等于所述全局指针寄存器的值的节点上的解释器作为当前解释器。在步骤5.6中,若判断解释器停止执行,则读取上述指定寄存器或内存中指定地址中存储的值,并写入全局指针寄存器中。
本发明实施例通过在每个节点上分别生成解释器,运行时,根据解释器线程所在的节点的编号,选择与解释器线程位于同一节点的解释器作为当前解释器,大幅减少了解释器的跨节点存储访问数量,提高了虚拟机解释器的性能。
图5为本发明实施例提供的解释器访存优化装置的结构示意图。如图5所示,本发明实施例提供的解释器访存优化装置500,包括:
解释器生成模块501,用于在非一致性存储访问NUMA系统的至少两个节点上分别生成解释器;
选择模块502,用于根据解释器线程所在的节点的编号,从所述解释器生成模块501生成的所述至少两个节点上的解释器中选择一个解释器作为当前解释器;
指令执行模块503,用于使用所述选择模块502选择的所述当前解释器对所述解释器线程调用的虚拟机指令进行解释执行。
与现有技术相比,本发明实施例通过在至少两个节点上分别生成解释器,以此增加可供选择的解释器的数量,运行时根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,以降低解释器的跨节点存储访问,从而提高虚拟机解释器的性能。
在本发明的一实施例中,所述选择模块502,具体用于:根据所述解释器线程所在的节点的编号,确定所述解释器线程所在的节点是否为所述至少两个节点之一;若是,则将所述解释器线程所在的节点上的解释器选择为当前解释器。
在本发明的一实施例中,所述选择模块502,具体用于:根据所述解释器线程所在的节点的编号,及所述NUMA系统的所有节点的分布信息,从所述至少两个节点中选择距离所述解释器线程所在的节点最近的节点作为当前节点;将所述当前节点上的解释器作为当前解释器。
与现有技术相比,本发明实施例通过在至少两个节点上分别生成解释器,以此增加可供选择的解释器的数量,运行时根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择选择距离所述解释器线程所在的节点最近的节点上的解释器作为当前解释器,以降低解释器的跨节点存储访问,从而提高虚拟机解释器的性能。
图6为本发明实施例提供的解释器访存优化装置的又一结构示意图。在图5所示实施例的基础上,图6所示的解释器访存优化装置600,也包括:解释器生成模块501、选择模块502及指令执行模块503;进一步,在本发明实施例还包括:获取模块601,用于在所述选择模块502根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器之前,获取所述解释器线程所在的节点的编号;将所述获取的所述解释器线程所在的节点的编号写入全局指针寄存器。
在上述实施例的基础上,所述选择模块502具体用于:根据所述全局指针寄存器的值,将所述至少两个节点中节点编号等于所述全局指针寄存器的值的节点上的解释器作为当前解释器。
与现有技术相比,本发明实施例通过获取模块601获取解释器线程所在的节点的编号,并将解释器线程所在的节点的编号写入全局指针寄存器,选择模块502将所述至少两个节点中节点编号等于全局指针寄存器的值的节点上的解释器作为当前解释器,从而借助全局指针寄存器实现了从所述至少两个节点上的解释器中选择一个解释器作为当前解释器的方案。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种解释器访存优化方法,其特征在于,包括:
在非一致性存储访问NUMA系统的至少两个节点上分别生成解释器;
根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,所述解释器线程是指执行所述解释器的线程;
使用所述当前解释器对所述解释器线程调用的虚拟机指令进行解释执行;
其中,所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,包括:
根据所述解释器线程所在的节点的编号,确定所述解释器线程所在的节点是否为所述至少两个节点之一;
若是,则将所述解释器线程所在的节点上的解释器选择为当前解释器。
2.根据权利要求1所述的方法,其特征在于,所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,包括:
根据所述解释器线程所在的节点的编号,及所述NUMA系统的所有节点的分布信息,从所述至少两个节点中选择距离所述解释器线程所在的节点最近的节点作为当前节点;
将所述当前节点上的解释器作为当前解释器。
3.根据权利要求1所述的方法,其特征在于,所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器之前,还包括:
获取所述解释器线程所在的节点的编号;将所述获取的所述解释器线程所在的节点的编号写入全局指针寄存器。
4.根据权利要求3所述的方法,其特征在于,
所述根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器,包括:
根据所述全局指针寄存器的值,将所述至少两个节点中节点编号等于所述全局指针寄存器的值的节点上的解释器作为当前解释器。
5.一种解释器访存优化装置,其特征在于,包括:
解释器生成模块,用于在非一致性存储访问NUMA系统的至少两个节点上分别生成解释器;
选择模块,用于根据解释器线程所在的节点的编号,从所述解释器生成模块生成的所述至少两个节点上的解释器中选择一个解释器作为当前解释器所述解释器线程是指执行所述解释器的线程;
指令执行模块,用于使用所述选择模块选择的所述当前解释器对所述解释器线程调用的虚拟机指令进行解释执行;
其中,所述选择模块,具体用于:根据所述解释器线程所在的节点的编号,确定所述解释器线程所在的节点是否为所述至少两个节点之一;若是,则将所述解释器线程所在的节点上的解释器选择为当前解释器。
6.根据权利要求5所述的装置,其特征在于,所述选择模块,具体用于:
根据所述解释器线程所在的节点的编号,及所述NUMA系统的所有节点的分布信息,从所述至少两个节点中选择距离所述解释器线程所在的节点最近的节点作为当前节点;将所述当前节点上的解释器作为当前解释器。
7.根据权利要求5所述的装置,其特征在于,还包括:
获取模块,用于所述选择模块根据解释器线程所在的节点的编号,从所述至少两个节点上的解释器中选择一个解释器作为当前解释器之前,获取所述解释器线程所在的节点的编号;将所述获取的所述解释器线程所在的节点的编号写入全局指针寄存器。
8.根据权利要求7所述的装置,其特征在于,
所述选择模块,具体用于:根据所述全局指针寄存器的值,将所述至少两个节点中节点编号等于所述全局指针寄存器的值的节点上的解释器作为当前解释器。
CN201510053110.9A 2015-02-02 2015-02-02 解释器访存优化方法及装置 Active CN105988856B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510053110.9A CN105988856B (zh) 2015-02-02 2015-02-02 解释器访存优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510053110.9A CN105988856B (zh) 2015-02-02 2015-02-02 解释器访存优化方法及装置

Publications (2)

Publication Number Publication Date
CN105988856A CN105988856A (zh) 2016-10-05
CN105988856B true CN105988856B (zh) 2019-04-16

Family

ID=57036551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510053110.9A Active CN105988856B (zh) 2015-02-02 2015-02-02 解释器访存优化方法及装置

Country Status (1)

Country Link
CN (1) CN105988856B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936739B (zh) * 2015-12-30 2020-02-11 新华三技术有限公司 一种报文转发方法及装置
CN109426544A (zh) * 2017-08-23 2019-03-05 龙芯中科技术有限公司 虚拟机部署方法和装置
CN112632095A (zh) * 2020-12-31 2021-04-09 中国农业银行股份有限公司 一种更新解释器和线程池单元的对应关系的方法和装置
CN114461351B (zh) 2022-04-13 2022-06-17 之江实验室 一种用于神经网络计算的动态图执行方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1419192A (zh) * 2001-10-31 2003-05-21 亚普公司 中间代码预处理、执行装置及执行系统及计算机程序产品
CN103955398A (zh) * 2014-04-28 2014-07-30 浙江大学 一种基于处理器性能监控的虚拟机共生调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4917138B2 (ja) * 2009-10-07 2012-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクト最適配置装置、オブジェクト最適配置方法、及びオブジェクト最適配置プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1419192A (zh) * 2001-10-31 2003-05-21 亚普公司 中间代码预处理、执行装置及执行系统及计算机程序产品
CN103955398A (zh) * 2014-04-28 2014-07-30 浙江大学 一种基于处理器性能监控的虚拟机共生调度方法

Also Published As

Publication number Publication date
CN105988856A (zh) 2016-10-05

Similar Documents

Publication Publication Date Title
Ernsting et al. Algorithmic skeletons for multi-core, multi-GPU systems and clusters
Hermann et al. Multi-GPU and multi-CPU parallelization for interactive physics simulations
US8209690B2 (en) System and method for thread handling in multithreaded parallel computing of nested threads
US10310973B2 (en) Efficient memory virtualization in multi-threaded processing units
EP2472398B1 (en) Memory-aware scheduling for NUMA architectures
Mukherjee et al. A comprehensive performance analysis of HSA and OpenCL 2.0
US20140123146A1 (en) Efficient memory virtualization in multi-threaded processing units
Nelson et al. Crunching large graphs with commodity processors
CN105988856B (zh) 解释器访存优化方法及装置
US10248581B2 (en) Guarded memory access in a multi-thread safe system level modeling simulation
CN104025185A (zh) 用于使用gpu控制器来预加载缓存的机制
US8615770B1 (en) System and method for dynamically spawning thread blocks within multi-threaded processing systems
EP3662376B1 (en) Reconfigurable cache architecture and methods for cache coherency
TW201820151A (zh) 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
EP4184324A1 (en) Efficient accelerator offload in multi-accelerator framework
JP2014225263A (ja) プロセッシング装置及びプロセッシング方法
CN108702339A (zh) 结构架构中用于基于服务质量进行节流的技术
CN106250348A (zh) 一种基于gpu访存特性的异构多核架构缓存管理方法
Kirtzic et al. A parallel algorithm development model for the GPU architecture
CN111756802B (zh) 一种数据流任务在numa平台上的调度方法及系统
JP2021528730A (ja) メタデータを使用したニューラルネットワークにおける日和見的な負荷分散のための方法及びシステム
US9330005B2 (en) Interface and method for inter-thread communication
Chen et al. Task Scheduling for Multi-core and Parallel architectures
Beri et al. A scheduling and runtime framework for a cluster of heterogeneous machines with multiple accelerators
US8959497B1 (en) System and method for dynamically spawning thread blocks within multi-threaded processing systems

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
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP01 Change in the name or title of a patent holder