CN112965921A - 一种多任务gpu中tlb管理方法及系统 - Google Patents
一种多任务gpu中tlb管理方法及系统 Download PDFInfo
- Publication number
- CN112965921A CN112965921A CN202110176789.6A CN202110176789A CN112965921A CN 112965921 A CN112965921 A CN 112965921A CN 202110176789 A CN202110176789 A CN 202110176789A CN 112965921 A CN112965921 A CN 112965921A
- Authority
- CN
- China
- Prior art keywords
- tlb
- program
- replacement
- entry
- virtual address
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims description 21
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 abstract description 15
- 238000013519 translation Methods 0.000 abstract description 13
- 230000007246 mechanism Effects 0.000 abstract description 5
- 238000002955 isolation Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种多任务GPU中TLB管理方法及系统,包括:当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;如果查找成功则返回当前虚拟地址对应的物理地址;否则,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB,直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址。本发明相比TLB完全共享机制,降低不同程序因为共享TLB导致的冲突;相比TLB完全隔离机制,提高TLB资源的整体利用率。
Description
技术领域
本发明涉及GPU多线程架构,具体涉及一种多任务GPU中TLB管理方法及系统。
背景技术
近年来图形处理器GPU因其强大的计算能力在云计算平台和数据中心被广泛应用,为用户提供所需要的计算。与只在GPU上运行一个任务的单任务GPU相比,多任务GPU可以在GPU上同时运行多个任务,有效的提高了资源的利用率。同时多任务SM(simultaneousmultitaksing)是一种支持在GPU上同时运行多个程序的有效方式。如图1在同时多任务中,不同的程序共享同一个SM处理器上的资源,例如寄存器文件,计算单元,访存单元等等,从而实现了多个任务同时运行在一个SM上运行。
当任务例如一个通用并行计算架构CUDA程序被调度到GPU上执行时,该CUDA程序中的一个kernel被划分为了若干个线程块(Block),一个SM上可以同时执行一个或几个线程块。每个线程块中包含很多线程即CUDA thread,这些线程又以线程束(warp)的形式被组织起来,每个线程束包含32个线程。在同时多任务中,每个SM上可以同时运行来自不同程序的线程块,SM上的warp调度器在每个时钟周期通过特定的warp调度算法从当前SM上的所有warp中选择一个warp出来,执行该warp的当前指令。
现代GPU通常采用虚拟内存的方式管理GPU上的真实物理内存空间,即每一个物理内存页都有一个虚拟内存页与之对应。虚拟内存到物理内存的映射关系通常被存储在内存中的页表。为了加速虚实地址转化的速度,与CPU类似,GPU也采取了快表TLB存储经常被访问的虚拟内存地址。warp中的访存指令执行的过程中会产生访存请求,这些访存请求需要首先需要使用当前请求的虚拟地址依次访问L1、L2 TLB进行虚实地址转化得到真实的物理地址,然后再使用真实的物理地址去访问L1 cache以及存储系统。图2给出了一个虚拟地址通过访问TLB进行虚实地址转换的例子。一个32位的虚拟地址根据内存页大小被划分为虚拟页号和页内偏移。虚拟页号被用来索引TLB,根据比较TLB项的tag标记位查找到该虚拟地址对应的TLB项,然后使用该TLB项的实页号与当前虚拟地址的页内偏移进行拼接得到真实的物理地址。TLB项中除了tag标记位,实页号,还包括AppID用来表示当前TLB项属于当前运行的哪一个程序,以及辅助信息项例如访问计数器用来标记当前TLB项的访问次数以便用于LRU等替换算法中。
当访问请求的虚拟地址在L1和L2 TLB中没有对应的TLB项,即TLB访问失效,则该访存请求需要访存存储在内存中的页表进行虚实地址转换,同时在TLB中找出替换项,等到页表访问完成时将当前虚拟地址对应的物理地址存储到替换项中。相比于访问片上存储的TLB,访问内存中的页表带来了巨大的延迟,从而导致了性能的开销。在多任务GPU中,不同程序的运行时特征不同。有的程序在运行的过程中可能产生大量的访存请求,导致了很大的TLB访问次数,有的程序在运行的过程中则产生的访存请求较少。如何在不同任务之间高效共享TLB成为影响多任务GPU性能的关键因素。
(2)与本发明最接近的技术方案说明
当前GPU上的TLB管理可以采用完全共享或者完全隔离的方案。
在完全共享的方案中,GPU上程序的访存请求可以访问L1,L2 TLB的任意空间。当TLB接收到一个访存请求时,它不会区分当前访存请求来自哪一个程序,直接使用该访存请求对应的虚拟内存地址去查找TLB,如果TLB命中,则返回该虚拟地址对应的物理地址;如果TLB失效,则会使用该虚拟地址去访问下一级的TLB,如果当前TLB就是最后一层的TLB,则该访存请求直接访问存储在内存中的页表项,进行虚实地址转化。完全共享的方案会导致不同程序的TLB访问请求之间会导致严重的冲突。例如,一个程序具有大量的TLB访问请求,一个程序的TLB访问请求较少。那么具有大量TLB访问请求的程序会频繁替换出另外一个程序的有效TLB项,严重影响了这个程序的性能。
在完全隔离的方案中,GPU将TLB平均分配给同时运行在GPU的不同程序。每个程序的虚实地址转换请求只能访问它所分配的TLB空间,不能访问其它程序的TLB空间。当TLB接收到一个访存请求时,它首先判断该访存请求来自哪一个程序,然后使用该访存请求对应的虚拟地址去查找分配给该程序的TLB空间,如果TLB命中,则返回该虚拟地址对应的物理地址;如果TLB失效,则会使用该虚拟地址去访问下一级的TLB,如果当前TLB就是最后一层的TLB,则该访存请求直接访问存储在内存中的页表项,进行虚实地址转化。采用完全隔离的方案,由于具有大量TLB访问请求的程序完全不会影响到另外一个程序的TLB项,从而不会对它的性能产生任何干扰,但是TLB完全隔离机制往往导致TLB资源的浪费。例如,具有大量TLB访问请求的程序对TLB资源有很好的利用率,而具有少量TLB访问请求的程序对TLB资源的利用率较低,往往导致了分配给它的TLB资源的浪费。
发明内容
为了解决现有技术中所存在的TLB资源的浪费和对TLB利用率较低问题,本发明提供一种多任务GPU中TLB管理方法,包括:
当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;
如果查找成功则返回当前虚拟地址对应的物理地址;
否则,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB,直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址。
优选的,所述TLB的访问类型包括:全相联TLB和组相联TLB。
优选的,所述基于所述TLB的访问类型查找对应的TLB项,包括:
如果所述TLB的访问类型为全相联TLB,则使用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项;
如果所述TLB的访问类型为组相联TLB,则首先使用虚拟地址计算组号,然后用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项。
优选的,所述按照预先设定的访问优先级寻找并确定TLB替换项,包括:
首先,从分配给当前程序的TLB空间中确定TLB替换项;
如果无法从分配给当前程序的TLB空间中确定TLB替换项,则从分配给其它程序的TLB空间中确定空闲项;如果分配给其它程序的TLB空间中没有空闲项,则使用LRU替换算法从所述分配给当前程序的TLB空间中选出一个TLB项作为替换项。
优选的,所述从分配给当前程序的TLB空间中确定TLB替换项,包括:
判断分配给当前程序的TLB空间中是否有空闲项,如果有标记一个空闲项为替换项,
否则判断当前程序所分配的TLB空间中是否有被其它程序使用的TLB项,如果有则使用LRU替换算法前程序所分配的TLB空间中选出一个TLB项作为替换项。
优选的,所述访问TLB前还包括:
将TLB资源平均分配给同时运行的程序,如果是全相联TLB,则将全部TLB均分给每个程序,如果是组相联TLB,则将每个组内的TLB均分给每个程序。
优选的,所述TLB包括:每个SM私有的TLB和被GPU上所有SM共享的TLB,其中所述私有的TLB和共享的TLB均为一个或多个。
基于同一种发明构思,本发明还提供一种多任务GPU中TLB管理系统,包括:
查找模块,用于当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;如果查找成功则返回当前虚拟地址对应的物理地址;
替换模块,用于当查找失败时,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址。
进一步的,所述查找模块,包括:
第一查找单元,用于当所述TLB的访问类型为全相联TLB时,则使用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项;
第二查找单元,用于当所述TLB的访问类型为组相联TLB,则首先使用虚拟地址计算组号,然后用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项。
进一步的,所述替换模块包括:
第一替换单元,用于从分配给当前程序的TLB空间中确定TLB替换项;
第二替换单元,用于当第一替换单元失败时,从分配给其它程序的TLB空间中确定空闲项;
第三替换单元,用于当第一替换单元和第二替换单元均失败时,使用LRU替换算法从所述分配给当前程序的TLB空间中选出一个TLB项作为替换项。
本发明的有益效果为:
1、本发明提供一种多任务GPU中TLB管理方法及系统,包括:当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;如果查找成功则返回当前虚拟地址对应的物理地址;否则,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB,直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址,在提高程序对TLB资源的利用率的同时避免了对性能产生的干扰;
2、本发明提供一种多任务GPU中TLB管理方法及系统,相比TLB完全共享机制,降低不同程序因为共享TLB导致的冲突;
3、本发明提供一种多任务GPU中TLB管理方法及系统,相比TLB完全隔离机制,提高TLB资源的整体利用率。
附图说明
图1为现有技术中的同时多任务示意图;
图2为现有技术中虚拟地址通过访问TLB进行虚实地址转换的示意图;
图3为本发明的多任务GPU中TLB管理方法示意图;
图4为本发明的多任务GPU的体系架构图;
图5为本发明的多任务高效TLB管理的流程图。
具体实施方式
为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。
实施例1:
本发明提供一种多任务GPU中TLB管理方法,如图3所示,包括:
S1、当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;
S2、如果查找成功则返回当前虚拟地址对应的物理地址;
S3、否则,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB,直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址。
下面先介绍一下本发明多任务GPU的体系架构,如图4所示,L1 TLBs和L2 TLBs为本专利主要修改的部件。其中L1 TLBs为每个SM所私有,而L2 TLBs被GPU上的所有SM共享。多任务感知的高效TLB管理总体设计思路如下1)将TLB资源平均分配给同时运行的程序,如果是全相联TLB,则将全部TLB均分给每个程序,如果是组相联TLB,则将每个组内的TLB均分给每个程序;2)当某个程序发生TLB失效,需要寻找TLB项进行替换时,除了当前程序私有的TLB空间,该程序同时可以使用其它程序TLB空间中的可用TLB项;3)当某程序无法找到可用TLB项进行替换时,它优先选择当前程序私有TLB空间中分配给其它程序的TLB项做出替换。
本发明提供的多任务GPU中TLB管理方法的具体步骤如图5所示,具体包括:
(1)使用当前访存请求的虚拟地址访问TLB。如果TLB为全相联TLB,则使用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项。如果TLB为组相联TLB,则首先使用虚拟地址计算组号,然后用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项。
(2)判断当前访存请求是否命中TLB。
(3)是,则返回当前虚拟地址对应的物理地址。
(4)否,则查看分配给当前程序的TLB空间中是否有空闲的TLB项。
(5)是,则标记空闲的TLB项为替换项。访问下一级TLB或者页表,并在真实物理地址返回时更新替换项的信息。
(6)否,则判断当前程序所分配的TLB空间中是否有被其它程序使用的TLB项。
(7)是,则使用LRU替换算法从这些TLB项集合中选出一个TLB项作为替换项。访问下一级TLB或者页表,并在真实物理地址返回时更新替换项的信息。
(8)否,则判断分配给其它程序的TLB空间中是否有空闲项。
(9)是,则标记空闲的TLB项为替换项。访问下一级TLB或者页表,并在真实物理地址返回时更新替换项的信息。
(10)否,使用LRU替换算法从这些TLB项集合中选出一个TLB项作为替换项。访问下一级TLB或者页表,并在真实物理地址返回时更新替换项的信息。
实施例2:
基于同一种发明构思,本发明还提供了一种多任务GPU中TLB管理系统,包括:
查找模块,用于当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;如果查找成功则返回当前虚拟地址对应的物理地址;
替换模块,用于当查找失败时,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址。
其中,查找模块,包括:
第一查找单元,用于当所述TLB的访问类型为全相联TLB时,则使用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项;
第二查找单元,用于当所述TLB的访问类型为组相联TLB,则首先使用虚拟地址计算组号,然后用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项。
其中,所述替换模块包括:
第一替换单元,用于从分配给当前程序的TLB空间中确定TLB替换项;
第二替换单元,用于当第一替换单元失败时,从分配给其它程序的TLB空间中确定空闲项;
第三替换单元,用于当第一替换单元和第二替换单元均失败时,使用LRU替换算法从所述分配给当前程序的TLB空间中选出一个TLB项作为替换项。
本实施例提供的系统功能同实施例1,这里不再累述,具体情况参见实施例1即可。
其他有助于理解本申请提案的技术资料:
转译后备缓冲器TLB
高速缓冲存储器Cache
通用图形处理器Graphics Processing Unit(GPU)
转换检测缓冲区Translation Lookaside Buffer(TLB)
流处理器Streaming Multiprocessor(SM)
多任务multitasking
线程块thread block(TB)
线程束warp
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。
Claims (10)
1.一种多任务GPU中TLB管理方法,其特征在于,包括:
当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;
如果查找成功则返回当前虚拟地址对应的物理地址;
否则,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB,直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址。
2.如权利要求1所述的TLB管理方法,其特征在于,所述TLB的访问类型包括:全相联TLB和组相联TLB。
3.如权利要求2所述的TLB管理方法,其特征在于,所述基于所述TLB的访问类型查找对应的TLB项,包括:
如果所述TLB的访问类型为全相联TLB,则使用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项;
如果所述TLB的访问类型为组相联TLB,则首先使用虚拟地址计算组号,然后用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项。
4.如权利要求1所述的TLB管理方法,其特征在于,所述按照预先设定的访问优先级寻找并确定TLB替换项,包括:
首先,从分配给当前程序的TLB空间中确定TLB替换项;
如果无法从分配给当前程序的TLB空间中确定TLB替换项,则从分配给其它程序的TLB空间中确定空闲项;如果分配给其它程序的TLB空间中没有空闲项,则使用LRU替换算法从所述分配给当前程序的TLB空间中选出一个TLB项作为替换项。
5.如权利要求4所述的TLB管理方法,其特征在于,所述从分配给当前程序的TLB空间中确定TLB替换项,包括:
判断分配给当前程序的TLB空间中是否有空闲项,如果有标记一个空闲项为替换项,
否则判断当前程序所分配的TLB空间中是否有被其它程序使用的TLB项,如果有则使用LRU替换算法前程序所分配的TLB空间中选出一个TLB项作为替换项。
6.如权利要求2所述的TLB管理方法,其特征在于,所述访问TLB前还包括:
将TLB资源平均分配给同时运行的程序,如果是全相联TLB,则将全部TLB均分给每个程序,如果是组相联TLB,则将每个组内的TLB均分给每个程序。
7.如权利要求1所述的TLB管理方法,其特征在于,所述TLB包括:每个SM私有的TLB和被GPU上所有SM共享的TLB,其中所述私有的TLB和共享的TLB均为一个或多个。
8.一种多任务GPU中TLB管理系统,其特征在于,包括:
查找模块,用于当某个程序访问TLB时,基于所述TLB的访问类型查找对应的TLB项;如果查找成功则返回当前虚拟地址对应的物理地址;
替换模块,用于当查找失败时,按照预先设定的访问优先级寻找并确定TLB替换项,并继续访问下一级TLB直到查找对应的TLB项或者TLB查找完后从页表中确定当前虚拟地址对应的物理地址。
9.如权利要求8所述的TLB管理系统,其特征在于,所述查找模块,包括:
第一查找单元,用于当所述TLB的访问类型为全相联TLB时,则使用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项;
第二查找单元,用于当所述TLB的访问类型为组相联TLB,则首先使用虚拟地址计算组号,然后用虚拟地址在分配给该程序的TLB中依次查找对应的TLB项。
10.如权利要求8所述的TLB管理系统,其特征在于,所述替换模块包括:
第一替换单元,用于从分配给当前程序的TLB空间中确定TLB替换项;
第二替换单元,用于当第一替换单元失败时,从分配给其它程序的TLB空间中确定空闲项;
第三替换单元,用于当第一替换单元和第二替换单元均失败时,使用LRU替换算法从所述分配给当前程序的TLB空间中选出一个TLB项作为替换项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110176789.6A CN112965921B (zh) | 2021-02-07 | 2021-02-07 | 一种多任务gpu中tlb管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110176789.6A CN112965921B (zh) | 2021-02-07 | 2021-02-07 | 一种多任务gpu中tlb管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112965921A true CN112965921A (zh) | 2021-06-15 |
CN112965921B CN112965921B (zh) | 2024-04-02 |
Family
ID=76284441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110176789.6A Active CN112965921B (zh) | 2021-02-07 | 2021-02-07 | 一种多任务gpu中tlb管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112965921B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113612863A (zh) * | 2021-07-12 | 2021-11-05 | 武汉理工大学 | 一种gpu中地址转换优化方法、系统、设备及存储介质 |
CN115794681A (zh) * | 2022-10-12 | 2023-03-14 | 中国人民解放军军事科学院国防科技创新研究院 | 适用于risc-v的多级可扩展tlb结构 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239237A (zh) * | 2013-06-20 | 2014-12-24 | 华为技术有限公司 | 一种tlb管理方法及装置 |
CN104516822A (zh) * | 2013-09-29 | 2015-04-15 | 华为技术有限公司 | 一种内存访问方法和设备 |
CN108139966A (zh) * | 2016-05-03 | 2018-06-08 | 华为技术有限公司 | 管理转址旁路缓存的方法和多核处理器 |
CN110874332A (zh) * | 2016-08-26 | 2020-03-10 | 北京中科寒武纪科技有限公司 | 内存管理单元及其管理方法 |
CN111124954A (zh) * | 2019-11-12 | 2020-05-08 | 上海高性能集成电路设计中心 | 一种两级转换旁路缓冲的管理装置及方法 |
CN111241012A (zh) * | 2020-02-25 | 2020-06-05 | 江苏华创微系统有限公司 | 支持多级页表的tlb架构 |
WO2020154166A1 (en) * | 2019-01-24 | 2020-07-30 | Advanced Micro Devices, Inc. | Cache replacement based on translation lookaside buffer evictions |
-
2021
- 2021-02-07 CN CN202110176789.6A patent/CN112965921B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239237A (zh) * | 2013-06-20 | 2014-12-24 | 华为技术有限公司 | 一种tlb管理方法及装置 |
CN104516822A (zh) * | 2013-09-29 | 2015-04-15 | 华为技术有限公司 | 一种内存访问方法和设备 |
CN108139966A (zh) * | 2016-05-03 | 2018-06-08 | 华为技术有限公司 | 管理转址旁路缓存的方法和多核处理器 |
CN110874332A (zh) * | 2016-08-26 | 2020-03-10 | 北京中科寒武纪科技有限公司 | 内存管理单元及其管理方法 |
WO2020154166A1 (en) * | 2019-01-24 | 2020-07-30 | Advanced Micro Devices, Inc. | Cache replacement based on translation lookaside buffer evictions |
CN111124954A (zh) * | 2019-11-12 | 2020-05-08 | 上海高性能集成电路设计中心 | 一种两级转换旁路缓冲的管理装置及方法 |
CN111241012A (zh) * | 2020-02-25 | 2020-06-05 | 江苏华创微系统有限公司 | 支持多级页表的tlb架构 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113612863A (zh) * | 2021-07-12 | 2021-11-05 | 武汉理工大学 | 一种gpu中地址转换优化方法、系统、设备及存储介质 |
CN113612863B (zh) * | 2021-07-12 | 2022-07-26 | 武汉理工大学 | 一种gpu中地址转换优化方法、系统、设备及存储介质 |
CN115794681A (zh) * | 2022-10-12 | 2023-03-14 | 中国人民解放军军事科学院国防科技创新研究院 | 适用于risc-v的多级可扩展tlb结构 |
CN115794681B (zh) * | 2022-10-12 | 2023-05-23 | 中国人民解放军军事科学院国防科技创新研究院 | 适用于risc-v的多级可扩展tlb系统及其地址转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112965921B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963387B2 (en) | Methods of cache preloading on a partition or a context switch | |
US10740249B2 (en) | Maintaining processor resources during architectural events | |
KR101136610B1 (ko) | 시퀀서 어드레스 관리 | |
JP5413001B2 (ja) | キャッシュメモリ | |
Wolfe | Software-based cache partitioning for real-time applications | |
US9032398B2 (en) | Online classification of memory pages based on activity level represented by one or more bits | |
US7073044B2 (en) | Method and apparatus for sharing TLB entries | |
US6728858B2 (en) | Method and apparatus including heuristic for sharing TLB entries | |
US5630097A (en) | Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses | |
US8769184B2 (en) | System and method to prioritize large memory page allocation in virtualized systems | |
US8453132B2 (en) | System and method for recompiling code based on locality domain and thread affinity in NUMA computer systems | |
Kim et al. | Real-time cache management for multi-core virtualization | |
US8190652B2 (en) | Achieving coherence between dynamically optimized code and original code | |
Haldar et al. | Operating systems | |
WO2013101104A1 (en) | Sharing tlb mappings between contexts | |
US9201806B2 (en) | Anticipatorily loading a page of memory | |
JP2012203729A (ja) | 演算処理装置および演算処理装置の制御方法 | |
US6298411B1 (en) | Method and apparatus to share instruction images in a virtual cache | |
EP3454219B1 (en) | An apparatus and method for efficient utilisation of an address translation cache | |
CN112965921B (zh) | 一种多任务gpu中tlb管理方法及系统 | |
Silberschatz et al. | Operating systems | |
Hwang et al. | Hyperdealer: Reference-pattern-aware instant memory balancing for consolidated virtual machines | |
Min et al. | Improving performance of large physically indexed caches by decoupling memory addresses from cache addresses | |
Zhang et al. | A Unified Page Walk Buffer and Page Walk Cache | |
CN114840332A (zh) | 页交换方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |