CN101901166B - 控制计算资源的技术 - Google Patents

控制计算资源的技术 Download PDF

Info

Publication number
CN101901166B
CN101901166B CN200910246179.8A CN200910246179A CN101901166B CN 101901166 B CN101901166 B CN 101901166B CN 200910246179 A CN200910246179 A CN 200910246179A CN 101901166 B CN101901166 B CN 101901166B
Authority
CN
China
Prior art keywords
throttle
test
thread
performance
parts
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
Application number
CN200910246179.8A
Other languages
English (en)
Other versions
CN101901166A (zh
Inventor
W·哈森普劳伽
J·艾默尔
T·福瑟姆
A·雅尔埃尔
S·斯特利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101901166A publication Critical patent/CN101901166A/zh
Application granted granted Critical
Publication of CN101901166B publication Critical patent/CN101901166B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)

Abstract

本发明是一种能够在计算机系统中优化资源分配的技术。在一个实施方式中,用梯度分割算法(GPA)模块持续性地测定性能并调整共享资源在多个数据类间的分配,以便达到最优性能。

Description

控制计算资源的技术
技术领域
本发明的实施方式一般涉及信息处理领域,更具体地涉及在计算系统和微处理器中分配资源的领域。
背景技术
在计算机系统或者处理器中分配资源可能是困难的。例如,在某些计算机系统中,如果资源诸如高速缓存空间、存储器、执行资源等以“静态”方式(即,不响应资源需求的变化而改变)分配,则计算机系统或处理器会对某些进程或线程服务不足而对其它进程或线程过度服务。然而,甚至于在某些现有技术的“动态”资源分配方案中(即那些试图对其所服务的线程、进程等的需求的变化做出响应的),以与动态资源分配相关联的开销得到由这种分配所产生的性能利益可能并不值得。因此,改善的资源分配机制应既能提高处理器或计算系统性能又不引致可能使分配方案的利益被抹杀的开销。
发明内容
在一个实施例中,诸多新颖的技术允许在计算机系统中的资源分配优化,使用梯度分割算法GPA模块来持续地测试性能并调节多个数据类中对共享资源的分配,以获取优化性能。所述梯度分割算法GPA模块持续地控制至少一个处理资源向至少一个指令线程的分配,其中所述GPA模块持续地对所述处理资源执行测试,所述处理资源被逻辑地分割成两个部分,所述两个部分各自划分成对应于不同线程的块,每个分区中的块响应于每个线程变化着的需求通过使用油门进行控制,其中这两个逻辑部分中的有效油门在每一个部分中分别递增或递减+Δ和-Δ,并比较其性能结果以确定动态油门设置,所述动态油门设置最佳地满足所述至少一个指令线程的处理需求。
一种用于控制计算资源的系统,包括:处理器核;高速缓存,耦合于所述处理器核,所述高速缓存被逻辑地分割成两个部分,所述两个部分各自划分成对应于不同线程的块;梯度分割算法GPA模块,用于持续地对所述高速缓存执行测试,每个分区中的块响应于每个线程变化着的需求通过使用油门进行控制,其中所述高速缓存的两个逻辑部分中的有效油门在每一个部分中分别递增或递减+Δ和-Δ,并比较其性能结果以确定动态油门设置,所述动态油门设置最佳地满足多个指令访问所述高速缓存的处理需求。
一种用于控制计算资源的方法,包括:将高速缓存逻辑地分割成至少两个部分,在其中执行资源分配测试;将所述至少两个部分中的每一个分割成对应于多个数据类的多个块,每个分区中的块响应于对应于特定数据类的线程变化着的需求通过使用油门进行控制;持续性地对所述至少两个部分中的每一个执行所述测试并比较其性能结果,其中所述测试对所述至少两个部分之一是以第一油门设置执行的,而所述测试对所述至少两个部分之二是以第二油门设置执行的,并且其中所述第一油门设置和所述第二油门设置对应于在每一个部分中分别递增或递减+Δ和-Δ的有效油门;响应于性能结果的比较,调整所述多个块中至少之一的大小。
附图说明
本发明的实施例在各附图的插图中是作为示例而非作为限制而示出的,在附图中相同的附图标记指代相同的元件,其中:
图1是微处理器的方块图,本发明的至少一个实施方式可在其中使用;
图2是共享总线计算机系统的方块图,本发明的至少一个实施方式可在其中使用;
图3是点对点互连计算机系统的方块图,本发明的至少一个实施方式可在其中使用;
图4是逻辑的方块图,本发明的至少一个实施方式可在其中实现;
图5是可以用来执行本发明的至少一个实施方式的操作的流程图。
具体实施方式
本发明的实施方式涉及改善总体系统或处理性能而不引致会抹杀本文中描述的资源分配技术的利益的开销的动态资源分配技术。在一些实施方式中,动态资源分配方案可以应用于多种不同的处理资源如在线程间的高速缓存分配、存储器资源、和执行资源。为了说明的目的,以下描述将主要集中于将依照本发明的至少一个实施方式的资源分配技术应用于由两个或更多个线程共享的高速缓存资源的示例。然而,这里描述的实施方式也可以应用于除在此特别讨论的那些以外的其它计算资源以及其它数目的线程。
在一个实施方式中,用基于梯度的分割算法(GPA)在多个线程间分配高速缓存空间。在一个实施方式中,GPA使用状态机、每个数据类(例如流数据、重用数据等)三个寄存器、以及四个不依赖于数据类的全局寄存器。在一个实施方式中,GPA使用梯度下降(或称“爬山”)算法的变型寻找共享资源的最优分配,在该变型中,对于每一个数据类进行实验,将所议资源先是递增然后递减地给予该数据类。GPA然后测定这两种情景下的“全局良好性”度量,并根据该实验给所议数据类分配该资源的额定配给量。在一个实施方式中,GPA用切尔诺夫界(Chernoff bounds)来判定何时调整资源的分割,但在其它实施方式中,可以使用其它算法来确定何时调整资源的分割。此外,在一个实施方式中,可以通过将实验进程分割成跨处理循环来并发地针对每个数据类进行上述实验(例如,对于带宽或功率管理而言是时间复用,而对于高速缓存或预取管理而言是存储空间分割)。
在一些实施方式中,将GPA应用于共享资源的多处理器系统或多核处理器可以实现比现有技术系统更高的性能和较低的功耗,部分是由于事实上一些实施方式在持续性基础上主动地优化资源管理。因此,这些实施方式可以使电池寿命延长、每个刀片处理器(blade)有更高的性能、高密度云计算等。
例如,在一些计算环境中,比如那些使用服务器处理器的系统中,有些数据被重用(例如分组报头、路由表、指令数据、操作系统状态、其它像统计数据等元数据,等等),而有些数据被流化(例如分组主体信息)。使用不是依照有些实施方式管理的高速缓存会使重用数据无用,因为所有的重用数据会在其有机会被重用之前被流数据逐出。在一个实施方式中,GPA可以动态地确定哪些数据要保留在高速缓存中而哪些数据要进行流化,甚至在某个应用中可以确定哪些数据是以不具备因知晓体系结构而实现的优化的情况下所写的,这在诸如虚拟机场(farm)等应用中很有用,其中的应用既不知处理体系结构也不知在同一机器运行的其它应用。
图1示出一种微处理器,本发明的至少一个实施方式可在其中使用。特别地,图1示出微处理器100具有一个或更多个处理器核105和110,各自分别具有与其相关联的本地高速缓存107和113。在图1中还示出共享高速缓存存储器115,其可以存储在本地高速缓存107和113各自中存储的信息的至少一些信息的各版本。在一些实施方式中,微处理器100还可包含其它未在图1中示出的逻辑,比如集成式存储器控制器、集成式图形控制器、以及在计算机系统中执行其它功能的其它逻辑如I/O控件。在一个实施方式中,多处理器系统中的每个微处理器或者多核处理器中的每个处理器核可以包含或者以其它方式与逻辑119相关联以依照至少一个实施方式启用计算资源分配技术。逻辑可以包含电路、软件(实施在有形介质中)、或二者兼而有之,以启用比某些现有技术实现在多个核或处理器间更高效的资源分配。
例如,图2示出一种前侧总线(FSB)计算机系统,本发明的一个实施方式可以在其中使用。任意处理器201、205、210、或215可以从处理器核223、227、233、237、243、247、253、257中之一内的或者以其它方式与之相关联的任意本地第1级(L1)高速缓存存储器220、225、230、235、240、245、250、255访问信息。此外,任意处理器201、205、210、或215可以从共享的第2级(L2)高速缓存203、207、213、217中的任何一个或经由芯片组265从系统存储器260访问信息。图2中的处理器中的一个或更多个可以包含或者以其它方式关联于逻辑219以依照至少一个实施方式启用资源分配技术。
除图2所示FSB计算机系统之外,其它系统配置可以结合本发明的各种实施方式使用,包括点对点(P2P)互连系统和环互连系统。例如,图3中的P2P系统可包含若干个处理器,其中只示例性地画出了两个处理器370、380。处理器370、380可各自包括本地存储器控制器集线器(MCH)372、382以与存储器32、34连接。处理器370、380可以使用PtP接口电路378、388经由点对点(PtP)接口350交换数据。处理器370、380可各自使用点对点接口电路376、394、386、398经由各PtP接口352、354与芯片组390交换数据。芯片组390还可经由高性能图形接口339与高性能图形电路338交换数据。本发明的实施方式可以置于具有任意数目的处理核的任意处理器中,或置于图3所示各PtP总线代理中的每一个中。在一个实施方式中,任意处理器核可包括或者以其它方式关联于本地高速缓存存储器(未示出)中。此外,可以在这两个处理器外部但经由p2p互连与各存储器连接的的任一处理器中包含共享高速缓存(未示出),从而如果有处理器被置于低功率模式,则任一个或这两个处理器的本地高速缓存信息可以存储在该共享的高速缓存中。图3中的处理器或核中的一个或更多个可以包含或者以其它方式关联于逻辑319以依照至少一个实施方式启用资源分配技术。
图4a是依照本发明的至少一个实施方式进行资源管理的高速缓存的概念化图。在一个实施方式中,高速缓存400a逻辑分割成两个部分401a和405a,其各自划分成三个块410a-412a,对应于三个不同的线程。在一个实施方式中,每个分区中的这三个块响应于对应于特定数据类的每个线程变化着的需求通过使用油门(“T”:throttle)进行控制。在一个实施方式中,油门代表数据类得到对共享资源最高优先级访问权的时间分数。在一个实施方式中,相对于低优先级访问而言更偏向于高优先级访问的资源分配可以确保在给定油门组的情况下实现共享资源的最优分配。在一个实施方式中,油门420a和425a对应于高速缓存的这两个逻辑部分中的有效油门(例如,组),并且在每一个部分中分别递增或递减+Δ和-Δ,从而使初始油门(T0)+Δ的资源分配会比T0–Δ高。在图4a中,我们说明了给定针对三个线程的油门组(T0,T1,T2)时的高速缓存容量。
在图4b中,说明的是依照一个实施方式的资源分配测试。在一个实施方式中,图4b示出对高速缓存400a的两个部分401a和405a的两个性能测定,其中第一分区401a的针对存储在块411a中的数据类的油门(此例中是T1)在朝第一方向(在本例中是正向)移动,而第二分区405a的针对存储在块411a中的数据类的油门(T1)在朝第二方向(在本例中是负向)移动。所得性能度量随后根据各种性能测定技术(包括使用性能计数器)来确定(其结果示于图4b)。这些资源分配测试可以持续地进行,适应程序、线程迁移/对换中的相变等,以便持续地优化油门,因此优化分配给特定的一个或多个数据类的高速缓存容量的大小。在一个实施方式中,存储在高速缓存400a中的每一个数据类410a–412a对应于例如多线程程序中的不同线程。
图4c是可以根据至少一个实施方式使用的逻辑。图4c中的逻辑400c示出处理核401c、将该核接口到互连(例如环互连)和高速缓存410c的接口逻辑405c,高速缓存410c可以是相容的最后一级高速缓存L2高速缓存等。在一个实施方式中,在持续性基础上用GPA模块415c对高速缓存410c执行上述的资源分配测试并根据测试结果向数据类(以及相对应的线程)分配高速缓存容量。在一个实施方式中,接口逻辑405c可以不存在或者可以包括在该核或其它逻辑中。
在一个实施方式中,对高速缓存的每一个测试的结果被送至GPA模块,该模块确定如何调整高速缓存分配以优化全局度量,比如高速缓存未命中率。除此之外,每次高速缓存即将在高速缓存中为特定数据类分配额外的高速缓存块大小时,其可以向GPA模块请求建议(在信号“建议”上),后者用优先级答复(在信号“优先级”上)。例如,GPA模块所作的‘高优先级’指示会使块大小得到增大,而来自GPA模块的‘低优先级“指示会使高速缓存不增大块大小、或者将块的大小增大较少的程度、或者将替换位置位,从而使块或其一部分成为接下来要被替换的。
为了指示并维护适当的资源分配信息,GPA模块可以包含针对每个数据类的状态位以及贯越各数据类的全局位。例如,对于每一个数据类,GPA模块存储共计38个状态位,包括:
18个位--对应于第一性能计数器(“referencecounter”)(“基准计数器”)
12个位--对应于第二性能计数器
(“randomWalkCounter”)(“随机游动计数器”)
8个位--对应于油门控制。
除此之外,可以用4个全局寄存器(共计24个位)将优化算法参数化,包括:
4个位--对应于分配给每一个数据类的不同高速缓存区
(”numGradientRegionsLog”)(梯度区数目记录)
8个位--对应于第一油门Δ
(”gradientDelta”)(“梯度Δ”)
8个位--对应于第二油门Δ
(”updateDelta”)(“更新Δ”)
4个位--对应于GPA模块对潜在性能增益
randomWalkThresholdMultiplier(随机游动阈值乘数)作出响应之灵敏度
在一个实施方式中,GPA模块使用这些位用梯度下降(或称“爬山”)算法的变型寻找共享资源的最优分配,其中对于每一个数据类进行实验,将所议资源先是递增然后递减地给予该数据类。GPA然后使用这些位测定这两种情景下的“全局良好性”度量,并根据实验给所议数据类分配额定配给量。在一个实施方式中,GPA用切尔诺夫界来判定何时调整资源的分割,但在其它实施方式中,可以使用其它算法来确定何时调整资源的分割。
在使用上述GPA模块位实现状态机的一种实施方式中,状态转移可以根据以下代码示例来描述:
图5是可以结合本发明的至少一个实施方式使用的操作的流程图,不管该实施方式是在什么处理器或系统配置中使用。在操作501,将高速缓存分割成至少两部分,在其中根据一个实施方式执行资源分配实验。在操作505,每个部分被分割成与正针对其进行优化的特定数据类(例如流数据和重用数据)对应的块。在一个实施方式中,每一个高速缓存分区中的每一个数据类分区对应于不同的线程。在操作510,对每一个高速缓存分区根据上述的实施方式执行资源分配测试。在操作515,在程序执行中的各个点,高速缓存向GPA模块传递信息,GPA模块持续地对性能进行测量并向高速缓存提供优化参数以改善性能。
至少一个实施方式的一个或更多个方面可以用存储在表示处理器内各种逻辑的机器可读介质上的代表性数据来实现,其中的数据被机器读取时促使机器编制逻辑来执行在此描述的技术。此类表示即所谓“IP核”可以存储在有形的机器可读介质(“磁带”)上并提供给各种顾客或制造商,以加载到实际制作该逻辑或处理器的编制机器中去。
因而,现已描述了用于指引微体系结构存储器区访问的方法和装置。应当理解,以上描述是说明性的而非限制性的。在阅读并理解了以上描述后,许多其它实施方式对于本领域技术人员而言是显而易见的。因此,本发明的范围应当参照所附权利要求、连同赋予这些权利要求的等效方案的完整范围来确定。

