当前位置: 首页 > 专利查询>英特尔公司专利>正文

共享多级库的跨级预取制造技术

技术编号:16672742 阅读:28 留言:0更新日期:2017-11-30 17:16
在实施例中,描述了与以下操作相关联的装置、方法和存储介质(暂时性的和非暂时性的):从应用程序接收在共享库处的调用;至少部分地基于第一调用访问第一资源,并且至少部分地基于第二资源的地址将预取条目存储在预取引擎中,以准备用于服务需要遍历共享库处的多个级的对共享库的第二调用。可以至少部分地基于第二调用来执行预取请求,并且可以至少部分地基于预取请求的结果来访问第二资源。在实施例中,共享库可以是消息传递接口(MPI)库。可以描述和/或要求保护其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】共享多级库的跨级预取
本公开涉及数据处理领域,具体地涉及将数据资源预取到高速缓存中。
技术介绍
本文提供的背景描述是为了通常呈现本公开的上下文的目的。除非本文中另有说明,否则本节中描述的材料不是本申请中权利要求书的现有技术,并且不因包含在本节中而被认为现有技术。使用诸如消息传递接口(MPI)库的多级软件栈从共享库中的一级移到另一级可能会花费CPU周期,特别是当所需数据不在CPU的高速缓存中时。对于对存储器访问延迟敏感的小消息传送路径性能,情况尤其如此。用于预取的现有方案通常工作于多级库的一个特定级上,通过在工作于数据的较近部分的同时从同一级别预取数据的远部分。这种技术对于小的消息无法最佳地发挥作用。附图说明通过结合附图的以下详细描述将容易理解实施例。为了便于该说明,相同的附图标记表示相同的结构要素。实施例在附图的图中以示例而非限制的方式示出。图1是根据各种实施例的包括具有本公开的共享多级库和预取教导的计算设备的网络环境的框图。图2是根据各种实施例的可以在本文描述的各种计算设备上实现的预取资源的示例性过程的流程图。图3示出了根据各种实施例的适用于实施本公开的各个方面的示例性计算环境。图本文档来自技高网...
共享多级库的跨级预取

【技术保护点】
一种用于执行应用程序的计算设备,包括:一个或多个处理器;库模块,包括用于预取资源的预取引擎,由所述一个或多个处理器操作以用于:接收来自应用程序的对所述库模块的第一调用;至少部分地基于所述第一调用来访问第一资源;以及至少部分地基于第二资源的地址来将第一预取条目存储在所述预取引擎中,以准备用于服务来自所述应用程序的对所述库模块的第二调用,所述第二调用需要遍历所述库模块处的多个级。

【技术特征摘要】
【国外来华专利技术】1.一种用于执行应用程序的计算设备,包括:一个或多个处理器;库模块,包括用于预取资源的预取引擎,由所述一个或多个处理器操作以用于:接收来自应用程序的对所述库模块的第一调用;至少部分地基于所述第一调用来访问第一资源;以及至少部分地基于第二资源的地址来将第一预取条目存储在所述预取引擎中,以准备用于服务来自所述应用程序的对所述库模块的第二调用,所述第二调用需要遍历所述库模块处的多个级。2.根据权利要求1所述的计算设备,其中,所述计算设备还包括与所述一个或多个处理器中的处理器集成的高速缓存,其中,所述库模块由所述一个或多个处理器进一步操作以用于:接收来自所述应用程序的所述第二调用;至少部分地基于所述第二调用进入所述库模块的第一逻辑级;至少部分地基于所述第一预取条目执行第一预取请求;进入所述库模块的低于所述第一逻辑级的第二逻辑级;以及至少部分地基于所述第一预取请求的结果从所述第二逻辑级访问所述高速缓存中的所述第二资源。3.根据权利要求2所述的计算设备,其中,所述库模块是消息传递接口(MPI)库模块。4.根据权利要求1-3中任一项所述的计算设备,其中,所述第一调用是通信调用类型,并且其中,所述第二调用是通信调用类型。5.根据权利要求4所述的计算设备,其中,所述第一调用是第一MPI_Send调用,并且其中,所述第二调用是第二MPI_Send调用。6.根据权利要求2-3中任一项所述的计算设备,其中,所述第一预取条目包括指向所述第二资源的所述地址的指针、距离值和预取类型,并且其中,执行所述第一预取请求是至少部分地基于指向所述第二资源的所述地址的所述指针、所述距离值和所述预取类型的。7.根据权利要求6所述的计算设备,其中,所述库模块由所述一个或多个处理器进一步操作以用于:确定第三资源的地址;以及至少部分地基于所述第三资源的所述地址、所述距离值和所述预取类型来将第二预取条目存储在所述预取引擎中,以准备用于服务来自所述应用程序的对所述库模块的第三调用,所述第三调用需要遍历所述库模块处的多个级。8.根据权利要求7所述的计算设备,还包括共享存储器,其中,所述库模块由所述一个或多个处理器进一步操作以用于:接收来自所述应用程序的所述第三调用;至少部分地基于所述第三调用进入所述第一逻辑级;至少部分地基于所述第三调用来调用所述预取引擎;至少部分地基于所述第二预取条目执行第二预取请求;遍历所述第一逻辑级和所述第二逻辑级之间的第三逻辑级;进入位于所述第三逻辑级之后的所述第二逻辑级;以及至少部分地基于所述第二预取请求,从所述第二逻辑级访问所述高速缓存中的所述第三资源,其中,所述第三资源的所述地址对应于所述共享存储器的区域。9.一种用于执行应用程序的计算机实现的方法,包括:由计算设备接收来自应用程序的在共享库处的第一调用;由所述计算设备至少部分地基于所述第一调用来访问第一资源;以及由所述计算设备至少部分地基于第二资源的地址来将第一预取条目存储在预取引擎中,以准备用于服务对所述共享库的第二调用,所述第二调用需要遍历所述共享库处的多个级。10.根据权利要求9所述的方法,还包括:由所述计算设备接收来自应用程序的在所述共享库处的所述第二调用;由所述计算设备至少部分地基于所述第二调用进入所述共享库的第一逻辑级;由所述计算设备至少部分地基于所述第一预取条目来执行第一预取请求;由所述计算设备进入所述共享库的第二逻辑级;以及至少部分地基于所述第一预取请求的结果,由所述计算设备从所述第二逻辑级访问与所述计算设备的处理器集成的高速缓存中的所述第二资源。11.根据权利要求10所述的方法,其中,所述共享库是消息传递接口(MPI)共享库。12.根据权利要求9-11中任一项所述的方法,其中,所述第一调用是通信调用类型,并且其中,所述第二调用是通信调用类型。13.根据权利要求12所述的方法,其中,所述第一调用是MPI_Send调用,并且其中,所述第二调用是MPI_Send调用。14.根据权利要求10-11中任一项...

【专利技术属性】
技术研发人员:D·I·杜尔诺夫
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1