一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种GPU中地址转换优化方法、系统、设备及存储介质与流程

2021-11-05 20:06:00 来源:中国专利 TAG:
一种gpu中地址转换优化方法、系统、设备及存储介质
技术领域
:1.本技术涉及内存管理
技术领域
:,尤其是涉及一种gpu中地址转换优化方法、系统、设备及存储介质。
背景技术
::2.目前,随着人工智能和机器学习的广泛应用,对海量数据的快速处理有着迫切需求,gpu(graphicsprocessingunit)对海量数据进行并行处理的优势为这类应用打开了大门。由于数据的获取是根据物理地址来存取的,因此在此之前必须将数据的虚拟地址转换为物理地址,这一过程称之为地址转换;故地址转换的性能也大大影响了整个程序的性能。目前,gpu中的地址转换性能优化远不如cpu中地址转换性能优化成熟,因此针对gpu的应用程序地址转换优化就很有必要。3.如图1所示为现有的gpu中地址转换过程,核发出地址转换请求,首先查找该核的私有tlb(页表文件),如果未找到,则查找所有核的共享tlb,但访问共享tlb的延时是访问私有tlb的十几倍,很明显性能变慢,如果还是未找到,就需要通过页表遍历器(pagetablewalker)查找内存中的页表,此时访问延时是访问共享tlb的几百倍,因此性能更低。目前国内外大多数研究的解决方案是从以下三个方面来考虑:一是扩大tlb本身的容量,从硬件方面来扩大tlb的大小,但是由于价格和延时的影响,tlb的容量大小一定是有限的,并不能一直扩大,因此此方法是有极大局限性的;二是从覆盖率来考虑,将页表中的多个地址转换条目通过一些方法压缩成一个tlb地址转换条目填充到tlb中,但是不管用什么方法压缩,覆盖率也是有局限性的,不可能一直无限压缩;三是提高tlb的存取延时,但是由于共享tlb的地址转换条目比私有tlb的地址转换条目多,目前共享tlb的延时优化不是很理想。因此本发明人认为gpu中地址转换优化方式还需要进一步改进。技术实现要素:4.有鉴于此,本技术提供一种gpu中地址转换优化方法、系统、设备及存储介质,用以解决现有gpu中地址转换延时较长的技术问题。5.为了解决上述问题,第一方面,本发明提供一种gpu中地址转换优化方法,所述方法包括:6.为gpu的每个核建立一个目录,所述目录记录gpu各个核的私有tlb之间的共享情况;7.若当前地址转换请求在本地核私有tlb出现不命中时,通过查找所述本地核私有tlb的目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。8.可选的,所述为gpu的每个核建立一个目录,具体为:为每个核的私有tlb配设一个目录,所述目录记录对应私有tlb中每个条目的映射信息,以及与所述对应私有tlb联系密切的异地核私有tlb中每个条目的映射信息,所述映射信息均包括条目的虚拟地址和存储位置信息。9.可选的,所述存储位置信息包括条目的位图信息和共享信息,所述位图信息包括对应条目的虚拟地址对应映射的物理地址所存储的核位置和核数量,所述共享信息表示对应条目对应映射的物理地址是否存储于共享tlb中。10.可选的,根据异地核私有tlb的响应完成地址转换之前,所述方法还包括:11.通过片上互联网络技术,将各个私有tlb互联;12.通过查找所述本地核私有tlb的目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换,包括:13.所述当前地址转换请求包括目标虚拟地址,通过查找本地核私有tlb的目录中与所述目标虚拟地址成功匹配的条目的虚拟地址,根据所述匹配的条目记录的位图信息,确定目标虚拟地址对应映射的物理地址信息所存储的核的私有tlb并作为命中的异地核私有tlb;14.基于各个私有tlb之间的片上互联网络,将所述当前地址转换请求发送至所述命中的异地核私有tlb;15.获取请求响应,得到目标虚拟地址对应映射的物理地址,完成地址转换。16.可选的,所述方法还包括:17.若当前地址转换请求在本地核私有tlb出现不命中时,通过所述本地核私有tlb的目录未查找到命中的异地核私有tlb,则将当前地址转换请求发送至共享tlb,在所述共享tlb中查找,若未命中,则将所述当前地址转换请求发送至页表遍历的缓冲区,查找内存中的页表。18.可选的,所述方法还包括:19.当共享tlb的目标条目需要放置至待填充私有tlb中时,根据所述待填充私有tlb的目录中记录的每个条目的位图信息,统计与待填充私有tlb共享存储的条目的数量;20.判断共享存储的条目数量是否达到预设阈值,若是,则将共享tlb的目标条目填充至所述待填充私有tlb中,并更新对应的目录。21.可选的,所述方法还包括:22.基于预设的mru策略从目标私有tlb中筛选出多个待删除条目;23.通过查找目标私有tlb的目录,获取当前待删除条目的位图信息,并统计当前待删除条目对应映射的物理地址共享存储的核数量并作为共享度;24.判断所述当前待删除条目的共享度是否达到预设的共享阈值;25.若否,则将当前待删除条目作为驱逐条目,从所述目标私有tlb中删除;26.若是,则对下一个待删除条目进行判断,直至对所有待删除条目判断完毕后,未筛选出一个驱逐条目时,则回归执行所述mru策略进行循环驱逐。27.第二方面,本技术提供一种gpu中地址转换优化系统,所述系统包括:28.目录构建模块,用于为gpu的每个核建立一个目录,所述目录记录gpu各个核的私有tlb之间的共享情况;29.地址转换模块,用于若当前地址转换请求在本地核私有tlb出现不命中时,通过查找所述本地核私有tlb的目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。30.第三方面,本技术提供的一种计算机设备,采用如下的技术方案:31.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述gpu中地址转换优化方法的步骤。32.第四方面,本技术提供的一种计算机可读存储介质,采用如下的技术方案:33.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述gpu中地址转换优化方法的步骤。34.采用上述实施例的有益效果是:为gpu的每个核建立一个目录,通过目录记录gpu各个核的私有tlb之间的共享情况,从而将各个核的私有tlb之间存取访问的相似性联系起来;若当前地址转换请求在本地核私有tlb中未命中时,则可以通过查找目录可以确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,可以获取当前地址转换请求所需的物理地址,完成地址转换,从而有效减少访问共享tlb的几率,降低存取访问延时,提高地址转换的性能。附图说明35.图1为本发明提供的gpu中地址转换优化系统的应用场景示意图;36.图2为本发明提供的gpu中地址转换优化方法一实施例的方法流程图;37.图3为本发明提供的gpu中地址转换优化方法另一实施例的示意图;38.图4为本发明提供的私有tlb的目录记录的一个条目的映射信息示意图;39.图5为本发明提供的各个私有tlb基于片上互联网络的存取访问示意图;40.图6为本发明提供的gpu中地址转换优化方法步骤s202一实施例的方法流程图;41.图7为本发明提供的gpu中地址转换优化方法另一实施例的方法流程图;42.图8为本发明提供的gpu中地址转换优化方法另一实施例的方法流程图;43.图9为本发明提供的gpu中地址转换优化系统一实施例的原理框图;44.图10为本发明提供的计算机设备一实施例的原理框图。具体实施方式45.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。46.在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。47.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。48.本发明提供了一种gpu中地址转换优化方法、系统、设备及存储介质,以下分别进行详细说明。49.图1为本技术实施例所提供的gpu中地址转换优化系统的场景示意图,该系统可以包括服务器100,服务器100中集成有gpu中地址转换优化系统,如图1中的服务器。50.本技术实施例中服务器100主要用于:51.为gpu的每个核建立一个目录,目录记录gpu各个核的私有tlb之间的共享情况;52.若当前地址转换请求在本地核私有tlb出现不命中时,通过查找目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。53.本技术实施例中,该服务器100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本技术实施例中所描述的服务器100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloudcomputing)的大量计算机或网络服务器构成。54.可以理解的是,本技术实施例中所使用的终端200可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的终端200可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等,本实施例不限定终端200的类型。55.本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本技术方案一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的终端,例如图1中仅示出2个终端,可以理解的,该gpu中地址转换优化系统还可以包括一个或多个其他终端,具体此处不作限定。56.另外,参照图1所示,该gpu中地址转换优化系统还可以包括存储器200,用于存储数据,如存储每个私有tlb的目录信息等。57.需要说明的是,图1所示的gpu中地址转换优化系统的场景示意图仅仅是一个示例,本技术实施例描述的gpu中地址转换优化系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着gpu中地址转换优化系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。58.首先,本技术实施例提供了一种gpu中地址转换优化方法,该方法包括:59.为gpu的每个核建立一个目录,目录记录gpu各个核的私有tlb之间的共享情况;若当前地址转换请求在本地核私有tlb出现不命中时,通过查找目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。60.参照图2,本技术提供的gpu中地址转换优化方法一种实施例的方法流程图,该gpu中地址转换优化方法包括下述步骤:61.s201、为gpu的每个核建立一个目录,目录记录gpu各个核的私有tlb之间的共享情况;62.s202、若当前地址转换请求在本地核私有tlb出现不命中时,通过查找本地核私有tlb的目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。63.在本实施例中,可以通过硬件在每个核的私有tlb旁边配备一个目录。根据每个核的私有tlb不同,对应目录所记录的信息存在不同;一个核的私有tlb的目录主要记录本地核私有tlb的信息,以及与该私有tlb关联性较强的异地核私有tlb的信息,从而将存取访问相似性较高的私有tlb关联起来,便于提高存取访问效率。64.本实施例为gpu的每个核建立一个目录,通过目录记录gpu各个核的私有tlb之间的共享情况,从而将各个核的私有tlb之间存取访问的相似性联系起来;若当前地址转换请求在本地核私有tlb中未命中时,则可以通过查找目录可以确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,可以获取当前地址转换请求所需的物理地址,完成地址转换,从而可以有效减少访问共享tlb的几率,降低存取访问延时,提高地址转换的性能。65.可选的,参照图3,本技术提供的gpu中地址转换优化方法还包括:66.若当前地址转换请求在本地核私有tlb出现不命中时,通过本地核私有tlb的目录未查找到命中的异地核私有tlb,则将当前地址转换请求发送至共享tlb,在共享tlb中查找,若未命中,则将当前地址转换请求发送至页表遍历的缓冲区,查找内存中的页表。67.可选的,本技术提供的步骤s201具体为:68.为每个核的私有tlb配设一个目录,目录记录对应私有tlb中每个条目的映射信息,以及与对应私有tlb联系密切的异地核私有tlb中每个条目的映射信息,映射信息均包括条目的虚拟地址和存储位置信息。69.可选的,存储位置信息包括条目的位图信息和共享信息,位图信息包括对应条目的虚拟地址对应映射的物理地址所存储的核位置和核数量,共享信息表示对应条目对应映射的物理地址是否存储于共享tlb中。70.具体地,参照图4为目录记录的一个条目的映射信息示意图,图中,vpn表示对应私有tlb条目的虚拟地址;l1‑bitmap表示当前vpn对应映射的物理地址所存储的核位置即私有tlb位置,其比特位数表示共享存储的核的数量;l2‑bit表示当前vpn对应映射的物理地址是否存储于共享tlb中,其需要一个比特位表示。71.可选的,本技术提供的步骤s202中根据异地核私有tlb的响应完成地址转换之前,本实施例的优化方法还包括:72.通过片上互联网络技术,将各个私有tlb互联。73.在本实施例中,参照图5,通过片上互联网络技术,将所有私有tlb连通起来,使得每个私有tlb都可以向其他私有tlb发出地址转换请求,具体地,通过片上网络中的路由结点来选择合适的路由将请求或响应发送到对应的私有tlb的路由结点。74.可选的,参照图6,本技术提供的步骤s202一种实施例的方法流程图,该步骤s202包括下述步骤:75.s601、当前地址转换请求包括目标虚拟地址,通过查找本地核私有tlb的目录中与目标虚拟地址成功匹配的条目的虚拟地址,根据匹配的条目记录的位图信息,确定目标虚拟地址对应映射的物理地址信息所存储的核的私有tlb并作为命中的异地核私有tlb;76.s602、基于各个私有tlb之间的片上互联网络,将当前地址转换请求发送至命中的异地核私有tlb;77.s603、获取请求响应,得到目标虚拟地址对应映射的物理地址,完成地址转换。78.具体地,当前地址转换请求不能在本地核私有tlb命中时,根据当前地址转换请求携带的目标虚拟地址,查找本地核私有tlb的目录中与目标虚拟地址匹配的vpn(虚拟地址),可以确定命中的异地核私有tlb以及命中的数量,在本实施例中,可以根据位图信息,将第一个命中的异地核私有tlb作为待访问的异地核私有tlb;进一步地,参照图4,通过片上互联网络,将当前地址转换请求发送至待访问的异地核私有tlb,等待响应,并通过片上互联网络,获取请求响应,该请求响应中携带目标虚拟地对应映射的物理地址,从而使得当前地址转换请求在本地核私有tlb中完成地址转换。79.可选的,参照图7,本技术提供的gpu中地址转换优化方法还包括:80.s701、当共享tlb的目标条目需要放置至待填充私有tlb中时,根据待填充私有tlb的目录中记录的每个条目的位图信息,统计与待填充私有tlb共享存储的条目的数量;81.s702、判断共享存储的条目数量是否达到预设阈值,若是,则将共享tlb的目标条目填充至待填充私有tlb中,并更新对应的目录。82.具体地,当共享tlb的某个条目需要填充至一个私有tlb中时,根据该私有tlb对应的目录来统计与各个核共享的条目的数量,若达到预设阈值,则将该条目同时加载到待填充私有tlb中,并在待填充私有tlb的目录中添加新的条目的信息。在本实施例中,预设阈值为2~5,具体为2、3、4或5。83.可选的,参照图8,本技术提供的gpu中地址转换优化方法还包括:84.s801、基于预设的mru策略从目标私有tlb中筛选出多个待删除条目;85.s802、通过查找目标私有tlb的目录,获取当前待删除条目的位图信息,并统计当前待删除条目对应映射的物理地址共享存储的核数量并作为共享度;86.s803、判断当前待删除条目的共享度是否达到预设的共享阈值;87.s804、若否,则将当前待删除条目作为驱逐条目,从目标私有tlb中删除;88.s805、若是,则对下一个待删除条目进行判断,直至对所有待删除条目判断完毕后,未筛选出一个驱逐条目时,则回归执行mru策略进行循环驱逐。89.本实施例中私有tlb的条目驱逐策略在原始的mru驱逐策略的基础上,通过查找目录来判断驱逐条目是否达到共享阈值来决定是否驱逐该条目,从而进一步优化驱逐策略。在本实施例中,共享阈值可以取2、3或4。90.本实施例为每个私有tlb配备一个目录,通过该目录记录各个核之间的共享情况,当本地核私有tlb出现不命中时,通过查找对应的目录来确定地址转换请求所需的物理地址所存储的异地核私有tlb,从而可以有效减少访问共享tlb的几率,降低存取访问延时;并通过片上互联网络实现各个核私有tlb的互联,将本地不命中的地址转换请求通过片上互联网络发送到命中的异地核私有tlb,等待响应,以完成地址转换。此外,根据目录记录的共享度,在原有mru的驱逐策略上考虑地址转换条目的共享度的影响,作进一步的驱逐策略优化。因此,本技术可以从整体上提高私有tlb的命中率,达到提高地址转换性能的目的,最终可以提高gpu的性能。91.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。92.本实施例还提供一种gpu中地址转换优化系统,该gpu中地址转换优化系统与上述实施例中gpu中地址转换优化方法一一对应。如图9所示,该gpu中地址转换优化系统包括目录构建模块901、地址转换模块902。各功能模块详细说明如下:93.目录构建模块901,用于为gpu的每个核建立一个目录,目录记录gpu各个核的私有tlb之间的共享情况;94.地址转换模块902,用于若当前地址转换请求在本地核私有tlb出现不命中时,通过查找本地核私有tlb的目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。95.关于gpu中地址转换优化系统的具体限定可以参见上文中对于gpu中地址转换优化方法的限定,在此不再赘述。上述gpu中地址转换优化系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。96.本实施例还提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储每个私有tlb的目录等信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种gpu中地址转换优化方法,在一实施例中,处理器执行计算机程序时实现以下步骤:97.为gpu的每个核建立一个目录,目录记录gpu各个核的私有tlb之间的共享情况;98.若当前地址转换请求在本地核私有tlb出现不命中时,通过查找目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。99.本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:100.为gpu的每个核建立一个目录,目录记录gpu各个核的私有tlb之间的共享情况;101.若当前地址转换请求在本地核私有tlb出现不命中时,通过查找目录确定命中的异地核私有tlb,根据命中的异地核私有tlb的响应,获取当前地址转换请求所需的物理地址,完成地址转换。102.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。103.本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。104.以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献