使用异构处理器为应用程序提供低潜伏时间的系统和方法技术方案

技术编号:11120179 阅读:114 留言:0更新日期:2015-03-07 01:47
本发明专利技术公开用于响应请求的方法、装置和计算机可读介质。一种响应请求的方法可包括接收包括回调函数的请求。所述一个或多个请求可接收于与第一类型的处理器相关联的第一存储器中,所述第一类型的处理器可为CPU。所述请求可被移动至第二存储器。所述第二存储器可与第二类型的处理器相关联,所述第二类型的处理器可为GPU。GPU线程可在所述请求的数量为至少阈值数量时处理所述请求,以便确定所述请求的结果。所述方法可包括将所述结果移动至所述第一存储器。所述方法可包括所述CPU利用所述对应结果来执行所述一个或多个回调函数。GPU持久线程可检查请求的数量,以便确定何时达到请求的阈值数量。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求2012年6月8日申请的美国临时专利申请序列号61/657,404的优先权,所述申请的完整内容特此以引用方式并入,如同完全阐明一样。
本专利技术的实施方案涉及为应用程序提供低潜伏时间(latency),并且更具体来说,涉及使用异构处理器提供低潜伏时间。背景一些计算机系统包括多于一种的处理器类型。例如,一些计算机系统包括一个或多个中央处理器单元(CPU)(即,第一处理器类型)和许多外围处理器(即,不同或第二处理器类型)。外围处理器常常为图形处理单元(GPU),但是其它处理器类型对于本领域的普通技术人员是已知的。可能存在可具有与CPU单独共享的存储器的许多GPU。一些应用程序仅使用CPU,或以不太有效的方式使用GPU。另外,一些应用程序需要来自计算机系统的低潜伏时间或延迟,以响应来自应用程序的请求。常常必须采购其它硬件来确保响应来自应用程序的请求的延迟不是很长。因此,本领域中需要使用异构处理来为应用程序提供低潜伏时间的系统和方法。实施方案概述本专利技术公开用于响应请求的方法、装置和计算机可读介质。一种用于响应请求的方法可包括一个或多个中央处理单元(CPU)接收一个或多个请求。所述方法可包括将一个或多个请求从与一个或多个CPU相关联的第一存储器移动至与一个或多个图形处理单元(GPU)相关联的第二存储器。所述方法可包括一个或多个GPU确定一个或多个请求中的每一个的指针。所述指针可基于请求中的信息来确定。所述方法可包括将确定的指针移动至第一存储器。对于确定的指针中的每一个,所述方法可包括检索由确定的指针所指向的数据。所述数据可从第一存储器中的第一数据结构检索。而且,所述方法可包括一个或多个CPU通过发送对应检索数据来响应接收的请求。在另一个实施方案中,响应请求的方法可包括接收包括回调函数的一个或多个请求。所述一个或多个请求可接收于与一个或多个CPU相关联的第一存储器中。所述方法可包括将一个或多个请求移动至第二存储器。第二存储器可与一个或多个GPU相关联。所述方法可包括一个或多个GPU线程在一个或多个请求的数量为至少阈值数量时处理一个或多个请求,以便确定一个或多个请求中的每一个的结果。所述方法可包括将结果移动至第一存储器。而且,所述方法可包括一个或多个CPU利用对应结果执行一个或多个回调函数中的每一个。本专利技术公开一种用于响应请求的系统。所述系统可包括一个或多个CPU,所述CPU被配置来接收包括回调函数的一个或多个请求。所述一个或多个请求可接收于与一个或多个CPU相关联的第一存储器中。一个或多个CPU可被配置来将一个或多个请求移动至第二存储器。第二存储器可与一个或多个GPU相关联。而且,一个或多个CPU可被配置来利用对应结果执行一个或多个回调函数中的每一个。一个或多个GPU可被配置来执行一个或多个GPU线程,以在一个或多个请求的数量为至少阈值数量时处理一个或多个请求,从而确定一个或多个请求中的每一个的结果。而且,一个或多个GPU可被配置来将确定的结果移动至第一存储器中。附图简述本专利技术的实施方案在附图的各图中以举例而非限制的方式示出,附图中的相同参考数字指示类似元件,并且其中:图1为可实施一个或多个公开的实施方案的示例性设备的框图;图2示出根据一些公开的实施方案的使用异构处理器来实现低潜伏时间应用程序的系统;图3和图4示意性地示出可需要低潜伏时间以用于响应请求的存储器超高速缓存应用程序的操作;图5和图6示出根据一些公开的实施方案的对存储器超高速缓存应用程序使用异构处理器来实现低潜伏时间应用程序的系统的操作;图7示意性地示出根据一些公开的实施方案的使用异构处理器来实现低潜伏时间应用程序的系统的实施方案;图8示出根据一些公开的实施方案的GPU可运行的内核;图9示出用于调用根据一些公开的实施方案的用于异构处理器的低潜伏时间应用程序的系统的数据结构和调用;以及图10示出根据一些公开的实施方案的对存储器超高速缓存应用程序使用异构处理器来提供低潜伏时间的系统和方法的经验检验的结果表。详述图1为可实施一个或多个公开的实施方案的示例性设备100的框图。设备100可包括例如计算机、游戏设备、手持式设备、机顶盒、电视、移动电话或平板计算机。设备100包括处理器102、存储器104、存储装置106、一个或多个输入设备108和一个或多个输出设备110。设备100还可任选地包括输入驱动器112和输出驱动器114。应理解的是,设备100可包括图1中未示出的其它部件。处理器102可包括具有第一类型的一个或多个第一处理器(例如,中央处理单元(CPU))128,其可包括一个或多个核心132;以及如图形处理单元(GPU)130的一个或多个第二类型的处理器,其可包括一个或多个计算单元(CU)134或GPU核心。CPU 128和GPU 130可定位在同一晶粒或多个晶粒上。CU 134可组织成群组,所述群组具有控制一组CU 134的处理控件(未示出)。处理控件可控制一组CU 134,以使得一组CU 134作为单指令多数据(SIMD)处理单元(未示出)执行。CU 134可包括可与一个或多个其它CU 134共享的存储器139。例如,处理控件可控制一百三十二个CU 134,并且这一百三十二个CU 134可全部与处理控件共享同一存储器139。除了GPU 130和CPU 128以外,可能存在其它类型的处理器或计算元件,如数字信号处理器(DSP)、应用程序处理器等。CPU 128可包括在CPU 128的核心间共享的存储器136。在一些公开的实施方案中,存储器136为L2超高速缓存。GPU 130可包括在一个或多个GPU 130的CU 134间共享的存储器138。数据可通过存储器136与存储器138与存储器139之间的传递137。GPU 130和CPU 128可包括其它存储器,如用于每个核心132的存储器和用于未示出的CU 134的处理单元中的每一个的存储器。存储器136、138和104可为相干超高速缓存系统(未示出)的一部分。在一些实施方案中,存储器136、138和104的一个或多个可不为相干存储器。存储器104可定位在与处理器102相同的晶粒上,或可定位成与处理器102分开。存储器104可包括易失性或非易失性存储器,例如随机存取存储器(RAM)、动态RAM(DRAM)或超本文档来自技高网...

