CN101960418B - 多核计算系统和用于控制对共享资源的访问的方法 - Google Patents
多核计算系统和用于控制对共享资源的访问的方法 Download PDFInfo
- Publication number
- CN101960418B CN101960418B CN2009801066018A CN200980106601A CN101960418B CN 101960418 B CN101960418 B CN 101960418B CN 2009801066018 A CN2009801066018 A CN 2009801066018A CN 200980106601 A CN200980106601 A CN 200980106601A CN 101960418 B CN101960418 B CN 101960418B
- Authority
- CN
- China
- Prior art keywords
- dram
- core
- logical block
- level cache
- last level
- 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.)
- Expired - Fee Related
Links
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
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- 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/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Power Sources (AREA)
Abstract
本发明的实施例总体上涉及用于改进与多核存储器热量抑制算法相关联的功率/性能权衡的系统、方法和装置。在一些实施例中,当系统处于动态随机存取存储器(DRAM)抑制模式中时,在系统中的一个或多个点处改变共享资源分配的优先级。这可以允许高速缓存范围类型的工作负荷前进,同时仍然对于存储器范围类型的工作负荷抑制DRAM。
Description
技术领域
本发明的实施例总体上涉及集成电路领域,并且更具体地说,涉及用于改进与多核存储器热量抑制算法相关联的功率/性能权衡的系统、方法和装置。
背景技术
现代计算系统通常包括集成在单个管芯上的两个或更多个处理器核心(或者简单地说,核心)。这些核心可以具有同类型的工作负荷,或者他们可以具有不同类型的工作负荷。术语“同类型的工作负荷”是指如下情况:当运行在不同核心上的工作负荷对共享资源(例如,末级高速缓存、互连、主系统存储器等)具有基本上类似的需求时的情况。术语“不同类型的工作负荷”是指如下情况:当运行在不同核心上的工作负荷对共享资源提出显著不同的需求时的情况。
多个核心通常共享称为主系统存储器的存储器资源的公共集合。主系统存储器可以包括许多动态随机存取存储器设备(DRAM)。DRAM的温度受DRAM的使用程度影响。
现代计算系统可以包括用于控制DRAM的温度的机制。例如,它们可以支持DRAM抑制模式(DTM),其中,当DRAM设备的温度超过预设的安全阈值温度时,存在“开/关”(ON/OFF)工作周期控制。在“开”状态期间,存储器控制器在指定数量的时钟周期(例如,256个DRAM时钟周期)内应用常规的调度算法来调度请求。在“关”状态期间,存储器控制器在指定数量的时钟周期(例如,256个时钟周期)内阻塞(抑制)对DRAM的所有请求,以使存储器降温到较低的温度。
发明内容
本发明提供了一种多核计算系统,包括:两个或更多个处理器核心,每个处理器核心与队列占用率监视器相关联,所述队列占用率监视器用于监视每个处理器核心的末级高速缓存流水线请求占用率值;以及与所述两个或更多个处理器核心耦合的资源共享逻辑部件,所述资源共享逻辑部件用于确定选择的处理器核心,所述选择的处理器核心至少部分地基于与所述选择的处理器核心相对应的末级高速缓存流水线请求占用率值来访问至少一个资源。
本发明还提供了一种用于控制对系统中的共享资源的访问的方法,所述方法包括:在资源共享逻辑部件处,接收所述系统处于动态随机存取存储器DRAM抑制模式中的指示;针对与所述资源共享逻辑部件耦合的两个或更多个处理器核心中的每一个计算末级高速缓存仲裁权重,其中,所述两个或更多个处理器核心中的每一个的所述末级高速缓存仲裁权重至少部分地基于在预定时间间隔期间的末级高速缓存请求队列占用率和该核心的末级高速缓存命中率;以及使得所述两个或更多个处理器核心中的所选择的一个核心能够至少部分地基于所述末级高速缓存仲裁权重来访问末级高速缓存。
本发明还提供了一种多核计算系统,包括:集成电路,其包括:两个或更多个处理器核心,每个处理器核心与队列占用率监视器相关联,所述队列占用率监视器用于监视每个处理器核心的末级高速缓存占用率值;以及与所述两个或更多个处理器核心耦合的资源共享逻辑部件,所述资源共享逻辑部件用于确定选择的处理器核心,所述选择的处理器核心至少部分地基于与所述选择的处理器核心相对应的末级高速缓存占用率值和针对所述核心的末级高速缓存命中率来访问至少一个资源。所述多核计算系统还包括与所述集成电路耦合的至少一个动态随机存取存储器设备,用于向所述集成电路提供主系统存储器。
本发明还提供了一种用于控制对系统中的共享资源的访问的方法,包括:接收热量事件的指示;响应于接收到所述热量事件的指示,测量两个或更多个核心中的每一个的共享资源使用率;以及至少部分地基于所述两个或更多个核心的共享资源使用率来动态地重新安排对共享资源的分配的核心优先级,以使得对于到共享资源的访问来说,具有较高的高速缓存使用率和较低的动态随机存取存储器DRAM带宽使用率的核心的优先级高于具有较高的DRAM带宽使用率的核心,其中,测量两个或更多个核心中的每一个的共享资源使用率包括:测量末级高速缓存流水线请求占用率值。
附图说明
在附图的图示中,通过例子而非通过限制的方式来说明本发明的实施例,并且其中,相同的附图标记指示相似的元素。
图1是说明根据本发明的实施例实现的、具有共享的末级高速缓存的多核计算系统的所选择的方面的高级框图。
图2是说明了根据本发明的实施例实现的、多核存储器抑制方案的所选择的方面的框图。
图3是说明了当系统处于抑制模式时,用于确定末级高速缓存(LLC)请求的优先级的启发式规则的所选择的方面的示图。
图4是说明了当系统处于DRAM抑制模式(DTM)时,用于抑制到存储器控制器的LLC未命中的启发式规则的所选择的方面的示图。
图5是说明了当系统处于抑制模式时,用于抑制对存储器的访问的启发式规则的所选择的方面的示图。
图6是说明了根据本发明的实施例的、在存储器抑制模式中的LLC和开关调度的所选择的方面的流程图。
图7是说明了根据本发明的实施例的、用于当在DTM模式中操作时将请求发送给DRAM的算法的所选择的方面的流程图。
具体实施方式
本发明的实施例关注于一种硬件技术,该技术用于在运行不同类型的工作负荷的多核系统中的高效的动态随机存取存储器(DRAM)热量抑制。在一些实施例中,多核系统可以具有集成的存储器控制器。在其它实施例中,多核系统可以具有分离的芯片组。
运行不同类型的工作负荷的多核系统可以在每个核心(或线程)上运行多种不同的工作负荷。一些工作负荷可能需要大量的DRAM存储器带宽。其它工作负荷可能(基本上)是中间级或末级高速缓存范围类型的,并且可能仅产生小量的DRAM带宽。使用相对大量的存储器带宽的工作负荷会增大DRAM设备的温度。术语DRAM热量抑制(或热量抑制,或简称为抑制)是指:限制DRAM带宽以控制DRAM设备温度。
DRAM热量抑制的传统手段包括:使用DRAM抑制模式(DTM),在该模式中存在“开/关”(on/off)工作周期控制。在“开”状态期间,存储器控制器在指定数量的时钟周期(例如,256个时钟周期)内应用常规调度算法来调度请求。在“关”状态期间,存储器控制器在指定数量的时钟周期(例如,256个时钟周期)内阻塞(抑制)对DRAM的所有请求。因为请求集中在共享资源的各个队列中,所以DTM可以对“上游”资源产生反向压力,由于请求没有被发送到DRAM,所以请求不会前进。这种反向压力最终会导致在核心(或线程)中的停滞(stall)。为了本专利,术语“核心”和“线程”可互换地使用。
原则上,可以并且应当允许高速缓存范围类型的工作负荷前进,因为它们不需要大量的DRAM带宽。本发明的实施例在请求优先级划分和抑制方面提供了更多的智能,以便在不同类型的多核心工作负荷的情况下,使得能够对大量使用DRAM带宽的工作负荷进行抑制(以获得较好的功率节省)并且允许高速缓存范围类型的其它工作负荷前进(以提供较好的性能权衡)。
图1是说明了根据本发明的实施例实现的、具有共享的末级高速缓存的多核计算系统的所选择的方面的高级框图。系统100包括多个核心110、资源共享逻辑114、末级高速缓存(LLC)116、互连118、存储器控制器120和DRAM 122。在替代性实施例中,系统100可以包括更多的元件、更少的元件和/或不同的元件。在一些实施例中,核心110、资源共享逻辑114和存储器控制器120位于同一集成电路上。在替代性实施例中,核心110和资源共享逻辑114位于第一集成电路上,并且存储器控制器120位于第二集成电路上(例如,作为分离的芯片组的一部分)。在一些替代性实施例中,每个核心110具有单独的LLC(而不是共享的LLC 116),并且核心110共享从LLC起的下游资源(例如,互连118、存储器控制器120、DRAM 122等)。
核心110可以是多种处理器核心中的任意一种,包括通用处理器、图形处理器等。为了便于说明,图1示出了三个处理器核心。但是,应当意识到,系统100可以几乎具有任意数量的处理器核心。
每个核心100可以具有专用的第一和第二级高速缓存。核心110还可以共享LLC 116。此外,核心110可以共享其它的下游资源,包括例如:互连118、存储器控制器120和DRAM 122。
在所说明的实施例中,每个核心110与LLC请求队列112相关联。在一些实施例中,针对每个核心110可以存在独立的队列112。在替代性实施例中,两个或更多个核心110可以共享队列112。如下文进一步所描述的,在一些实施例中,监视队列112的占用率(使用率)以针对每个核心110确定预定时间段期间的平均占用率。该值可以用于确定当系统100处于DTM中时,哪个核心110具有对哪个共享资源的访问优先权。
资源共享逻辑114提供了许多仲裁、交换和排队功能。例如,资源共享逻辑114可以针对核心110仲裁对LLC 116和互连118的访问。如果系统100不处于DTM中,则逻辑114可以应用传统的仲裁方案(例如,基于需求的或轮询的(round robin)仲裁),以控制对共享资源的访问。当在系统中发信号通知DTM事件时,所述事件的出现指示只要系统处于DTM中,那么相比于较少使用存储器带宽并且大量使用高速缓存的线程而言,大量使用存储器带宽的线程可以工作在更低的优先级,并且该信息用于控制系统资源分配,以在功率/性能之间做出更好的权衡。但是,当系统100处于DTM中时,逻辑114可以应用预先指定的仲裁方案,对于主要访问LLC 116(而不是主系统存储器)的核心,所述方案允许前进,同时抑制主要访问主系统存储器(例如,DRAM 122)的核心。在一些实施例中,对于较简单的实现,预先指定的仲裁方案至少部分地基于队列112的占用率。如下文进一步所讨论的,预先指定的仲裁方案可以通过使用其它特性来增强,所述特性包括:在预设时间间隔期间的每个核心的平均LLC命中率、在预设时间间隔期间的每个核心的平均存储器带宽等。
互连118在逻辑114和存储器控制器120之间提供了连接。如果逻辑114和存储器控制器120共同位于同一管芯上,则互连118可以是片上互连。替代地,如果逻辑114和存储器控制器120没有位于同一管芯上,则互连118可以是片下互连(例如,总线或点对点互连)。
存储器控制器120在待处理的请求(例如,在LLC未命中之后,经由互连118从逻辑114转发到存储器控制器的请求)之间进行仲裁,并且将所选择的请求发送到DRAM 122中的一个(例如,以便读取或写数据)。存储器设备122中的至少一些可以包括温度传感器124。温度传感器124可以与DRAM 122处在同一管芯上,或者位于相对于DRAM 122的方便的位置以收集温度数据。存储器控制器120从传感器124接收输入,并且尝试将DRAM 122的温度保持在规定的限度内,以避免热量失控。如果DRAM 122的温度超过规定的限度,则存储器控制器120进入DRAM抑制模式,并且开始抑制对DRAM 122的请求。在一些实施例中,DRAM不具有使用开环DRAM热量抑制算法的传感器,其中,当它超过阈值时,所述算法只控制/抑制DRAM带宽。
在一些实施例中,当系统100处于DTM中时,将预先指定的调度策略应用到来自核心110的请求。该预先指定的调度策略结合DTM的“开/关”工作周期来工作。在“开”周期期间,预先指定的调度策略确定允许(来自哪个核心的)哪个请求前进。在“关”周期期间,抑制对存储器的请求以允许DRAM 122降温。在一些实施例中,预先指定的调度策略使来自主要命中LLC 116的核心的请求优先于主要去往DRAM 122的请求。请求是否被判断为“主要命中LLC 116”可以是特定于系统的。在一些实施例中,如果在某个时间间隔期间核心发出的至少90%(+/-10%)的请求被LLC 116满足,则该核心被判断为主要命中LLC 116。术语“高速缓存范围类型的核心(cache bound core)”是指(在相关的时间间隔期间)生成主要命中高速缓存(例如,LLC 116)的请求的核心。术语“DRAM范围类型的核心(DRAMbound core)”是指(在相关的时间间隔期间)生成主要去往DRAM 122的请求的核心。这种核心也可能具有很大一部分请求命中LLC。
在一些实施例中,在系统100中的多于一个点处,使来自高速缓存范围类型的核心的请求优先于来自DRAM范围类型的核心的请求。例如,在一些实施例中,在针对LLC 116的仲裁期间,相比于来自DRAM范围类型的核心的请求,更关照来自高速缓存范围类型的核心的请求。这有助于高速缓存范围类型的核心即使在DTM的“关”周期期间,当存储器控制器120抑制所有对DRAM 122的请求时,也可以有效地使用高速缓存资源。在一些实施例中,当针对到互连118的访问(将被转发到存储器控制器120)进行仲裁时,在未命中LLC 116的请求中的那些来自高速缓存范围类型的核心的请求将优先于那些来自DRAM范围类型的核心的请求。在一些实施例中,存储器控制器120在DTM的“开”周期期间优先处理来自高速缓存范围类型的核心的请求。这有助于偶然的来自高速缓存范围类型的核心的DRAM请求在DTM的“开”周期期间前进,以使得核心中的依赖于DRAM范围类型的请求的任何请求也可以在“关”周期期间前进。
图2是说明了根据本发明的实施例实现的、具有共享的末级高速缓存的多核计算系统的所选择的方面的框图。图2中所示的许多元件基本上类似于图1中所示的那些元件,并且这些元件共享相同的附图标记。在替代性的实施例中,系统200可以包括更多的元件、更少的元件和/或不同的元件。
系统200包括用于实现许多启发式规则的逻辑,以使得能够在各种位置做出请求优先级/仲裁的决定。表1列出了这些启发式规则中的一些。在替代性实施例中,系统200可以实现更多的启发式规则、更少的启发式规则和/或不同的启发式规则。
表1
启发式规则的类型 |
在时间间隔期间每个核心的平均LLC请求占用率 |
DRAM热量抑制开/关 |
在预设的时间间隔期间每个核心的平均LLC命中率 |
在时间间隔期间每个核心的平均存储器带宽 |
在DTM中每个事务的MC请求优先级 |
在一些实施例中,首先列出的两个启发式规则提供了第一级的功率/性能权衡。随后列出的启发式规则提供了功率/性能权衡的额外的和/或可选的级别。以下参照系统200中实现了启发式规则的元件来讨论所列出的启发式规则。
队列占用率监视器202与LLC请求队列112中的每一个耦合。在一些实施例中,监视器202针对每个核心202确定在指定的时间间隔期间的平均LLC请求队列占用率。监视器202将该数据提供给资源共享逻辑114的抑制优先级选择逻辑210。
在所说明的实施例中,逻辑114包括优先级仲裁逻辑210、开关212、抑制优先级选择逻辑214和LLC未命中率监视器216。开关212为LLC 116和互连118提供交换功能。在一些实施例中,开关212是多路纵横交叉开关(multi-way crossbar switch)。在替代性实施例中,开关212是环形开关(ring switch)。LLC未命中率监视器216和抑制优先级选择逻辑214是已被添加到逻辑114的新元件,用于支持多核心热量抑制功率/性能权衡启发式规则。
LLC未命中率监视器216监视来自核心110中的每一个的、去往LLC116的请求。在一些实施例中,LLC未命中率监视器216包括针对每个核心的平均LLC命中率计数器。监视器216可以针对每个核心计算在指定的时间间隔期间的平均LLC命中率。可以基于各种阈值来将命中率量化为更细致的级别。在一些实施例中,命中率被划分为高命中率和低命中率。该信息指示:哪个核心产生了许多LLC命中以及哪个核心产生了大量的高速缓存未命中。如下文进一步所讨论的,本发明的实施例可以使用该信息来确定哪些请求要优先处理。
抑制优先级选择逻辑214使来自高速缓存范围类型的核心110的请求优先于来自DRAM范围类型的核心110的请求(例如,如果系统200处于DTM中)。逻辑214可以收集来自系统200的各种输入,以获得关于请求和资源分配优先级的信息。例如,LLC监视器216的输出被提供给抑制优先级选择逻辑214。类似地,队列占用率监视器202的输出也被提供给逻辑214,以提供针对每个核心110的关于平均LLC队列占用率的信息。存储器控制器120经由互连118向逻辑214提供系统200是否处于DTM中的指示。取决于存储器控制器120是否被集成到与资源共享逻辑114相同的管芯上,所述指示可以作为消息或单独的信号来被发送。
在一些实施例中,如果系统200不处于DTM中,则抑制优先级选择逻辑214允许系统200以常规方式来工作,而不改变任何请求和资源分配优先级。如果系统200工作在DTM中,则逻辑214使用一个或更多个启发式规则来改变请求和资源分配优先级。例如,在一些实施例中,如果系统200工作在DTM中,则逻辑214控制两个决定。
第一个决定是针对LLC 116的仲裁策略。图3说明了启发式规则的一个示例,其中,逻辑214应用该启发式规则来确定针对LLC 116的仲裁策略。在所说明的启发式规则中,逻辑214使用针对每个核心收集的LLC请求队列占用率信息(例如,由监视器202收集的)和LLC命中率信息(例如,由监视器216收集的)来确定来自每个核心的请求的优先级。例如,如果核心的平均LLC请求队列占用率较低,并且该队列的LLC命中率较高,则逻辑214可以将高优先级分配给来自该队列的请求。在其它实施例中,逻辑214可以应用不同的启发式规则来确定针对LLC 116的仲裁策略。
逻辑214控制的第二个决定是:当请求未命中LLC 116并且被转发给存储器控制器120时,针对开关212的仲裁策略。除了确定对开关212的资源的访问的优先级之外,该决定通常还涉及针对存储器控制器120中的DRAM通道队列信用(credit)或其它资源的仲裁。图4说明了逻辑214如何确定未命中LLC 116的请求的优先级的一个例子。在所说明的启发式规则中,逻辑214使用针对每一个核心收集的LLC命中率信息(例如,由监视器216收集的)和针对每个核心收集的存储器带宽信息(例如,由监视器228收集的)来确定来自每个核心的请求的优先级。在一些实施例中,逻辑214基于图4中说明的启发式规则来为请求分配加权的优先级。例如,如果请求发起于与较低的存储器带宽使用率和较高的LLC命中率相关联的核心(图4的左下方),则逻辑214可以将高优先级标签分配给该请求。该标签向存储器控制器120指示当访问DRAM 122时,该请求应当被给予优先。因此,即使当来自高速缓存范围类型的核心的请求偶然未命中LLC 116时,它们也可以继续前进。在替代性实施例中,逻辑214可以应用不同的启发式规则来确定针对开关212的仲裁策略。
存储器控制器120包括:仲裁器222、DRAM通道控制逻辑224、DRAM带宽监视器228和DRAM抑制逻辑226。存储器控制器120从互连118接收请求并且将他们排入队列230。如果系统200不处于DTM中,则仲裁器222可以应用常规的调度策略(例如,其可以优化DRAM使用率)来调度在队列230中的请求。DRAM通道控制逻辑224将所调度的请求发送给DRAM 122。
在一些实施例中,如果系统200处于DTM中,则存储器控制器120将预先指定的调度策略应用到队列230中的请求。可以设计预先指定的调度策略以使来自高速缓存范围类型的核心的请求优先于来自DRAM范围类型的核心的那些请求。存储器控制器200包括:DRAM带宽监视器228和DRAM抑制逻辑226,以实现预先指定的调度策略。DRAM带宽监视器228监视在指定的时间间隔期间每个核心的平均DRAM带宽使用率。
DRAM抑制逻辑226接收来自模块228的DRAM带宽使用率信息以及来自传感器124的温度信息。如果DRAM 122的温度超过了阈值,则DRAM抑制逻辑226可以启动DTM。当启动DTM事件时,DRAM抑制逻辑226可以向逻辑114提供指示(例如,经由消息或信号)。
图5说明了当系统200工作在DTM中时,逻辑226如何确定对DRAM的请求的优先级的一个例子。在所说明的实施例中,逻辑226使用由监视器228提供的存储器带宽信息和由逻辑214分配的优先级标签来确定在队列230中排队的请求的优先级。例如,如果请求与具有较低存储器带宽使用率的核心相关联(在相关的时间间隔期间),并且如果请求被分配了高优先级标签(例如,图5的右下角),则逻辑226可以给予该请求对DRAM 122的最高的访问优先级。在替代性实施例中,逻辑226可以实现不同的算法以确定去往DRAM 122的请求的优先级。
当工作在DTM中时,存储器控制器120可以选择在“开”抑制间隔期间,在打开DRAM电源之后,将被发送到DRAM 122的N个请求。在发送N个请求之后,存储器控制器120关闭DRAM电源并且等待M个时钟周期以降低存储器带宽。选择要发送的N个请求的正确集合对于在上游单元中保持前进是重要的。如果需要K个周期来关闭DRAM电源,并且如果请求的平均DRAM访问时间是L个周期,那么K/L*N和K/M应当是一较小的分数,以使得切换DRAM 122的“开/关”的开销保持得很小。
在一些替代性实施例中,存储器控制器120只使用分配给请求的标签来仲裁这些请求(例如,如果DRAM带宽使用率信息不可用)。在其它的替代性实施例中,如果没有实现优先级标签,则可以使用随机选择。这将可能排空来自高速缓存范围类型的核心的请求,以允许它们可能比在常规调度算法情况下更好地前进,常规调度算法优化DRAM效率并且可能选择存储器范围类型的核心的请求。在一些实施例中,当测量预设的时间间隔期间每个核心的存储器带宽时,选择所述时间间隔以使得重要的过往历史被保存并且使得不会仅由在DTM期间发送的请求在所述时间间隔内占支配地位,否则将不会提供期望的结果并且会抑制来自错误类型的核心的请求。
在一些实施例中,可以使用“开/关”周期策略的变形来实现额外的性能益处。变形可以使用三个周期而不是两个周期。第一个周期可以包括:使用如上所述的优先处理高速缓存范围类型的线程的策略来发送N个请求。第二个周期可以包括:在M个周期内抑制DRAM。第三个周期可以包括:使用常规DRAM调度策略来选择R个请求以发送到DRAM 122,所述常规DRAM调度策略很可能会优先处理带宽密集的核心。在其它替代性的实施例中,可以使用不同数量的周期,这些周期使用了各种调度策略。
图6是说明根据本发明的实施例的、在存储器抑制模式中的LLC和开关调度的所选择的方面的流程图。参照处理框602,逻辑(例如,在图2中所示的抑制优先级逻辑214)确定系统是否处于DTM中。逻辑可以从相关联的存储器控制器接收系统处于DTM中的指示。指示可以是消息、信号等。如果系统不处于DTM中,则所述逻辑可以允许系统继续根据常规算法来确定请求的优先级(在606)。
如果系统处于DRAM抑制模式(DTM),则所述逻辑确定针对两个或更多个核心中的每一个核心的LLC命中率的指示是否可用。在一些实施例中,由LLC未命中率监视器(例如,图2中所示的LLC未命中率监视器216)提供LLC命中率的指示。如果LLC命中率信息是可用的,则所述逻辑使用例如如图3所示的算法来计算LLC仲裁权重(608)。如果LLC命中率信息不可用,则如610所示,所述逻辑可以基于LLC请求队列占用率来计算LLC仲裁权重。
参照处理框612,所述逻辑针对所述两个或更多个核心中的每一个确定存储器带宽使用率信息是否是可用的。如果是可用的,则所述逻辑根据类似于图4所示的算法(至少部分地)基于所述信息来确定请求的优先级标签并且仲裁对开关的访问(614)。否则,所述逻辑可以按照类似于LLC仲裁分配的方式来确定优先级标签并且仲裁对开关的访问(616)。
参照处理框618,所述逻辑将优先级标签分配给产生了LLC未命中的请求。然后,将请求发送给存储器控制器(例如,图2中所示的存储器控制器120)。
图7是说明了根据本发明的一个实施例的、用于当在DTM中工作时向DRAM发出请求的算法的所选择的方面的流程图。参照处理框702,逻辑(例如,图2中所示的DRAM抑制逻辑226)确定系统是否处于DTM中。例如,所述逻辑可以从温度传感器(例如,图2中所示的传感器124)接收指示DRAM设备温度已超过阈值的信息。作为响应,所述逻辑可以启动DTM。如果系统不处于DTM中,则所述逻辑可以允许实现常规的调度策略(在706)。
如果系统处于DTM中,则其可以开始一系列重复的“开/关”周期的“开”状态。例如,所述逻辑可以打开DRAM电源,等待特定的上电延迟,然后开始循环(例如,708-718),该循环可以被重复N次,以选择N个请求发送到DRAM。
参照处理框708,所述逻辑可以在708处确定DRAM带宽启发式规则是否可用(例如,如图5中所示的一个算法)。如果DRAM启发式规则是可用的,则所述逻辑可以基于由启发式规则确定的调度优先级来应用加权的轮询仲裁方案(710)。如果启发式规则是不可用的,则所述逻辑在714处确定请求是否具有优先级标签。如果请求具有优先级标签,则所述逻辑至少部分地基于所述优先级标签来选择请求以发送到DRAM(716)。如果请求不具有优先级标签,则所述逻辑可以使用例如随机选择策略来选择请求(712)。
参照处理框718,在DTM的“开”周期期间,所述逻辑实现循环(如上所述)以选择并发出N个请求。在N个请求被发送到DRAM之后,所述逻辑可以转换到“关”周期。例如,所述逻辑可以关闭DRAM电源,等待指定的延迟时段,然后启动M个时钟周期的“关”计数器(720)。在M个周期的结束处,过程可以返回到框702,如框722所示。
还可以将本发明的实施例的元件提供为用于存储机器可执行指令的机器可读介质。机器可读介质可以包括但并不限于:闪速存储器、光盘、光盘只读存储器(CD-ROM)、数字通用/视频盘(DVD)ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、传播介质或其它类型的适合于存储电子指令的机器可读介质。例如,本发明的实施例可以作为计算机程序而被下载,可以经由通信链路(例如,调制解调器或网络连接),以体现在载波或其它传播介质中的数据信号的方式,将所述计算机程序从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。
在上述说明中,使用了某些术语来描述本发明的实施例。例如,术语“逻辑”代表硬件、固件、软件(或它们的任意组合),用于执行一个或多个功能。例如,“硬件”的例子包括但并不限于:集成电路、有限状态机、甚至是组合逻辑。集成电路的形式可以是:诸如微处理器这样的处理器、专用集成电路、数字信号处理器或微控制器等。
应当意识到,贯穿该说明书提及的“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,应当强调并且应当意识到,在该说明书的各个部分中对“实施例”、“一个实施例”或“替代性实施例”的两次或更多次提及并不必然都是指同一实施例。此外,可以在本发明的一个或更多个实施例中按照合适地方式组合特定的特征、结构或特性。
类似地,应当意识到,在对本发明的实施例的上述描述中,为了简化有助于理解各个创造性方面中的一个或多个方面的公开,有时在单个实施例、附图或对它们的描述中,将各种特征组合在一起。但是,这种公开方法不应当被解释为反映了如下的意义:即所声明的主题需要比在每个权利要求中明确记载的特征更多的特征。相反,如以下权利要求所反映的,创造性方面体现在比单个上述公开的实施例的所有特征更少的特征中。因而,特此将详细说明之后的权利要求明确地并入到该详细的说明中。
Claims (27)
1.一种多核计算系统,包括:
两个或更多个处理器核心,每个处理器核心与队列占用率监视器相关联,所述队列占用率监视器用于监视每个处理器核心的末级高速缓存流水线请求占用率值;以及
与所述两个或更多个处理器核心耦合的资源共享逻辑部件,所述资源共享逻辑部件用于确定选择的处理器核心,所述选择的处理器核心至少部分地基于与所述选择的处理器核心相对应的末级高速缓存流水线请求占用率值来访问至少一个资源。
2.根据权利要求1所述的系统,其中,所述资源共享逻辑部件包括输入端,用于接收存储器控制器处于动态随机存取存储器DRAM抑制模式的指示,其中,所述存储器控制器控制对主系统存储器的请求,并且
其中,如果所述存储器控制器处于DRAM抑制模式,则所述选择的处理器核心将访问所述至少一个资源。
3.根据权利要求2所述的系统,其中,所述至少一个资源是共享的末级高速缓存。
4.根据权利要求2所述的系统,其中,所述资源共享逻辑部件包括:
第二监视器,用于针对所述两个或更多个处理器核心中的每一个监视每个核心的末级高速缓存命中率;以及
抑制优先级选择逻辑部件,用于改变对到所述末级高速缓存的访问的仲裁的优先级。
5.根据权利要求4所述的系统,其中,所述资源共享逻辑部件还包括交换逻辑部件,用于将产生末级高速缓存未命中的请求转发到存储器控制器,并且
其中,所述抑制优先级选择逻辑部件用于仲裁对所述存储器控制器的访问。
6.根据权利要求5所述的系统,其中,所述至少一个资源是主系统存储器。
7.根据权利要求6所述的系统,还包括:
所述存储器控制器,用于控制对主系统存储器的访问,所述存储器控制器包括DRAM抑制逻辑部件,用于确定所述系统是否处于DRAM抑制模式中并且如果所述系统处于DRAM抑制模式中,则向所述资源共享逻辑部件提供指示。
8.根据权利要求7所述的系统,其中,所述存储器控制器还包括:
与所述DRAM抑制逻辑部件耦合的DRAM带宽监视器,所述DRAM带宽监视器用于针对所述两个或更多个处理器核心中的每一个确定DRAM带宽使用率值,以指示对应的处理器核心的DRAM带宽使用的程度。
9.根据权利要求7所述的系统,其中,所述两个或更多个处理器核心、所述资源共享逻辑部件和所述存储器控制器位于同一集成电路上。
10.根据权利要求7所述的系统,其中,所述两个或更多个处理器核心以及所述资源共享逻辑部件位于第一集成电路上,并且所述存储器控制器位于第二集成电路上。
11.一种用于控制对系统中的共享资源的访问的方法,所述方法包括:
在资源共享逻辑部件处,接收所述系统处于动态随机存取存储器DRAM抑制模式中的指示;
针对与所述资源共享逻辑部件耦合的两个或更多个处理器核心中的每一个计算末级高速缓存仲裁权重,其中,所述两个或更多个处理器核心中的每一个的所述末级高速缓存仲裁权重至少部分地基于在预定时间间隔期间的末级高速缓存请求队列占用率和该核心的末级高速缓存命中率;以及
使得所述两个或更多个处理器核心中的所选择的一个核心能够至少部分地基于所述末级高速缓存仲裁权重来访问末级高速缓存。
12.根据权利要求11所述的方法,还包括:
针对所述两个或更多个处理器核心中的每一个计算末级高速缓存命中率;以及
用优先级标签来标记多个存储器请求中的每一个,其中,针对每一个请求的所述优先级标签至少部分地基于末级高速缓存命中率以及与发出所述请求的核心相关联的存储器带宽使用率。
13.根据权利要求12所述的方法,还包括:
针对所述两个或更多个处理器核心中的每一个确定平均存储器带宽值;以及
至少部分地基于与请求相关联的优先级标签以及与发出所述请求的处理器核心相关联的平均存储器带宽值,选择请求以发送到系统存储器。
14.根据权利要求13所述的方法,其中,用硬件来实现所述方法。
15.一种多核计算系统,包括:
集成电路,其包括:
两个或更多个处理器核心,每个处理器核心与队列占用率监视器相关联,所述队列占用率监视器用于监视每个处理器核心的末级高速缓存占用率值;以及
与所述两个或更多个处理器核心耦合的资源共享逻辑部件,所述资源共享逻辑部件用于确定选择的处理器核心,所述选择的处理器核心至少部分地基于与所述选择的处理器核心相对应的末级高速缓存占用率值和针对所述核心的末级高速缓存命中率来访问至少一个资源;以及
与所述集成电路耦合的至少一个动态随机存取存储器设备,用于向所述集成电路提供主系统存储器。
16.根据权利要求15所述的系统,其中,所述资源共享逻辑部件包括输入端,用于接收存储器控制器处于动态随机存取存储器DRAM抑制模式中的指示,其中,所述存储器控制器控制对主系统存储器的请求,并且
其中,如果所述存储器控制器处于DRAM抑制模式中,则所述选择的处理器核心将访问所述至少一个资源。
17.根据权利要求16所述的系统,其中,所述至少一个资源是共享的末级高速缓存。
18.根据权利要求16所述的系统,其中,所述资源共享逻辑部件包括:
第二监视器,用于针对所述两个或更多个处理器核心中的每一个监视每个核心的末级高速缓存命中率;以及
抑制优先级选择逻辑部件,用于仲裁对所述末级高速缓存的访问。
19.根据权利要求18所述的系统,其中,所述资源共享逻辑部件还包括交换逻辑部件,用于将产生末级高速缓存未命中的请求转发到存储器控制器,并且
其中,所述抑制优先级选择逻辑部件用于仲裁对所述存储器控制器的访问。
20.根据权利要求19所述的系统,其中,所述至少一个资源是主系统存储器。
21.根据权利要求20所述的系统,还包括:
所述存储器控制器,用于控制对主系统存储器的访问,所述存储器控制器包括DRAM抑制逻辑部件,用于确定所述系统是否处于DRAM抑制模式中并且如果所述系统处于DRAM抑制模式中,则向所述资源共享逻辑部件提供指示。
22.根据权利要求21所述的系统,其中,所述存储器控制器还包括:
与所述DRAM抑制逻辑部件耦合的DRAM带宽监视器,所述DRAM带宽监视器用于针对所述两个或更多个处理器核心中的每一个确定DRAM带宽使用率值,以指示对应的处理器核心的DRAM带宽使用的程度。
23.根据权利要求21所述的系统,其中,所述两个或更多个处理器核心、所述资源共享逻辑部件和所述存储器控制器位于同一集成电路上。
24.根据权利要求21所述的系统,其中,所述两个或更多个处理器核心以及所述资源共享逻辑部件位于作为第一集成电路的所述集成电路上,并且所述存储器控制器位于第二集成电路上。
25.一种用于控制对系统中的共享资源的访问的方法,包括:
接收热量事件的指示;
响应于接收到所述热量事件的指示,测量两个或更多个核心中的每一个的共享资源使用率;以及
至少部分地基于所述两个或更多个核心的共享资源使用率来动态地重新安排对共享资源的分配的核心优先级,以使得对于到共享资源的访问来说,具有较高的高速缓存使用率和较低的动态随机存取存储器DRAM带宽使用率的核心的优先级高于具有较高的DRAM带宽使用率的核心,
其中,测量两个或更多个核心中的每一个的共享资源使用率包括:测量末级高速缓存流水线请求占用率值。
26.根据权利要求25所述的方法,其中,测量两个或更多个核心中的每一个的共享资源使用率还包括以下各项中的至少一项:
测量每个核心的末级高速缓存命中率;以及
测量动态随机存取存储器DRAM带宽使用率值。
27.根据权利要求25所述的方法,其中,所述共享资源是DRAM。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/055,417 US8209493B2 (en) | 2008-03-26 | 2008-03-26 | Systems and methods for scheduling memory requests during memory throttling |
US12/055,417 | 2008-03-26 | ||
PCT/US2009/037931 WO2009120620A2 (en) | 2008-03-26 | 2009-03-23 | Multi-core memory thermal throttling algorithms for improving power/performance tradeoffs |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101960418A CN101960418A (zh) | 2011-01-26 |
CN101960418B true CN101960418B (zh) | 2013-04-24 |
Family
ID=41114613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801066018A Expired - Fee Related CN101960418B (zh) | 2008-03-26 | 2009-03-23 | 多核计算系统和用于控制对共享资源的访问的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8209493B2 (zh) |
KR (1) | KR101196951B1 (zh) |
CN (1) | CN101960418B (zh) |
WO (1) | WO2009120620A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12026373B2 (en) | 2022-01-19 | 2024-07-02 | Acer Incorporated | System and method to control temperature in a memory device |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635625B2 (en) * | 2008-04-04 | 2014-01-21 | International Business Machines Corporation | Power-aware workload allocation in performance-managed computing environments |
US8301742B2 (en) * | 2008-04-07 | 2012-10-30 | International Business Machines Corporation | Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments |
US8769201B2 (en) * | 2008-12-02 | 2014-07-01 | Intel Corporation | Technique for controlling computing resources |
JP5541355B2 (ja) * | 2010-03-18 | 2014-07-09 | 富士通株式会社 | マルチコアプロセッサシステム、調停回路制御方法、制御方法、および調停回路制御プログラム |
US8819687B2 (en) | 2010-05-07 | 2014-08-26 | Advanced Micro Devices, Inc. | Scheduling for multiple memory controllers |
US8667493B2 (en) * | 2010-05-07 | 2014-03-04 | Advanced Micro Devices, Inc. | Memory-controller-parallelism-aware scheduling for multiple memory controllers |
US8635409B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Dynamic mode transitions for cache instructions |
US8639887B2 (en) * | 2010-06-23 | 2014-01-28 | International Business Machines Corporation | Dynamically altering a pipeline controller mode based on resource availability |
US8407411B2 (en) * | 2010-06-28 | 2013-03-26 | Wuxi Vimicro Corporation | Operation frequency adjusting system and method |
US8850131B2 (en) | 2010-08-24 | 2014-09-30 | Advanced Micro Devices, Inc. | Memory request scheduling based on thread criticality |
US9490003B2 (en) * | 2011-03-31 | 2016-11-08 | Intel Corporation | Induced thermal gradients |
US9658678B2 (en) | 2011-03-31 | 2017-05-23 | Intel Corporation | Induced thermal gradients |
TWI550408B (zh) * | 2011-04-22 | 2016-09-21 | 晨星半導體股份有限公司 | 多核心電子系統及其速率調節裝置 |
US20120304186A1 (en) * | 2011-05-26 | 2012-11-29 | International Business Machines Corporation | Scheduling Mapreduce Jobs in the Presence of Priority Classes |
US8463960B2 (en) * | 2011-08-08 | 2013-06-11 | Arm Limited | Synchronisation of data processing systems |
US8661163B2 (en) * | 2011-08-22 | 2014-02-25 | Apple Inc. | Tag allocation for queued commands across multiple devices |
US9323678B2 (en) * | 2011-12-30 | 2016-04-26 | Intel Corporation | Identifying and prioritizing critical instructions within processor circuitry |
US9201804B1 (en) | 2012-02-06 | 2015-12-01 | Google Inc. | Dynamically adapting the configuration of a multi-queue cache based on access patterns |
US9373182B2 (en) * | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
US9684633B2 (en) | 2013-01-24 | 2017-06-20 | Samsung Electronics Co., Ltd. | Adaptive service controller, system on chip and method of controlling the same |
US10402232B2 (en) * | 2013-02-11 | 2019-09-03 | Wind River Systems, Inc. | Method and system for deterministic multicore execution |
WO2014143067A1 (en) | 2013-03-15 | 2014-09-18 | Intel Corporation | Work stealing in heterogeneous computing systems |
CN104572493A (zh) * | 2013-10-23 | 2015-04-29 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
KR20150050135A (ko) | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
US10289547B2 (en) | 2014-02-14 | 2019-05-14 | Western Digital Technologies, Inc. | Method and apparatus for a network connected storage system |
US10587689B2 (en) * | 2014-02-14 | 2020-03-10 | Western Digital Technologies, Inc. | Data storage device with embedded software |
WO2016042353A1 (en) | 2014-09-18 | 2016-03-24 | Via Alliance Semiconductor Co., Ltd. | Cache management request fusing |
US9645935B2 (en) | 2015-01-13 | 2017-05-09 | International Business Machines Corporation | Intelligent bandwidth shifting mechanism |
JP6197817B2 (ja) * | 2015-03-27 | 2017-09-20 | 日本電気株式会社 | 中継装置、中継方法及び中継システム |
US10169235B2 (en) | 2015-12-15 | 2019-01-01 | Apple Inc. | Methods of overriding a resource retry |
US10146681B2 (en) | 2015-12-24 | 2018-12-04 | Intel Corporation | Non-uniform memory access latency adaptations to achieve bandwidth quality of service |
US10049714B1 (en) * | 2017-07-19 | 2018-08-14 | Nanya Technology Corporation | DRAM and method for managing power thereof |
US10810141B2 (en) * | 2017-09-29 | 2020-10-20 | Intel Corporation | Memory control management of a processor |
US20190303281A1 (en) * | 2018-03-30 | 2019-10-03 | Amin Firoozshahian | Survivability guarantees for memory traffic |
CN110795202B (zh) * | 2018-08-02 | 2023-11-17 | 华为技术有限公司 | 一种虚拟化集群资源管理系统的资源分配方法以及装置 |
US10901893B2 (en) * | 2018-09-28 | 2021-01-26 | International Business Machines Corporation | Memory bandwidth management for performance-sensitive IaaS |
US10929062B2 (en) | 2018-11-07 | 2021-02-23 | International Business Machines Corporation | Gradually throttling memory due to dynamic thermal conditions |
US20230137769A1 (en) * | 2021-11-03 | 2023-05-04 | Intel Corporation | Software thread-based dynamic memory bandwidth allocation |
US11941250B2 (en) * | 2022-05-06 | 2024-03-26 | Hewlett Packard Enterprise Development Lp | Optimizing application execution based on memory-level parallelism (MLP)-based metrics |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529842A (zh) * | 2001-03-30 | 2004-09-15 | 英特尔公司 | 使散热优化的方法和装置 |
CN1608249A (zh) * | 2001-10-22 | 2005-04-20 | 太阳微系统有限公司 | 多核心多线程处理器 |
US7191088B1 (en) * | 2004-10-25 | 2007-03-13 | Nvidia Corporation | Method and system for memory temperature detection and thermal load management |
US7318130B2 (en) * | 2004-06-29 | 2008-01-08 | Intel Corporation | System and method for thermal throttling of memory modules |
US20080043556A1 (en) * | 2006-08-01 | 2008-02-21 | Nale William H | Dynamic power control of a memory device thermal sensor |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5434678A (en) * | 1993-01-11 | 1995-07-18 | Abecassis; Max | Seamless transmission of non-sequential video segments |
US20040006638A1 (en) | 2002-07-08 | 2004-01-08 | Lewis Oberlander | Method and apparatus for communication control using adaptive throttling |
US7392311B2 (en) | 2003-06-19 | 2008-06-24 | International Business Machines Corporation | System and method for throttling events in an information technology system |
US7581064B1 (en) * | 2006-04-24 | 2009-08-25 | Vmware, Inc. | Utilizing cache information to manage memory access and cache utilization |
US7739461B2 (en) * | 2007-07-10 | 2010-06-15 | International Business Machines Corporation | DRAM power management in a memory controller |
US8302098B2 (en) * | 2007-12-06 | 2012-10-30 | Oracle America, Inc. | Hardware utilization-aware thread management in multithreaded computer systems |
-
2008
- 2008-03-26 US US12/055,417 patent/US8209493B2/en not_active Expired - Fee Related
-
2009
- 2009-03-23 CN CN2009801066018A patent/CN101960418B/zh not_active Expired - Fee Related
- 2009-03-23 KR KR1020107021344A patent/KR101196951B1/ko active IP Right Grant
- 2009-03-23 WO PCT/US2009/037931 patent/WO2009120620A2/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529842A (zh) * | 2001-03-30 | 2004-09-15 | 英特尔公司 | 使散热优化的方法和装置 |
CN1608249A (zh) * | 2001-10-22 | 2005-04-20 | 太阳微系统有限公司 | 多核心多线程处理器 |
US7318130B2 (en) * | 2004-06-29 | 2008-01-08 | Intel Corporation | System and method for thermal throttling of memory modules |
US7191088B1 (en) * | 2004-10-25 | 2007-03-13 | Nvidia Corporation | Method and system for memory temperature detection and thermal load management |
US20080043556A1 (en) * | 2006-08-01 | 2008-02-21 | Nale William H | Dynamic power control of a memory device thermal sensor |
Non-Patent Citations (2)
Title |
---|
A Performance Comparison of DRAM Memory System Optimizations for SMT Processors;Zhu et al.;《Proceedings of the 11th Int"l Symposium on High-Performance Computer Architecture(HPCA-11 2005)》;20051231;全文 * |
Zhu et al..A Performance Comparison of DRAM Memory System Optimizations for SMT Processors.《Proceedings of the 11th Int"l Symposium on High-Performance Computer Architecture(HPCA-11 2005)》.2005, |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12026373B2 (en) | 2022-01-19 | 2024-07-02 | Acer Incorporated | System and method to control temperature in a memory device |
Also Published As
Publication number | Publication date |
---|---|
WO2009120620A3 (en) | 2009-12-23 |
KR20100113175A (ko) | 2010-10-20 |
CN101960418A (zh) | 2011-01-26 |
WO2009120620A2 (en) | 2009-10-01 |
US8209493B2 (en) | 2012-06-26 |
US20090248976A1 (en) | 2009-10-01 |
KR101196951B1 (ko) | 2012-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960418B (zh) | 多核计算系统和用于控制对共享资源的访问的方法 | |
US8407432B2 (en) | Cache coherency sequencing implementation and adaptive LLC access priority control for CMP | |
US7596647B1 (en) | Urgency based arbiter | |
KR20180092277A (ko) | 데이터 처리 | |
US7624221B1 (en) | Control device for data stream optimizations in a link interface | |
US8549199B2 (en) | Data processing apparatus and a method for setting priority levels for transactions | |
KR101461449B1 (ko) | 액세스 레이턴시를 감소시키기 위한 버스 중재 기술들 | |
CN105320608B (zh) | 用于控制存储器设备处理访问请求的存储器控制器和方法 | |
US7386681B2 (en) | Reducing number of rejected snoop requests by extending time to respond to snoop request | |
US9411774B2 (en) | Memory access control | |
JP6058303B2 (ja) | 異なる複数の優先度レベルのトランザクション要求をサポートする集積回路および方法 | |
CN106372007B (zh) | 缓存使用率估计 | |
CN103164266B (zh) | 用于发起设备向接收设备发送的事务请求的动态资源分配 | |
US8213461B2 (en) | Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units | |
CN101089832A (zh) | 统一存储器系统 | |
US9495312B2 (en) | Determining command rate based on dropped commands | |
CN100356355C (zh) | 仲裁器和仲裁方法 | |
JP5932261B2 (ja) | メモリ制御装置、メモリ制御方法 | |
US8935489B2 (en) | Adaptively time-multiplexing memory references from multiple processor cores | |
EP4022446B1 (en) | Memory sharing | |
JP2000250853A (ja) | バス調整制御装置 | |
Chen et al. | Round-trip DRAM access fairness in 3D NoC-based many-core systems | |
KR101167245B1 (ko) | 실시간으로 변경되는 중재 파라미터를 이용한 버스 중재 장치 및 중재 방법 | |
EP4070201A1 (en) | Transfer of cachelines in a processing system based on transfer costs | |
US11068425B2 (en) | Semiconductor device and bus generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 Termination date: 20210323 |