Claims (24)

1.一种用于控制计算资源的装置,包括:
梯度分割算法GPA模块,用于持续地控制至少一个处理资源向至少一个指令线程的分配,其中所述GPA模块持续地对所述处理资源执行测试,所述处理资源被逻辑地分割成两个部分,所述两个部分各自划分成对应于不同线程的块,每个分区中的块响应于每个线程变化着的需求通过使用油门进行控制,其中这两个逻辑部分中的有效油门在每一个部分中分别递增+Δ或递减-Δ,并比较其性能结果以确定动态油门设置,所述动态油门设置最佳地满足所述至少一个指令线程的处理需求。
2.如权利要求1所述的装置,其特征在于,所述处理资源包括高速缓存存储器。
3.如权利要求2所述的装置,其特征在于,所述高速缓存存储器被逻辑划分成两个部分,所述GPA模块可在其上执行所述测试。
4.如权利要求3所述的装置,其特征在于,所述两个逻辑划分的部分中的每一个包括对应于所述至少一个指令线程的至少一个块。
5.如权利要求1所述的装置,其特征在于,所述GPA模块测试所述至少一个处理资源因变于所述油门被设置为第一和第二设置时的性能,其中所述第一设置使所述处理资源的性能在比第二设置时低的水平。
6.如权利要求5所述的装置,其特征在于,所述GPA模块向所述处理资源提供信息,以指示在由所述GPA模块用于测试处理资源性能的油门设置中的导致具有最高性能水平的处理资源的油门设置。
7.如权利要求4所述的装置,其特征在于,所述GPA模块包括对应于所述至少一个指令线程的类数据位。
8.如权利要求7所述的装置,其特征在于,所述GPA模块包括对应于多个指令的全局数据位。
9.一种用于控制计算资源的系统,包括:
处理器核;
高速缓存,耦合于所述处理器核,所述高速缓存被逻辑地分割成两个部分,所述两个部分各自划分成对应于不同线程的块;
梯度分割算法GPA模块,用于持续地对所述高速缓存执行测试,每个分区中的块响应于每个线程变化着的需求通过使用油门进行控制,其中所述高速缓存的两个逻辑部分中的有效油门在每一个部分中分别递增+Δ或递减-Δ,并比较其性能结果以确定动态油门设置,所述动态油门设置最佳地满足多个指令访问所述高速缓存的处理需求。
10.如权利要求9所述的系统,其特征在于,所述高速缓存被逻辑划分成两个部分,所述GPA模块可在其上执行所述测试。
11.如权利要求10所述的系统,其特征在于,所述两个逻辑划分的部分中的每一个包括对应于所述多个指令的多个块。
12.如权利要求11所述的系统,其特征在于,取决于所述油门的值,所述多个块的大小可以增大或减小。
13.如权利要求12所述的系统,其特征在于,所述测试包括测定对应于第一块的第一线程在该块的大小由油门增大时的性能。
14.如权利要求13所述的系统,其特征在于,所述测试还包括测定对应于第一块的第一线程在该块的大小由油门减小时的性能。
15.如权利要求14所述的系统,其特征在于,所述GPA模块根据在所述测试期间达成的性能设置所述第一块的大小。
16.如权利要求15所述的系统,其特征在于,所述GPA模块包括对应于所述多个指令中的每一个的类数据位。
17.如权利要求16所述的系统,其特征在于,所述GPA模块包括对应于所述多个指令全体的全局数据位。
18.一种用于控制计算资源的方法,包括:
将高速缓存逻辑地分割成至少两个部分,在其中执行资源分配测试;
将所述至少两个部分中的每一个分割成对应于多个数据类的多个块,每个分区中的块响应于对应于特定数据类的线程变化着的需求通过使用油门进行控制;
持续性地对所述至少两个部分中的每一个执行所述测试并比较其性能结果,其中所述测试对所述至少两个部分之一是以第一油门设置执行的,而所述测试对所述至少两个部分之二是以第二油门设置执行的,并且其中所述第一油门设置和所述第二油门设置对应于在每一个部分中分别递增+Δ或递减-Δ的有效油门;
响应于性能结果的比较,调整所述多个块中至少之一的大小。
19.如权利要求18所述的方法,其特征在于,取决于所述油门的设置,所述多个块的大小被增大或减小。
20.如权利要求19所述的方法,其特征在于,所述测试包括测定对应于第一块的第一线程在该块的大小由所述第一油门设置增大时的性能。
21.如权利要求20所述的方法,其特征在于,所述测试还包括测定对应于第一块的第一线程在该块的大小由所述第二油门设置减小时的性能。
22.如权利要求21所述的方法,包括根据所述测试期间所达成的性能设置第一块的大小。
23.如权利要求22所述的方法,其特征在于,对应于所述多个数据类中的每一个的类数据位得到维护。
24.如权利要求23所述的方法,其特征在于,对应于所述多个数据类全体的全局数据位得到维护。
CN200910246179.8A 2008-12-02 2009-12-02 控制计算资源的技术 Expired - Fee Related CN101901166B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/315,331 US8769201B2 (en) 2008-12-02 2008-12-02 Technique for controlling computing resources
US12/315,331 2008-12-02

Publications (2)

Publication Number Publication Date
CN101901166A CN101901166A (zh) 2010-12-01
CN101901166B true CN101901166B (zh) 2014-12-17

Family

ID=42168967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910246179.8A Expired - Fee Related CN101901166B (zh) 2008-12-02 2009-12-02 控制计算资源的技术

Country Status (5)

Country Link
US (1) US8769201B2 (zh)
KR (1) KR101140914B1 (zh)
CN (1) CN101901166B (zh)
DE (1) DE102009056282A1 (zh)
TW (1) TWI465934B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817700B2 (en) * 2011-04-26 2017-11-14 International Business Machines Corporation Dynamic data partitioning for optimal resource utilization in a parallel data processing system
US10430120B2 (en) 2014-07-30 2019-10-01 Industrial Technology Research Institute Data object management method and data object management system
US10303514B2 (en) * 2014-11-14 2019-05-28 Cavium, Llc Sharing resources in a multi-context computing system
CN105743677B (zh) * 2014-12-10 2019-05-28 中国移动通信集团公司 一种资源配置方法及装置
JP6353981B2 (ja) * 2015-05-14 2018-07-04 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
US20180081811A1 (en) * 2016-09-20 2018-03-22 Qualcomm Incorporated Dynamic cache partitioning through hill-climbing
US11500681B2 (en) * 2017-06-29 2022-11-15 Intel Corporation Technologies for managing quality of service platform interconnects
TWI768554B (zh) * 2020-11-23 2022-06-21 宏碁股份有限公司 計算系統及其效能調整方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394531A (en) * 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
US6341331B1 (en) * 1999-10-01 2002-01-22 International Business Machines Corporation Method and system for managing a raid storage system with cache
CN101221534A (zh) * 2007-01-09 2008-07-16 国际商业机器公司 用于控制计算机可读存储器的方法和系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4463424A (en) 1981-02-19 1984-07-31 International Business Machines Corporation Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes
US4489378A (en) 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4603382A (en) 1984-02-27 1986-07-29 International Business Machines Corporation Dynamic buffer reallocation
EP0391871A3 (en) 1989-04-03 1992-05-27 International Business Machines Corporation Method for managing a prioritized cache
JPH0799508B2 (ja) 1990-10-15 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム
US5381539A (en) 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US6223256B1 (en) 1997-07-22 2001-04-24 Hewlett-Packard Company Computer cache memory with classes and dynamic selection of replacement algorithms
US6604174B1 (en) * 2000-11-10 2003-08-05 International Business Machines Corporation Performance based system and method for dynamic allocation of a unified multiport cache
US6662272B2 (en) * 2001-09-29 2003-12-09 Hewlett-Packard Development Company, L.P. Dynamic cache partitioning
US6829679B2 (en) 2001-11-09 2004-12-07 International Business Machines Corporation Different caching treatment of memory contents based on memory region
US6917812B2 (en) 2001-12-03 2005-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Air interface scheduler for wireless communication networks
US7111124B2 (en) 2002-03-12 2006-09-19 Intel Corporation Set partitioning for cache memories
US7103735B2 (en) 2003-11-26 2006-09-05 Intel Corporation Methods and apparatus to process cache allocation requests based on priority
US20060143384A1 (en) * 2004-12-27 2006-06-29 Hughes Christopher J System and method for non-uniform cache in a multi-core processor
US8312452B2 (en) 2005-06-30 2012-11-13 Intel Corporation Method and apparatus for a guest to access a privileged register
US7415575B1 (en) 2005-12-08 2008-08-19 Nvidia, Corporation Shared cache with client-specific replacement policy
US7681011B1 (en) * 2006-03-30 2010-03-16 Emc Corporation Methods and apparatus for partitioning management information
US7899994B2 (en) 2006-08-14 2011-03-01 Intel Corporation Providing quality of service (QoS) for cache architectures using priority information
US8458711B2 (en) 2006-09-25 2013-06-04 Intel Corporation Quality of service implementation for platform resources
US7725657B2 (en) 2007-03-21 2010-05-25 Intel Corporation Dynamic quality of service (QoS) for a shared cache
US7921276B2 (en) 2007-03-21 2011-04-05 Intel Corporation Applying quality of service (QoS) to a translation lookaside buffer (TLB)
US8209493B2 (en) * 2008-03-26 2012-06-26 Intel Corporation Systems and methods for scheduling memory requests during memory throttling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394531A (en) * 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
US6341331B1 (en) * 1999-10-01 2002-01-22 International Business Machines Corporation Method and system for managing a raid storage system with cache
CN101221534A (zh) * 2007-01-09 2008-07-16 国际商业机器公司 用于控制计算机可读存储器的方法和系统

Also Published As

Publication number Publication date
CN101901166A (zh) 2010-12-01
KR101140914B1 (ko) 2012-05-03
US8769201B2 (en) 2014-07-01
KR20100062958A (ko) 2010-06-10
DE102009056282A1 (de) 2010-06-17
TW201027357A (en) 2010-07-16
US20100138609A1 (en) 2010-06-03
TWI465934B (zh) 2014-12-21

Similar Documents

Publication Publication Date Title
CN101901166B (zh) 控制计算资源的技术
JP5564564B2 (ja) 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置
CN108509014B (zh) 计算设备和分配功率到每个计算设备中的多个核的方法
US11954528B2 (en) Technologies for dynamically sharing remote resources across remote computing nodes
US9772958B2 (en) Methods and apparatus to control generation of memory access requests
US9250682B2 (en) Distributed power management for multi-core processors
WO2017069907A1 (en) System and method for a shared cache with adaptive partitioning
US8914808B2 (en) Apparatus and method for dynamically reconfiguring state of application program in a many-core system
CN105426319A (zh) 动态缓存分区设备和方法
US11249659B2 (en) Operational metric computation for workload type
US20210157635A1 (en) Determining an optimum number of threads to make available per core in a multi-core processor complex to execute tasks
US10768684B2 (en) Reducing power by vacating subsets of CPUs and memory
CN104572501A (zh) 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法
US10209749B2 (en) Workload allocation based on downstream thermal impacts
CN112805684A (zh) 使用恢复借用的资源分配
CN116932156A (zh) 一种任务处理方法、装置及系统
US11016666B2 (en) Memory system and operating method thereof
CN110968180A (zh) 一种通过减少数据传输实现gpu降耗的方法及系统
CN117311910B (zh) 一种高性能虚拟密码机运行方法
US20230359495A1 (en) System and method for heterogeneous memory
CN116737398B (zh) 一种异步io请求的调度与处理方法、装置、设备及介质
US20220300331A1 (en) Method and apparatus for memory integrated management of cluster system
US20240103730A1 (en) Reduction of Parallel Memory Operation Messages
CN104077171A (zh) 调度虚拟机时的处理方法和设备
US20230214271A1 (en) Method of scheduling cache budget in multi-core processing device and multi-core processing device performing the same

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

Granted publication date: 20141217

Termination date: 20181202

CF01 Termination of patent right due to non-payment of annual fee