当前位置: 首页 > 专利查询>辉达公司专利>正文

维持公平性和顺序的资源管理子系统技术方案

技术编号:9642306 阅读:164 留言:1更新日期:2014-02-07 00:43
本公开的一个实施例阐述了在进行与重演操作有关的公用资源访问请求的调度中维持公平性和顺序的有效方式。具体地,流多处理器(SM)包括全序队列(TOQ),该全序队列配置为通过一个或多个执行周期来调度访问请求。当所需要的公用资源已分配到请求时允许访问请求取得进展。在多个访问请求要求相同公用资源的情况下,对较老的访问请求给予优先级。访问请求可置于挂起有待某些公用资源的可用性的睡眠态中。可通过允许较老的访问请求从较年轻的资源请求窃取资源来避免死锁。所公开的技术的一个优点是较新的访问请求不会反复地阻止较老的公用资源访问请求取得进展。

【技术实现步骤摘要】
【专利摘要】本公开的一个实施例阐述了在进行与重演操作有关的公用资源访问请求的调度中维持公平性和顺序的有效方式。具体地,流多处理器(SM)包括全序队列(TOQ),该全序队列配置为通过一个或多个执行周期来调度访问请求。当所需要的公用资源已分配到请求时允许访问请求取得进展。在多个访问请求要求相同公用资源的情况下,对较老的访问请求给予优先级。访问请求可置于挂起有待某些公用资源的可用性的睡眠态中。可通过允许较老的访问请求从较年轻的资源请求窃取资源来避免死锁。所公开的技术的一个优点是较新的访问请求不会反复地阻止较老的公用资源访问请求取得进展。【专利说明】维持公平性和顺序的资源管理子系统
本专利技术总地涉及计算机架构,并且,更具体地,涉及维持公平性和顺序的资源管理子系统。
技术介绍
并行处理系统中的普遍做法是设计同时执行某个数目的线程的处理器。每个线程可在处理器内的单独执行管线中执行。随着执行并行地前进,不同线程可以以可能造成线程遭遇资源冲突的方式来请求访问公用资源,诸如所共享的存储器。例如,多个线程可执行公用资源访问操作,诸如存储器加载指令,其中多个线程不能同时访问资源。在这种情况下,至少一个线程被允许访问公用资源并完成公用资源访问操作。管线转移公用资源的拷贝,诸如一些线程正在访问的高速缓存行中的一个,并且那些线程能够完成公用资源访问操作。然而,访问相同公用资源的其他线程不被允许完成公用资源访问操作并且保持于未被服务(unserviced)。因此,一些线程被允许完成公用资源访问操作,而其他线程不被允许。缺乏处理访问公用资源的多个线程的手段,操作不能成功完成。为访问公用资源的多个线程服务的一个方法是将资源分配到一个或多个线程直到公用资源没有附加的可用访问端口为止。访问相同资源的剩余线程被置于等待公用资源的可用性的挂起态中。当公用资源具有一个或多个可用访问端口时,对一个或多个用于服务的挂起的请求分配公用资源直到所有访问端口再次已被分配为止。处理继续,直到对公用资源的所有请求已得到服务为止。该方法的一个缺点是新请求可继续到达并消耗到公用资源的访问端口,同时等候相同公用资源的挂起的请求保持未被服务。当较新的访问公用资源的请求在挂起的请求之前得到服务时,这种发生的情况称为“优先级反转”。该方法的另一个缺点是当公用资源变成可用时可能选择挂起的请求用于服务。然而,由于管线时延,在挂起的请求能够完成公用资源访问操作之前另一个较新的请求可能消耗公用资源。该方法的又一个缺点是请求可能要求对两个公用资源A和B的访问,其中A可用但B不可用。请求被置于挂起态直到B变成可用为止。当B变成可用时,挂起的请求被调度以完成。然而,由于管线时延,在挂起的请求能够完成公用资源访问操作之前另一个较新的请求可能消耗A。当较新的访问请求在较老的已有的访问请求之前持续地被分配资源时,较老的访问请求可能不能取得进展并因此不能完成执行。如前文示出的,本领域中所需要的是为访问公用资源的线程服务的更有效的方式。
技术实现思路
本专利技术的一个实施例阐述用于调度公用资源访问请求的计算机实现的方法。方法包括接收针对公用资源的第一请求、确定公用资源不可用于到请求的分配、以及作为响应而延迟为第一请求服务。方法进一步包括,在延迟服务以后接收针对公用资源的第二请求、以及在接收第二请求以后确定公用资源已变成可用于到请求的分配。方法进一步包括在使公用资源对第二请求可用以前,使公用资源对第一请求可用。本专利技术的其他实施例包括但不限于,子系统,其包括配置为实现所公开的方法的一个或多个方面的流多处理器(SM)以及配置为实现所公开的方法的一个或多个方面的计算设备。所公开的技术的一个优点是较新的访问请求不会反复地阻止较老的公用资源访问请求取得进展。通过优先于对新访问请求来对已有的较老的访问请求分配公用资源而避免了优先级反转。【专利附图】【附图说明】因此,可以详细地理解本专利技术的上述特征,并且可以参考实施例得到对如上面所简要概括的本专利技术更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本专利技术的典型实施例,因此不应被认为是对其范围的限制,本专利技术可以具有其他等效的实施例。图1是示出了配置为实现本专利技术的一个或多个方面的计算机系统的框图;图2是根据本专利技术的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;图3A是根据本专利技术的一个实施例的、图2的前端的框图;图3B是根据本专利技术的一个实施例的、图2的并行处理单元之一内的通用处理集群的框图;图3C是根据本专利技术的一个实施例的、图3B的流多处理器的一部分的框图;图4示出根据本专利技术的一个实施例的、配置为为挂起的公用资源访问操作服务的图3C的SM内的子系统;图5示出根据本专利技术的一个实施例的、图4的TOQ内的TOQ条目老化单元;图6A和6B阐述根据本专利技术的一个实施例的、用于将公用资源访问请求添加到全序队列的方法步骤的流程图;图7是根据本专利技术的一个实施例的、用于更新公用资源的状态的方法步骤的流程图;图8是根据本专利技术的一个实施例的、用于将公用资源分配到与公用资源访问请求相关联的TOQ条目的方法步骤的流程图;图9是根据本专利技术的一个实施例的、用于选择全序队列(TOQ)中的公用资源访问请求以服务的方法步骤的流程图; 图10是根据本专利技术的一个实施例的、用于老化TOQ条目缓冲区中的TOQ条目的方法步骤的流程图;以及图11是根据本专利技术的一个实施例的、用于将与公用资源访问请求相关联的TOQ条目从睡眠态转变到活动态的方法步骤的流程图。【具体实施方式】在下面的描述中,将阐述大量的具体细节以提供对本专利技术更透彻的理解。然而,本领域的技术人员应该清楚,本专利技术可以在没有一个或多个这些具体细节的情况下得以实施。图1为示出了配置为实现本专利技术的一个或多个方面的计算机系统100的框图。计算机系统100包括经由可以包括存储器桥105的互连路径通信的中央处理单元(CPU) 102和系统存储器104。存储器桥105可以是例如北桥芯片,经由总线或其他通信路径106 (例如超传输(HyperTransport)链路)连接到I/O (输入/输出)桥107。I/O桥107,其可以是例如南桥芯片,从一个或多个用户输入设备108 (例如键盘、鼠标)接收用户输入并且经由通信路径106和存储器桥105将该输入转发到CPU 102。并行处理子系统112经由总线或第二通信路径113 (例如外围部件互连(PCI )Express、加速图形端口或超传输链路)耦连到存储器桥105 ;在一个实施例中,并行处理子系统112是将像素传递到显示设备110 (例如常规的基于阴极射线管或液晶显示器的监视器)的图形子系统。系统盘114也连接到I/O桥107。交换器116提供I/O桥107与诸如网络适配器118以及各种插卡120和121的其他部件之间的连接。其他部件(未明确示出),包括通用串行总线(USB)或其他端口连接、压缩光盘(⑶)驱动器、数字视频光盘(DVD)驱动器、胶片录制设备及类似部件,也可以连接到I/O桥107。图1所示的各种通信路径包括具体命名的通信路径106和113可以使用任何适合的协议实现,诸如PC1-EXpreSS、AGP (加速图形端口)、超传输或者任何其他总线或点到点通信协议,并且如本领本文档来自技高网
...

【技术保护点】
一种用于管理针对处理管线中的公用资源的请求的子系统,包括:全序队列(TOQ),配置为实施以下步骤:接收针对第一公用资源的第一请求;确定所述第一公用资源不可用于到请求的分配;作为响应,延迟为所述第一请求服务;继延迟服务之后,接收针对所述第一公用资源的第二请求;继接收所述第二请求之后,确定所述第一公用资源已变成可用于到请求的分配;以及在使所述第一公用资源对所述第二请求可用以前,使所述第一公用资源对所述第一请求可用。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:迈克尔·费特曼瑟利斯·加德雷约翰·H·埃德蒙森奥姆卡尔·帕兰杰佩阿杰纳·拉杰卓埃里克·莱尔·希尔拉杰史沃拉·塞尔瓦桑查尔斯·麦卡弗凯温·米切尔史蒂文·詹姆斯·海因里希
申请(专利权)人:辉达公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2015年01月17日 19:00
    和顺县地处山西省东陲,太行之巅,东临邢台,西通省府太原,北连太旧高速,南下上党盆地。全县东西长75公里,南北宽35公里,总面积2250平方公里。耕地面积25万亩。现辖5镇5乡,294个行政村总人口14.38万。
    0
1