【技术保护点】
一种用于响应请求的方法,所述方法包括:第一类型的一个或多个处理器接收一个或多个请求;将所述一个或多个请求从与所述第一类型的所述一个或多个处理器相关联的第一存储器移动至与第二类型的一个或多个处理器相关联的第二存储器;所述第二类型的所述一个或多个处理器确定所述一个或多个请求中的每一个的指针,其中所述指针基于所述请求中的信息来确定;将所述确定的指针移动至所述第一存储器;对于所述确定的指针中的每一个,所述第一类型的所述一个或多个处理器检索由所述确定的指针所指向的数据,其中从所述第一存储器中的第一数据结构检索所述数据;以及所述第一类型的所述一个或多个处理器通过发送所述对应检索数据来响应所述接收的请求。

【技术特征摘要】
【国外来华专利技术】2012.06.08 US 61/657,4041.一种用于响应请求的方法,所述方法包括:
第一类型的一个或多个处理器接收一个或多个请求;
将所述一个或多个请求从与所述第一类型的所述一个或多个处
理器相关联的第一存储器移动至与第二类型的一个或多个处理器相
关联的第二存储器;
所述第二类型的所述一个或多个处理器确定所述一个或多个请
求中的每一个的指针,其中所述指针基于所述请求中的信息来确定;
将所述确定的指针移动至所述第一存储器;
对于所述确定的指针中的每一个,所述第一类型的所述一个或多
个处理器检索由所述确定的指针所指向的数据,其中从所述第一存储
器中的第一数据结构检索所述数据;以及
所述第一类型的所述一个或多个处理器通过发送所述对应检索
数据来响应所述接收的请求。
2.如权利要求1所述的方法,其中所述第一类型的所述一个或
多个处理器包括一个或多个CPU核心,并且所述第二类型的所述一
个或多个处理器包括一个或多个GPU核心。
3.如权利要求2所述的方法,其中所述一个或多个GPU核心中
的每一个正基于GPU内核运行持久线程。
4.如权利要求2所述的方法,其中所述一个或多个GPU核心访
问所述第二存储器可远快于所述一个或多个CPU核心访问所述第二
存储器。
5.如权利要求2所述的方法,其中所述一个或多个CPU核心对
所述第一存储器的第一访问时间远小于所述一个或多个GPU核心对
所述第一存储器的第二访问时间。
6.如权利要求1至5中任一项所述的方法,其中所述第二类型
的所述一个或多个处理器确定指针还包括:
所述第二类型的所述一个或多个处理器确定所述一个或多个请
求中的每一个的指针,其中所述指针基于所述请求中的信息和所述第
二存储器中的第二数据结构来确定。
7.如权利要求6所述的方法,其还包括:
将所述设置请求移动至所述第二存储器;以及
所述第二类型的所述一个或多个处理器基于所述设置请求修改
所述第二存储器中的第二数据结构。
8.如权利要求1至7中任一项所述的方法,其还包括:
所述第一类型的所述一个或多个处理器接收设置请求;以及
所述第一类型的所述一个或多个处理器基于所述设置请求修改
所述第一数据结构。
9.如权利要求1至8中任一项所述的方法,其中传递还包括:
当所述一个或多个请求达到阈值数量时将所述一个或多个请求
从所述第一存储器传递至所述第二存储器。
10.如权利要求1至9中任一项所述的方法,其中所述数据远大
于所述指针。
11.一种响应请求的方法,所述方法包括:
接收包括回调函数的一个或多个请求,其中所述一个或多个请求
被接收于与一个或多个CPU核心相关联的第一存储器中;
将所述一个或多个请求移动至第二存储器,其中所述第二存储器
与一个或多个GPU核心相关联;
当所述一个或多个请求的...

【专利技术属性】
技术研发人员:亚历山大·洛希夫斯基
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国;US

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

1