CN109032791B - 多核架构中的资源分配 - Google Patents
多核架构中的资源分配 Download PDFInfo
- Publication number
- CN109032791B CN109032791B CN201810750060.3A CN201810750060A CN109032791B CN 109032791 B CN109032791 B CN 109032791B CN 201810750060 A CN201810750060 A CN 201810750060A CN 109032791 B CN109032791 B CN 109032791B
- Authority
- CN
- China
- Prior art keywords
- resource
- identifier
- address
- controller
- addresses
- 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.)
- Active
Links
- 238000013468 resource allocation Methods 0.000 title description 28
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000013507 mapping Methods 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本申请一般描述了用于分配资源的方法、有效分配资源的多核架构和在多核架构中有效分配资源的系统的技术。在一些示例中,一种方法可以包括:将第一和第二资源分别与第一和第二资源标识符相关联。该方法可以包括确定第一资源是至少部分不可获得的。该方法可以包括当第一资源被确定为至少部分不可获得时,将第二资源标识符映射到存储器中的地址组中的第一地址,将所述第二资源标识符映射到存储器中的第二地址。该方法可以接收对第一资源的请求,其中请求标识地址中的特定地址。该方法可以包括分析特定地址,以确定特定资源;以及将请求分配到特定资源。
Description
本申请为2015年04月21日提交中国专利局、申请号为201280076553.4、原申请日为2012年08月22日、发明名称为“多核架构中的资源分配”的中国专利申请的分案申请。
背景技术
除非本文中另有指示,本部分中描述的材料并不是针对本申请中权利要求的现有技术,并且不因包括在本部分中而被承认是现有技术。
在多核架构中,多个处理器内核可以被包括在单个集成电路管芯中或者被设置在单个芯片封装中的多个集成电路管芯上。高速缓存可以被用于存储数据,用于由处理器内核中的一个或多个访问。管芯中的资源可以被分布在两个或者更多块(tiles)上。这种资源可以包括例如被配置为保持高速缓存的一致性的目录(directory)、存储器控制器、处理器内核、高速缓存等。
发明内容
在一些示例中,大致描述了用于控制器在多核架构中分配资源的方法。该方法可以包括将第一和第二资源与第一和第二资源标识符相关联。该方法可以进一步包括将第一和第二资源标识符映射到存储器中的第一和第二组地址。第一组地址可以不同于第二组地址。该方法可以进一步包括确定第一资源是至少部分不可获得的。该方法可以包括当第一资源被确定为至少部分不可获得时,将第二资源标识符映射到存储器中第一组地址的至少一个地址。该方法可以进一步包括接收对第一资源的请求。该请求标识第一组地址中的地址的特定地址。该方法可以进一步包括分析该特定地址,以确定特定资源。该方法可以进一步包括分配请求至特定资源。
在一些示例中,大致描述了用于在多核架构中分配资源的设备。该设备可以包括控制器和与控制器通信的存储器。控制器可以被配置为分别将第一和第二资源与第一和第二资源标识符相关联。控制器可以被配置为将第一和第二资源标识符映射到存储器中的第一和第二组地址。第一组地址可以不同于第二组地址。控制器可以被配置器确定第一资源是至少部分不可获得的。控制器可以被配置为当第一资源被确定为至少部分不可获得时,将第二资源标识符映射到存储器中第一组地址中的至少一个地址。控制器可以被配置为接收对第一资源的请求。该请求可以标识第一组地址中的特定地址。控制器可以被配置为分析存储器中的特定地址,以标识特定资源。控制器可以被配置为将该请求分配至该特定资源。
在一些示例中,大致描述了用于分配资源的多核架构。该架构可以包括第一资源、第二资源、被配置为与第一和第二资源通信的控制器以及被配置为与控制器通信的存储器。控制器可以被配置为将第一和第二资源与第一和第二资源标识符相关联。控制器可以被配置为将第一和第二资源标识符映射到存储器中的第一和第二组地址。第一组地址可以不同于第二组地址。控制器可以被配置器确定第一资源是至少部分不可获得的。控制器可以被配置为当第一资源被确定为至少部分不可获得时,将第二资源标识符映射到存储器中第一组地址中的至少一个地址。控制器可以被配置为接收对第一资源的请求。该请求可以标识第一组地址中的特定地址。控制器可以被配置为分析存储器中的特定地址,以确定特定资源。控制器可以被配置为将该请求分配至该特定资源。
前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参考附图以及下面的详细说明,除了上文所描述的示例性的方案、实施例和特征之外,另外的方案、实施例和特征将变得清晰可见。
附图说明
通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述特征以及其它特征将变得更加清晰。应理解的是,这些附图仅描绘了依照本公开的多个实施例,因此,不应视为对本发明范围的限制,将通过利用附图结合附加的具体描述和细节对本公开进行说明,在附图中:
图1示出能够被用于在多核架构中实施资源分配的一个示例系统;
图2示出能够被用于在多核架构中实施资源分配的一个示例系统;
图3示出能够被用于在多核架构中实施资源分配的一个示例系统;
图4示出能够被用于在多核架构中实施资源分配的一个示例系统;
图5描述了用于在多核架构中实施资源分配的一个示例方法的流程图;
图6示出能够被用于在多核架构中实施资源分配的计算机程序产品;以及
图7是示出被设置为在多核架构中实施资源分配的一个示例计算设备的框图。
具体实施方式
在当前的详细说明中,将参考附图,附图构成了详细说明的一部分。在附图中,除非上下文指出,否则相似的符号通常表示相似的组件。在详细说明、附图和权利要求中所描述的示例性实施例不意在限制。可以使用其它实施例,并且可以做出其它改变,而不偏离本文呈现的主题的精神或范围。将易于理解的是,如本文大致描述且如图中所图示的,本公开的方案能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在本文中明确地构思出。
本公开一般尤其涉及与在多核架构中资源分配有关的方法、装置、系统、设备和计算机程序产品。
简而言之,大致描述了用于分配资源的方法、设备和架构的技术。在一个示例中,该方法可以包括将第一和第二资源与第一和第二资源标识符相关联以及将第一和第二资源标识符映射到存储器中的第一和第二组地址。该方法可以包括识别第一资源是至少部分不可获得的。该方法可以包括当第一资源被识别为至少部分不可获得时,将第二资源标识符映射到存储器中第一组地址的至少一个地址。该方法可以包括接收对第一资源的请求,其中该请求标识第一组地址中地址的特定地址。该方法可以包括分析该特定地址,以识别特定资源,并将该请求分配至该特定资源。
图1示出根据本文中描述的至少一些实施例设置的能够被用于在多核架构中实施资源分配的一个示例系统。示例系统100可以包括管芯(die)102,其包括多个块118、120、122和/或124。针对块118进行说明,块118可以包括高速缓存126、处理器或处理器内核(以下称为“处理器”)112、路由器106和/或目录114。处理器112可以适于处理包括代码的数据(以下数据和/或代码都称为“数据块”)。高速缓存126可以被配置为将数据块本地存储至处理器112。系统100可以进一步包括控制器136,其适于与资源映射表116和管芯102通信。
如以下更具体的描述,当请求138由控制器136接收时,控制器136可以在管芯102中分配资源,以处理请求138。控制器136可以基于请求138中的地址134以及基于资源映射表116来作出分配。由控制器136作出的分配可以适于以下情况:管芯102中的资源变得部分或者完全不可获得,例如由于互联链路失败或路由器损坏,或者与过低的带宽或过高的延时相关联的另一限制。例如,如图1中以标记“X”所示,块124和120之间的通信可以是完全不可获得的。块118和120之间的通信可以是部分不可获得的,以标记“/”指示。由于块120是至少部分不可获得的,控制器136可以通过避免或限制资源分配到块120而将资源分配至请求138。不可获得或者部分不可获得的块或资源可以由控制器136检测,例如在管芯102启动时,以及可以响应于测试信息从控制器136到管芯102中的块的递送时间。
管芯102可以包括块118、120、122、124的矩阵(例如,阵列),其包括各自的高速缓存126、128、130、132。针对块118进行说明,块118还可以包括相应的处理器112、目录114和/或路由器106中的一个或多个。管芯102中的每个块可以如在同构设置中是大致相同的,或者一些块可以如在异构设置中是不同的。管芯102可以被设置为与另一管芯104通信,从而使得数据可以在多个管芯中共享。
目录114可以是将位置标识(例如,索引)为与存储在管芯102的块中的数据块相关联的目录。目录114可以被定位在管芯102上的单个块中,或者被分布在很多或全部块中。如果目录114被分布,例如,第一范围的地址(例如0x0000-0x1000)可以被存储在第一块中,第二范围的地址(例如0x1001-0x2000)被存储在第二块中,等等。图1中的目录114由此可以示出整个管芯目录的第一部分,其中该第一部分可以被存储在块118中并且额外的部分可以被存储在其他块中,例如块120、122、124等等。
图2示出根据本文描述的一些实施例设置的被用于在多核架构中实施资源分配的示例系统。为清晰目的,被标记为与图1的组件一致的图2中的那些组件将不再次描述。
示例资源映射表116a显示在图2中,并且可以在概念上认为是扩展的资源映射表。资源映射表116a可以包括索引146和资源字段148。控制器136可以将资源字段148中的资源标识符与块102中相应的资源相关联。在该示例中,资源标识符00可以与块118相对应,资源标识符01可以与块120相对应,资源标识符10可以与块122相对应,并且资源标识符11可以与块124相对应。利用地址用于使用分配的资源的示例包括分布式高速缓存、一致性协议目录、存储器控制器、存储器信道、存储体等。
控制器136可以进一步将资源字段148中的资源标识符映射到索引146中的地址组。控制器136可以使用资源映射表116a实质上将索引146中的地址映射到管芯102中的物理资源。在一个示例中,资源映射表116a可以包括多个条目(entry),其与被提供至电源Y的管芯102中的资源R的数量相对应,其中Y(表的等级)是等于或大约2的整数。在所示的示例中,4个资源118、120、122和124被示出,并且Y是2,从而使得资源映射表116a具有42=16个条目。用于标识可获得的资源的地址134中的多个位元可以乘Y,从而使得在该示例中,能够定址四个资源的2位元乘以Y,{2xY(2)}=4位元地址,其可以被用于地址134中,以标识4个可获得的资源中的一个。
在该示例中,块120已经变成至少部分不可获得的,并且由此控制器126由例如存储器142中的指令144配置,以修改资源映射表116a,从而改变与资源标识符“01”相对应的资源120的映射。在该示例中,控制器136可以被配置为修改资源映射表116a的资源字段148中的条目,以至少部分地移除对块120(资源标识符“01”)的参考。如示例中所示,针对“0001”的地址,不是映射资源标识符“01”,控制器136可以映射资源标识符“00”,如以粗体显示。针对“0101”的地址,控制器136可映射资源标识符“10”,如以粗体显示。针对“1101”的地址,控制器136可以映射资源标识符“00”。通过这种方式,当地址134包括对资源标识符“01”的请求时,如以“01”结束的地址(0001、0101、1001、1101)标识的,资源映射表148可以在其他资源中分配这些请求,由此平衡管芯102中的资源中的请求。在该示例中,资源标识符“00”可以与37.5%的地址相关联,资源标识符“10”可以与31.25%的地址相关联,并且资源标识符“11”可以与31.25%的地址相关联。每个条目可以接收最初被映射到该条目的1/4的地址,加上被分配到不可获得的资源的1/4的地址的一部分。由于该部分在三个其余资源中以以下比例1:1:2被拆分,之后一个资源获得1/4+1/4*2/4=0.375,同时两个其他资源每一个获得1/4+1/4*1/4=0.3125。控制器136可以通过调整资源映射表148中的分配来定制资源分配,以将一些请求发送至块120,因为在块118和120之间可能存在一些通信,如以标记“/”显示的。
置换(permutation)设备170可以与控制器136和表116a通信。置换设备170可以被用于置换地址134,以通过控制器136平衡地址134中位元的处理。置换设备170可以置换或轮换(rotate)地址字段134中位元的顺序,以通过将地址134的不同位元应用于表150,152,154而进一步平衡资源。置换设备170可以包括异或(XOR)或其他类型的置换或散乱电路(randomizing circuit)。例如,各个组的6位元可以按位异或,以产生随机6位元输出。
图3示出根据本文描述的至少一些实施例设置的被用于在多核架构中实施资源分配的示例系统。为清晰目的,被标记为与图1或2的组件一致的图3中的那些组件将不再次描述。
示例资源映射表116b显示在图3中,其可以在概念上认为是级联的资源映射表。资源映射表116b可以包括表150、152和/或154。每个表150、152和154可以具有与资源的数量相同的条目。表的数量可以代表其等级。表150、152、154中的任一个可以包括索引156、资源标识符字段158和/或有效性标识符字段160。地址134中的位元可以被索引至表150、152、154。在该示例中,地址134中的第一(不太重要)2位元可以索引第一表150。地址134中的第二2位元可以索引第二表152,并且地址134中的第三(更重要)2位元可以索引第三表154。包括来自资源标识符字段158和有效性标识符字段160的数据的表150、152、154的输出可以被提供至多路器(multiplexer)162,并且多路器162的输出可以识别所分配的资源172。资源标识符可以被映射到索引156中的地址组。例如,与资源118相对应的资源标识符“00”可以被映射到地址组{XXXX00,XX0001,000101和010101}。与资源122相对应的资源标识符“10”可以被映射到地址组{XXXX10,XX1001,100101}。与资源124相对应的资源标识符“11”可以被映射到地址组{XXXX11,XX1101,110101}。与不可获得的资源120相对应的资源标识符“01”可以被映射到NULL地址组。
如以下更具体的描述,控制器136可以修改有效性字段160中的位元,以避免多路器162进行的资源分配和/或平衡对资源的请求负载。在该示例中,与表150中的资源标识符“01”相对应的块120被映射为如有效性标识符“0”指示的无效状态。与表152中的资源标识符“01”相对应的块120被映射为如有效性标识符“0”指示的无效状态。多路器162可以被配置为不从表150或表152选择输出,因为来自表150和152的输出具有无效状态。在该示例中,在表154中,控制器136将地址输入“01”重新映射为资源标识符“00”并被重新映射为如有效性标识符“1”指示的有效状态。在该示例中,由于与资源标识符“01”相对应的资源120是至少部分不可获得的,控制器136将资源标识符“01”映射为表150和152中的无效状态。在表154中,控制器136将地址“01”重新映射为资源标识符“00”并使其具有有效性标识符“1”的有效状态,以容许一些请求被发送至资源118。如果在150、152和154中超过一个表中的条目是有效的,多路器162可以被配置为使表150的资源标识符比表152的资源标识符优先分配、或者使表152的资源标识符比表154分配的资源标识符优先分配。
在该示例中,地址134可以包括“01 01 01”。多路器162可以从表150接收输入,其以有效性标识符“0”指示无效状态,因为地址“01”被映射为资源标识符“01”以及有效性标识符“0”。多路器162可以从表152接收输入,其以有效性标识符“0”指示无效状态,因为地址“01”被映射为资源标识符“01”以及有效性标识符“0”。多路器162可以从表154接收输入,其以有效性标识符“1”指示有效状态并与资源标识符00相对应,所以多路器可以为所分配的资源172选择资源标识符“00”。在另一示例中,地址134可以包括“01 01 00”。多路器162可以从表150接收输入,其以有效性标识符“1”指示有效状态,因为最不重要的位元“00”被映射为资源标识符“00”以及有效性标识符“1”。多路器162可以为所分配的资源172选择资源标识符“00”。在另一示例中,地址134可以包括“0100 01”。多路器162可以从表150接收输入,其以有效性标识符“0”指示无效状态,因为地址“01”中最不重要的位元被映射为资源标识符“01”以及有效性标识符“0”。多路器162可以从表152接收输入,其以有效性标识符“1”指示有效状态,因为地址“00”被映射为资源标识符“00”以及有效性标识符“1”。多路器162可以为所分配的资源172选择资源标识符“00”。
表150、152和154可以容许控制器136将针对不可获得的资源的请求在可获得的资源中分配。控制器136还可以在可获得的资源中平衡请求负载。在该示例中,资源分配可以34.4%到资源标识符00,32.8%到资源标识符10并且32.8%到资源标识符11。例如,一个资源获得1/4,加上1/4*1/4,加上1/4*1/4*2/4=0.34375,而其他两个资源获得1/4,加上1/4*1/4,加上1/4*1/4*1/4=0.328125。
置换设备170可以与控制器136和表116b通信。置换设备170可以被用于置换地址134,以通过控制器136平衡地址134中位元的处理。例如,如果多路器被设计为循环通过表150、152、154,以该顺序而不置换,表150中的资源标识符158可以比在其他表中的资源标识符使用得更加频繁。因此,被提供至表150的地址134中的位元可以比地址134中的其他位元使用得更加频繁。置换设备170可以置换或轮换地址字段134中位元的顺序,以通过将地址134中的不同位元应用于表150、152、154进一步平衡资源。置换设备170可以包括异或(XOR)或其他类型的置换或散乱电路。例如,各个组的6位元可以按位异或,以产生随机6位元输出。
图4示出根据本文描述的至少一些实施例设置的用于在多核架构中实施资源分配的示例系统。为清晰目的,被标记为与图1、2或3的组件一致的图4中的那些组件将不再次描述。
在与资源标识符01相对应的资源120被部分隔离时的示例中,控制器136可以映射资源标识符字段158以及有效性字段160中的数据,以调节资源分配,从而使得资源120接收一些但减少的请求。在图4中所示的示例中,表166与图3中的表154相比被修改。表166具有两个有效状态条目,用于与资源120相对应的资源标识符01,所以资源120可以接收所有地址的12.5%。资源标识符00可以接收31.3%的地址,资源标识符10可以接收28.1%的地址,并且资源标识符11可以接收28.1%的地址。例如,资源00:表1中的1/4+表2中的0+表3中的1/4*2/4*2/4=31.25%。资源01:表1中的0+表2中的1/4*2/4+表3中的0=12.5%。资源10:表1中的1/4+表2中的0+表3中的1/4*2/4*1/4=28.125%。条目或表的数量越大,资源分配则能得到越良好的调整。
在其他可能的优点中,根据本公开的系统可以能够适于划出(map out)或部分地划出完全不可获得或部分不可获得的资源的分配,从而使得操作可以继续。平衡的资源使用可以实现,甚至与划出的资源一起实现。资源平衡可以被定制,以调节部分隔离的资源的负载容量。负载容量调节能够利用扩展的资源映射表中的大量条目或者级联的资源映射表中的大量表作出更加良好的调整。精细调整资源分配的能力可以平衡来自大量条目或表的开销(overheads)。
以下是说明可以被用于使用本文中描述的一些方法的示例的存储开销的表:
图5描述了根据本文中描述的至少一些实施例设置的在多核架构中实施资源分配的示例方法的流程图。在一些示例中,图5中的方法可以使用上述系统100来实施。示例方法可以包括由一个或多个方框S2、S4、S6、S8、S10、S12、S14和/或S16所示出的一个或多个操作、动作或功能。虽然图示为离散的方框,在公开的主题的范围内构思时,各方框可以划分成额外的方框、组合成较少的方框,或者一起去除。
方法可以在方框S2“将第一和第二资源分别与第一和第二资源标识符相关联”开始。在方框S2,控制器可以被配置为向第一和第二资源分配第一和第二资源标识符。例如,资源可以包括在多核架构中的块。
方法可以从方框S2向S4“将第一和第二资源标识符分别映射到存储器中的第一和第二组地址,第一组地址不同于第二组地址”继续。在方框S4,控制器可以将资源标识符映射到相应的地址组。通过这一映射,对地址的请求可以被分配到资源。
方法还可以从方框S4向S6“确定第一资源是至少部分不可获得的”继续。在方框S6,控制器可以确定资源中的一个可以是至少部分不可获得的。例如,到资源的一个或多个网络链路可能被破坏或者部分破坏而限制带宽。
方法可以从方框S6向S8“当第一资源被确定为至少部分不可获得时,将第二资源标识符映射到存储器中第一组地址的至少一个地址”继续。在方框S8,控制器可以将第二资源标识符映射到第一组地址中的地址的至少一个。通过这一映射,第二资源可以在请求被接收时被控制器分配,该请求标识与前述第一资源相对应的地址。在一些示例中,控制器可以将与第三资源相对应的第三资源标识符映射到第一组地址。通过映射第三资源标识符,控制器可以能够在第二和第三资源中平衡对第一资源的请求负荷。控制器可以进一步将有效性标识符映射到第一、第二和第三资源标识符,以帮助进一步的资源负载平衡。
方法可以从方框S8向方框S10“接收对第一资源的请求,其中请求标识第一组地址中的地址的一个特定地址”继续。在方框S10,控制器可以在第一组地址中的地址的一个处接收对第一资源的请求。在一些示例中,控制器可以置换地址。
方法可以从方框S10向方框S12“分析特定地址,以确定特定资源”继续。在方框S12,控制器可以分析特定地址并确定特定资源。在特定地址与第一资源相对应的示例中,控制器可以将第一资源分配到请求。在特定地址与第二资源相对应的示例中,控制器可以将第二资源分配到请求。
方法可以从方框S12向方框S14“将请求分配到特定资源”继续。在方框S14,控制器可以将请求分配到特定资源。
图6示出根据本文中所描述的至少一些实施例设置的能够被用于在多核架构中实施资源分配的示例计算机程序产品300。程序产品300可以包括信号承载介质302。信号承载介质302可以包括一条或多条指令304,当通过例如处理器执行时,这些指令可以提供上文结合图1-5描述的功能。由此,例如,参考系统100,块118、120、122、124中的处理器112中的一个或多个可以响应于由基质302传递到系统100的指令304而进行图6显示的方框中的一个或多个。
在一些实施方式中,信号承载介质302可以包含计算机可读介质306,例如但不限于硬盘驱动器、CD、DVD、数字磁带、存储器等。在一些实施方式中,信号承载介质302可以包含可记录介质308,例如但不限于存储器、读/写(R/W)CD、R/W DVD,等等。在一些实施方式中,信号承载介质302可以包含通信介质310,例如但不限于数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。因此,例如,程序产品300可以通过RF信号承载介质302传送到的一个或多个模块,其中信号承载介质302由无线通信介质310(例如,符合IEEE 802.11标准的无线通信介质)来传送。
图7是示出根据本文中所描述的至少一些实施例设置的能够被用于在多核架构中实施资源分配的示例计算设备400的框图。在最基本的配置402中,计算设备400通常包括一个或多个处理器404和系统存储器406。存储器总线408可用于在处理器404与系统存储器406之间通信。
根据所需的配置,处理器404可以是任意类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器504可以包括例如一级超高速缓存410和二级超高速缓存412的一级或多级超高速缓存、处理器内核414和寄存器416。示例的处理器内核414可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP Core)或其任意组合。示例的存储器控制器418还可与处理器404一起使用,或者在一些实施方式中,存储器控制器418可以是处理器404的内部组件。
根据所需的配置,系统存储器406可以是任意类型,包括但不限于易失性存储器(例如RAM)、非易失性存储器(例如ROM、闪存等)或其任意组合。系统存储器406可以包括操作系统420、一个或多个应用422以及程序数据424。应用422可以包括资源分配算法426,该算法426可设置成执行如本文所描述的功能,包括参考如图1-4所示的系统100所描述的功能。程序数据424可以包括资源分配数据428,其可以用于如本文中描述的在多核架构中实施资源分配。在一些示例中,应用422可布置成在操作系统420上操作程序数据424,使得可以提供在多核架构中的资源分配。这一描述的基本配置402在图7中通过内部虚线内的那些组件示出。
计算设备400可具有附加的特征或功能以及附加的接口以便于基础配置402与任何所需的设备和接口之间的通信。例如,总线/接口控制器430可用于利于基础配置402与一个或多个数据存储设备432之间经由存储接口总线434的通信。数据存储设备432可以是可移除存储设备436、非可移除存储设备438或者其组合。可移除存储设备和非可移除存储设备的示例包括例如软盘驱动器和硬盘驱动器(HDD)的磁盘设备、例如压缩盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器,仅列举了几个。示例的计算机存储媒体可以包括以用于例如计算机可读指令、数据架构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的媒体以及可移除和非可移除的媒体。
系统存储器406、可移除存储设备436和非可移除存储设备438是计算机存储媒体的示例。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪存(flash memory)或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储设备、磁盒、磁带、磁盘存储设备或其它磁存储设备、或者可用于存储所需信息并且可由计算设备400访问的任何其它媒体。任意这样的计算机存储媒体可以是计算设备400的部分。
计算设备400还可以包括接口总线440,该接口总线用于方便从各接口设备(例如,输出接口442、外围设备接口444和通信设备446)经由总线/接口控制器430到基础配置402的通信。示例的输出接口442包括图形处理单元448和音频处理单元450,其可配置为经由一个或多个A/V端口452与例如显示器或扬声器的各外部设备通信。示例的外围设备接口444包括串行接口控制器454或并行接口控制器456,其可配置为经由一个或多个I/O端口458与例如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其它外围设备(例如,打印机、扫描仪等)的外部设备通信。示例的通信设备446包括网络控制器460,其可布置成便于经由一个或多个通信端口464通过网络通信链路与一个或多个计算设备462的通信。
网络通信链路可以是通信媒体的一个示例。通信媒体通常可通过计算机可读指令、数据架构、程序模块或例如载波或其它传输机制的调制数据信号中的其它数据来具体化,并且可以包括任何信息输送媒体。“调制数据信号”可以是使得其特性中的一个或多个以将信号中的信息编码的方式设定或改变的信号。通过举例而不是限制的方式,通信媒体可以包括例如有线网络或直接线连接的有线媒体,以及例如声波、射频(RF)、微波、红外(IR)和其它无线媒体的无线媒体。如本文所使用的术语计算机可读媒体可以包括存储媒体和通信媒体两者。
计算设备400可实现为例如蜂窝电话、个人数据助理(PDA)、个人媒体播放器设备、无线网页监视设备(wireless web-watch device)、个人头戴送受话器设备、专用设备或包括上述功能中的任一种的混合设备的小形状因数的便携式(或移动)电子设备的一部分。计算设备400还可实现为包括膝上型计算机和非膝上型计算机配置两者的个人计算机。
本公开不限于本文所描述的特定实施例,这些实施例意在为各方案的示例。能够在不偏离其精神和范围的情况下做出多种改进和变型,这对于本领字段技术人员而言是显而易见的。通过前面的说明,除了本文所列举的那些之外,在本公开的范围内的功能上等同的方法和装置对于本领字段技术人员而言将是显而易见的。旨在使这些改进和变型落在所附权利要求书的范围内。本公开仅受所附权利要求书以及这些权利要是所给予权利的等同方案的整个范围所限制。应当理解的是,本公开不限于特定的方法、试剂、化合物组成或生物系统,当然这些会变化。还应理解的是,本文所使用的术语是仅仅是为了描述特定实施例的目的,而不意在限制。
关于本文中基本上任何复数和/或单数术语的使用,本领字段技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的置换。
本领字段技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”,等等)。本领字段技术人员还理解,如果意表达引导性权利要求记述项的具体数量,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引导权利要求记述项。然而,这种短语的使用不应解释为暗指不定冠词“一”或“一个”引导权利要求记述项将包含该所引导的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及例如“一”或“一个”的不定冠词(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领字段技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个以上的记述项)。此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些示例中,通常这样的构造旨在表达本领字段技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。在使用类似于“A、B或C等中的至少一个”的惯用法的那些示例中,通常这样的构造旨在表达本领字段技术人员理解该惯用法的含义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。本领字段技术人员将进一步理解,呈现两个以上可选项的几乎任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应理解为设想包括一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
另外,在根据马库什组(Markush group)描述本公开的特征或方案的情况下,本领字段技术人员将理解的是本公开也因此以马库什组的任何独立成员或成员的子组来描述。
本领字段技术人员将理解的是,为了任何以及全部的目的,例如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的一半、三分之一、四分之一、五分之一、十分之一等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领字段技术人员还将理解的是,例如“多达”、“至少”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领字段技术人员将理解的是,范围包括每个独立的成员。因此,例如,具有1-3个单元的组是指具有1个、2个或3个单元的组。类似地,具有1-5个单元的组是指具有1个、2个、3个、4个、或5个单元的组,等等。
通过前面的论述,将理解到本文已经为了示例的目的描述了本公开的各实施例,并且可以在不偏离本公开的范围和精神的情况下进行各种改进。因此,本文所公开的各个实施例不意在限制,真正的范围和精神是通过随附的权利要求表示的。
Claims (20)
1.一种在多核架构中分配资源的方法,所述方法包括:
通过控制器,确定第一资源是至少部分不可获得的,其中第一资源与第一资源标识符相关联;
基于确定第一资源是至少部分不可获得的,通过控制器,将第二资源标识符映射到存储器中的地址组中的第一地址,其中所述第二资源标识符与第二资源相关联;
通过控制器,将所述第二资源标识符映射到存储器中的第二地址;
通过控制器,接收对所述第一资源的请求,其中所述请求标识地址组中的特定地址;
通过控制器,分析由所述第一资源的请求所识别的所述特定地址;
基于对所述特定地址的分析,通过控制器,确定特定资源;以及
通过控制器,将所述请求分配到所述特定资源。
2.如权利要求1所述的方法,其中:
所述地址组包括第一组地址;
将第二资源标识符映射到存储器中的所述第一组地址中的所述第一地址,包括将第二资源标识符存储在资源映射表的第一资源字段中,其中第一资源字段对应资源映射表的第一索引,并且其中所述第一索引对应存储器中的地址中的第一组地址;以及
将第二资源标识符映射到存储器中的所述第二地址,包括将所述第二资源标识符存储在所述资源映射表的第二资源字段中,其中所述第二资源字段对应所述资源映射表的第二索引,并且其中所述第二索引对应存储器中的地址中的第二组地址。
3.如权利要求1所述的方法,其中特定地址的至少一部分对应资源映射表的索引,其中所述资源映射表包括有效存储特定资源标识符的资源字段,并且其中所述特定资源标识符对应所述特定地址。
4.如权利要求1所述的方法,其中所述特定资源是所述第一资源和所述第二资源中的一个。
5.如权利要求1所述的方法,其中所述地址组对应所述多核架构中的所述资源数量的总和。
6.如权利要求1所述的方法,其中确定所述特定资源进一步基于在资源映射表中的所述特定资源标识符和有效性标识符。
7.如权利要求6所述的方法,其进一步包括为所述有效性标识符分配值,以响应被确定为至少部分是不可获得的所述第一资源。
8.如权利要求1所述的方法,其中:
在确定所述第一资源是至少部分不可获得的之前,所述第一资源标识符被映射到第一有效性标识符;
在确定所述第一资源是至少部分不可获得的之前,所述第二资源标识符被映射到第二有效性标识符;以及
确定所述特定资源包括分析所述特定地址,以基于所述第一有效性标识符和所述第二有效性标识符确定所述特定资源。
9.如权利要求8所述的方法,其进一步包括:
置换所述请求中的所述特定地址,以产生置换地址;以及
分析所述置换地址,以基于所述第一有效性标识符和所述第二有效性标识符确定所述特定资源。
10.一种有效分配资源的多核架构,所述多核架构包括:
与第一资源标识符相关联的第一资源;
与第二资源标识符相关联的第二资源;以及
控制器,其被配置为与所述第一和第二资源通信,其中所述控制器配置用于:
确定所述第一资源是至少部分不可获得的;
基于确定第一资源是至少部分不可获得的,将所述第二资源标识符映射到存储器中的地址组中的第一地址;
将所述第二资源标识符映射到存储器中的第二地址;
接收对所述第一资源的请求,其中所述请求标识地址组中的特定地址;
分析由所述第一资源的请求所识别的所述特定地址;
基于对所述特定地址的分析,确定特定资源;以及
将所述请求分配到所述特定资源。
11.如权利要求10所述的多核架构 ,其进一步包括资源映射表,其中所述资源映射表包括:
与所述特定地址对应的索引;以及
有效存储与所述特定地址对应的特定资源的资源字段。
12.如权利要求11所述的多核架构 ,其中所述资源映射表进一步包括有效性标识符。
13.如权利要求12所述的多核架构 ,其中所述控制器配置用于基于所述特定地址,与所述特定地址对应的特定资源标识符,和有效性标识符,确定特定资源。
14.如权利要求12所述的多核架构 ,其中所述控制器进一步配置用于基于确定所述第一资源是至少部分不可获得的,为所述有效性标识符分配值。
15.如权利要求11所述的多核架构 ,其中所述索引对应的部分少于全部的所述特定地址。
16.如权利要求10所述的多核架构 ,其中:
在确定第一资源是至少部分不可获得的之前,所述第一资源标识符被映射到第一有效性标识符;
在确定第一资源是至少部分不可获得的之前,所述第二资源标识符被映射到第二有效性标识符;以及
所述控制器进一步配置用于:
置换所述请求中的所述特定地址,以产生置换地址;以及
分析所述置换地址,以基于所述第一有效性标识符和所述第二有效性标识符确定所述特定资源。
17.一种在多核架构中有效分配资源的系统,所述系统包括:
配置用于存储资源映射表的存储器;以及
配置用于与所述存储器通信的控制器,其中控制器配置用于:
确定第一资源是至少部分不可获得的,其中所述第一资源与所述第一资源标识符相关联;
基于确定第一资源是至少部分不可获得的,将第二资源标识符存储在所述资源映射表的第一资源字段中,其中所述第一资源字段对应所述资源映射表的第一索引,其中所述第一索引对应所述存储器中的地址组中的第一地址,并且其中所述第二资源标识符与第二资源相关联;
将所述第二资源标识符存储在所述资源映射表中的第二资源字段中,其中所述第二资源字段对应所述资源映射表的第二索引,并且其中所述第二索引对应所述存储器中的第二地址;
接收对所述第一资源的请求,其中所述请求标识地址组中的特定地址;
分析所述特定地址,以确定特定资源;以及
将所述请求分配到所述特定资源。
18.如权利要求17所述的系统,其中所述资源映射表进一步包括有效性标识符字段。
19.如权利要求17所述的系统,其中所述控制器配置用于基于所述特定地址,与所述特定地址对应的特定资源标识符,和有效性标识符,确定特定资源。
20.如权利要求17所述的系统,其中:
在确定第一资源是至少部分不可获得的之前,所述第一资源标识符被映射到第一有效性标识符;
在确定第一资源是至少部分不可获得的之前,所述第二资源标识符被映射到第二有效性标识符;以及
所述控制器进一步配置用于:
置换所述请求中的所述特定地址,以产生置换地址;以及
分析所述置换地址,以基于所述第一有效性标识符和所述第二有效性标识符确定所述特定资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810750060.3A CN109032791B (zh) | 2012-08-22 | 2012-08-22 | 多核架构中的资源分配 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280076553.4A CN104737130B (zh) | 2012-08-22 | 2012-08-22 | 多核架构中的资源分配 |
PCT/US2012/051803 WO2014031110A1 (en) | 2012-08-22 | 2012-08-22 | Resource allocation in multi-core architectures |
CN201810750060.3A CN109032791B (zh) | 2012-08-22 | 2012-08-22 | 多核架构中的资源分配 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280076553.4A Division CN104737130B (zh) | 2012-08-22 | 2012-08-22 | 多核架构中的资源分配 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032791A CN109032791A (zh) | 2018-12-18 |
CN109032791B true CN109032791B (zh) | 2022-10-21 |
Family
ID=50149211
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280076553.4A Active CN104737130B (zh) | 2012-08-22 | 2012-08-22 | 多核架构中的资源分配 |
CN201810750060.3A Active CN109032791B (zh) | 2012-08-22 | 2012-08-22 | 多核架构中的资源分配 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280076553.4A Active CN104737130B (zh) | 2012-08-22 | 2012-08-22 | 多核架构中的资源分配 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8990828B2 (zh) |
CN (2) | CN104737130B (zh) |
WO (1) | WO2014031110A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104737130B (zh) * | 2012-08-22 | 2018-08-03 | 英派尔科技开发有限公司 | 多核架构中的资源分配 |
WO2014169420A1 (en) * | 2013-04-15 | 2014-10-23 | Broadcom Corporation | Method and apparatus for management of protected resource in a heterogeneous network |
US10303514B2 (en) * | 2014-11-14 | 2019-05-28 | Cavium, Llc | Sharing resources in a multi-context computing system |
US10592290B2 (en) * | 2018-01-10 | 2020-03-17 | International Business Machines Corporation | Accelerating and maintaining large-scale cloud deployment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601498A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 存储器映射输入/输出构造中存储器资源的基于位置的分配 |
CN1777113A (zh) * | 2005-12-19 | 2006-05-24 | 北京交通大学 | 一种实现一体化网络服务的体系结构 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504670A (en) * | 1993-03-31 | 1996-04-02 | Intel Corporation | Method and apparatus for allocating resources in a multiprocessor system |
US6058423A (en) * | 1996-12-23 | 2000-05-02 | International Business Machines Corporation | System and method for locating resources in a distributed network |
FR2786288B1 (fr) * | 1998-11-23 | 2001-08-10 | Bull Sa | Systeme de traitement par ensembles de ressources |
US8234650B1 (en) * | 1999-08-23 | 2012-07-31 | Oracle America, Inc. | Approach for allocating resources to an apparatus |
US7703102B1 (en) * | 1999-08-23 | 2010-04-20 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on preemptable resource requirements |
AU7996200A (en) * | 1999-10-05 | 2001-05-10 | Ejasent Inc. | Virtual port multiplexing |
US6473845B1 (en) | 2000-09-28 | 2002-10-29 | Hewlett-Packard Company | System and method for dynamically updating memory address mappings |
US7594229B2 (en) * | 2001-10-09 | 2009-09-22 | Nvidia Corp. | Predictive resource allocation in computing systems |
US7673304B2 (en) * | 2003-02-18 | 2010-03-02 | Microsoft Corporation | Multithreaded kernel for graphics processing unit |
US7007108B2 (en) * | 2003-04-30 | 2006-02-28 | Lsi Logic Corporation | System method for use of hardware semaphores for resource release notification wherein messages comprises read-modify-write operation and address |
US7552436B2 (en) * | 2003-11-25 | 2009-06-23 | International Business Machines | Memory mapped input/output virtualization |
US7467381B2 (en) * | 2003-12-16 | 2008-12-16 | Intel Corporation | Resource partitioning and direct access utilizing hardware support for virtualization |
JP2005266917A (ja) * | 2004-03-16 | 2005-09-29 | Nec Corp | 分散資源獲得システム、分散資源獲得方法および分散資源獲得用プログラム |
US7630313B2 (en) | 2004-09-30 | 2009-12-08 | Alcatel-Lucent Usa Inc. | Scheduled determination of network resource availability |
US20060101467A1 (en) * | 2004-10-18 | 2006-05-11 | International Business Machines Corporation | Process execution management based on resource requirements and business impacts |
KR100674934B1 (ko) | 2005-01-06 | 2007-01-26 | 삼성전자주식회사 | 온 칩 버스(On Chip Bus)에서 최적화된타일-스위치(tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체 |
US20070168620A1 (en) * | 2006-01-19 | 2007-07-19 | Sicortex, Inc. | System and method of multi-core cache coherency |
US8286174B1 (en) * | 2006-04-17 | 2012-10-09 | Vmware, Inc. | Executing a multicomponent software application on a virtualized computer platform |
US7853752B1 (en) * | 2006-09-29 | 2010-12-14 | Tilera Corporation | Caching in multicore and multiprocessor architectures |
US8046694B1 (en) * | 2007-08-06 | 2011-10-25 | Gogrid, LLC | Multi-server control panel |
US8645965B2 (en) | 2007-12-31 | 2014-02-04 | Intel Corporation | Supporting metered clients with manycore through time-limited partitioning |
US20110004791A1 (en) | 2008-03-04 | 2011-01-06 | Mitsubishi Electric Corporation | Server apparatus, fault detection method of server apparatus, and fault detection program of server apparatus |
US8195888B2 (en) * | 2009-03-20 | 2012-06-05 | Empire Technology Development Llc | Multiprocessor cache prefetch with off-chip bandwidth allocation |
US8181019B2 (en) * | 2009-06-22 | 2012-05-15 | Citrix Systems, Inc. | Systems and methods for managing CRLS for a multi-core system |
US20120096462A1 (en) * | 2010-10-18 | 2012-04-19 | Electronics And Telecommunications Research Institute | Dynamic virtualization technique for multicore processor system |
US8776061B2 (en) * | 2010-12-16 | 2014-07-08 | International Business Machines Corporation | Real-time distributed monitoring of local and global processor resource allocations and deallocations |
US8516493B2 (en) | 2011-02-01 | 2013-08-20 | Futurewei Technologies, Inc. | System and method for massively multi-core computing systems |
WO2013115821A1 (en) * | 2012-02-02 | 2013-08-08 | Empire Technolgy Development Llc | Quality of service targets in multicore processors |
CN104737130B (zh) * | 2012-08-22 | 2018-08-03 | 英派尔科技开发有限公司 | 多核架构中的资源分配 |
-
2012
- 2012-08-22 CN CN201280076553.4A patent/CN104737130B/zh active Active
- 2012-08-22 WO PCT/US2012/051803 patent/WO2014031110A1/en active Application Filing
- 2012-08-22 CN CN201810750060.3A patent/CN109032791B/zh active Active
- 2012-08-22 US US13/812,400 patent/US8990828B2/en active Active
-
2015
- 2015-03-13 US US14/657,716 patent/US9471381B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601498A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 存储器映射输入/输出构造中存储器资源的基于位置的分配 |
CN1777113A (zh) * | 2005-12-19 | 2006-05-24 | 北京交通大学 | 一种实现一体化网络服务的体系结构 |
Also Published As
Publication number | Publication date |
---|---|
US9471381B2 (en) | 2016-10-18 |
CN104737130B (zh) | 2018-08-03 |
CN109032791A (zh) | 2018-12-18 |
CN104737130A (zh) | 2015-06-24 |
US20150186186A1 (en) | 2015-07-02 |
US20140059560A1 (en) | 2014-02-27 |
WO2014031110A1 (en) | 2014-02-27 |
US8990828B2 (en) | 2015-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965385B2 (en) | Memory allocation accelerator | |
US7730261B1 (en) | Multicore memory management system | |
US20170003997A1 (en) | Compute Cluster Load Balancing Based on Memory Page Contents | |
US20140173624A1 (en) | Load balancing scheme | |
US9483318B2 (en) | Distributed procedure execution in multi-core processors | |
US9311153B2 (en) | Core affinity bitmask translation | |
CN109032791B (zh) | 多核架构中的资源分配 | |
US10089131B2 (en) | Compute cluster load balancing based on disk I/O cache contents | |
US10769073B2 (en) | Bandwidth-based selective memory channel connectivity on a system on chip | |
EP2531923A1 (en) | Channel controller for multi-channel cache | |
EP2531924A1 (en) | Update handler for multi-channel cache | |
TW201717026A (zh) | 用於逐頁記憶體通道交錯之系統及方法 | |
CN116010109B (zh) | 缓存资源分配方法、装置、电子设备和存储介质 | |
TW201717025A (zh) | 用於逐頁記憶體通道交錯之系統及方法 | |
WO2016089631A1 (en) | Systems and methods for providing improved latency in a non-uniform memory architecture | |
US8868800B2 (en) | Accelerator buffer access | |
JP2021026769A (ja) | ストレージ管理のための方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム | |
US9542333B2 (en) | Systems and methods for providing improved latency in a non-uniform memory architecture | |
US8122208B2 (en) | System and method for memory architecture configuration | |
US11429452B2 (en) | Method for distributing keys using two auxiliary hashing functions | |
WO2015024169A1 (en) | Virtual shared storage device | |
US12045475B1 (en) | Resizable scratchpad memory |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220323 Address after: Virgin Islands (British) Applicant after: Mercury Kingdom Assets Ltd. Address before: Delaware Applicant before: EMPIRE TECHNOLOGY DEVELOPMENT LLC |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |