CN1906587B - 降低多处理器***中的功耗的方法和装置 - Google Patents
降低多处理器***中的功耗的方法和装置 Download PDFInfo
- Publication number
- CN1906587B CN1906587B CN2005800017425A CN200580001742A CN1906587B CN 1906587 B CN1906587 B CN 1906587B CN 2005800017425 A CN2005800017425 A CN 2005800017425A CN 200580001742 A CN200580001742 A CN 200580001742A CN 1906587 B CN1906587 B CN 1906587B
- Authority
- CN
- China
- Prior art keywords
- sub
- processing unit
- task
- processor
- unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 173
- 230000003068 static effect Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 239000012212 insulator Substances 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 21
- 238000009826 distribution Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000007667 floating Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- GYHNNYVSQQEPJS-UHFFFAOYSA-N Gallium Chemical compound [Ga] GYHNNYVSQQEPJS-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- RBFQJDQYXXHULB-UHFFFAOYSA-N arsane Chemical compound [AsH3] RBFQJDQYXXHULB-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 229910052733 gallium Inorganic materials 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000004411 aluminium Substances 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 235000019628 coolness Nutrition 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000002887 superconductor Substances 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- 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]
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
提供了一种方法和装置,用于:监视被分配给与主处理单元相关的各个子处理单元执行的处理器任务及其相关的处理器负载;根据它们相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务;以及命令未被调度来执行任何任务的子处理单元进入低功耗状态。
Description
技术领域
本发明涉及用于降低多处理器***中的功耗的方法和装置,尤其涉及用于分配***中的多个处理器之间的任务以便降低多个处理器的总体功耗的方法和装置。
背景技术
实时、多媒体应用正在变得日益重要。这些应用要求非常快的处理速度,例如每秒数千兆位数据。尽管单个处理单元能够有快速的处理速度,但它们通常无法与多处理器架构的处理速度相比。实际上,在多处理器***中,多个处理器可以并行(或者至少一致)操作来实现期望的处理结果。
可以采用多处理技术的计算机和计算设备的类型是广泛的。除了个人计算机(PC)和服务器,这些计算设备还包括蜂窝电话、移动计算机、个人数字助理(PDA)、机顶盒、数字电视等等。
多处理器***的一个设计考虑是如何管理多个处理器产生的热量,尤其是当在小的封装(如手持设备等)中使用它们时。尽管可以采用机械热量管理技术,但由于它们给最终产品增加了重复材料和人力成本,因此它们并不完全令人满意。机械热量管理技术也可能提供不了足够的冷却。
多处理器***的另一考虑是有效使用可用电池电力,尤其是当在便携(如笔记本计算机、手持设备等)中使用多个处理器时。实际上,给定***中采用的处理器越多,电源要提供的电力就越多。通常,给定处理器消耗的电量是处理器执行的指令数量和处理器工作时钟频率的函数。
因此,本领域需要减少处理器产生的热量及其消耗的能量的、实现高效多处理的新方法和装置。
发明内容
此外,开发了一种新的计算机架构来克服至少一些上面讨论的问题。
根据这个新的计算机架构,多处理器***中的所有处理器由公共计算模 块(或单元)构造。该公共计算模块具有相容的结构,并且最好采用相同的指令集架构。多处理器计算机***可以由一个或多个客户机、服务器、PC、移动计算机、游戏机、PDA、机顶盒、电器、数字电视和其他使用计算机处理器的设备构成。
如果希望的话,多个计算机***可以是网络的组件。相容的模块化结构允许多处理器计算机***对应用和数据高效、高速处理,并且如果采用网络的话,则允许在网络上快速传输应用和数据。该结构还简化了各种大小的网络组件的组建和这些组件处理应用的处理能力和准备。
基本处理模块是处理器部件(PE)。PE最好包括通过公共内容地址和数据总线相连的处理单元(PU)、直接存储存取控制器(DMAC)和多个子处理单元(SPU)(例如4个SPU)。PU和SPU与可能具有横杆(cross-bar)架构的共享动态随机存取存储器(DRAM)交互。PU调度和协调SPU的数据和应用处理。SPU以并行和独立的方式执行该处理。DMAC控制PU和SPU对存储在共享DRAM中的数据和应用的存取。
根据该模块化结构,特定计算机***采用的PE的数量是基于该***所需的处理能力的。例如,服务器可以采用4个PE,工作站可以采用两个PE,而PDA可以采用一个PE。分配来处理特定软件单元的PE的SPU数量取决于该单元内程序和数据的复杂度和量级。
多个PE可以与共享的DRAM相关联,并且DRAM可以被分成多个部分,这些部分中的每一个被分成多个存储体。DRAM的每个部分可以由体控制器控制,并且PE的每个DMAC可以存取每个体控制器。在该配置中,每个PE的DMAC可以存取共享DRAM的任何部分。
新的计算机架构还采用新的编程模型,该模型提供来在网络上传输数据和应用,并且在网络组件之间处理数据和应用。该编程模型采用在网络上传输的软件单元以便任何网络组件处理。每个软件单元具有相同的结构,并且可以包括应用和数据这两者。作为模块化计算机架构提供的高速处理和传输速度的结果,可以快速地处理这些单元。应用的代码最好基于相同的公共指令集和ISA。每个软件单元最好包括全局标识(全局ID)和描述该单元的处理所需的计算资源量的信息。由于所有计算资源具有相同的基本结构并且采用相同的ISA,因此执行该处理的特定资源可以置于网络上的任何地方,并且可以动态分配。
根据本发明的一个或多个方面,一种降低多处理器***中的功耗的方法包括:监视被分配给与主处理单元相关的各个子处理单元执行的处理器任务及其相关处理器负载;根据它们相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务;命令未被调度来执行任何任务的子处理单元进入低功耗状态;以及响应于任务和负载的任何改变,使用主处理单元更新任务负载表,其中,主处理单元包括任务负载表,该表包含分配给各个子处理单元执行的处理器任务及其相关的处理器负载。
每个子处理单元可以包括以下中的至少一个:(i)电源中断电路;和(ii)时钟中断电路;以及该方法还可以包括:响应于断电命令,使用电源中断电路和时钟中断电路中的至少一个来将子处理单元置于低功耗状态。最好,每个子处理单元包括电源和电源中断电路;以及该方法包括:响应于断电命令使用电源中断电路关闭电源以便将给定的子处理单元置于低功耗状态。
主处理单元最好包括可操作性地与任务负载表相连的任务分配单元;以及该方法最好还包括:使用主处理单元根据其相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务。
该方法可以包括:根据相关的处理器负载,将给定的一个子处理单元的所有任务重新分配给另一个子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。或者(此外),该方法可以包括:根据相关的处理器负载,将给定的一个子处理单元的一些任务重新分配给一个或多个其他子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
根据本发明的一个或多个另外方面,一种降低多处理器***中的功耗的装置可以包括:多个子处理单元,每个可操作来执行处理器任务;和主操作单元,可操作来:(i)监视被分配给各个子处理单元执行的处理器任务及其相关处理器负载;(ii)根据它们相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务;(iii)发出断电命令,指示未被调度来执行任何任务的子处理单元进入低功耗状态;以及(iv)响应于任务和负载的任何改变,使用主处理单元更新任务负载表,其中,主处理单元包括任务负载表,该表包含分配给各个子处理单元执行的处理器任务及其相关的处理器负载。
根据本发明的一个或多个另外方面,一种主处理器,包括:任务负载表,存储被分配给与主处理单元相关的各个子处理单元执行的处理器任务及其相关的处理器负载;任务分配单元,可操作性地连接到所述任务负载表,用于 根据它们相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务;以及子处理单元控制器,用于响应来自所述任务分配单元的指示,命令未被调度来执行任何任务的子处理单元进入低功耗状态。
通过这里结合附图的描述,本发明的其他方面、特征和优点对于本领域技术人员将变得清楚。
附图说明
为了说明的目的,在附图中示出当前优选的形式,然而应当理解,本发明不限于所示的具体配置和手段。
图1是多处理器***中静态功率、动态功率和总功率对处理负载的曲线的图示;
图2是在采用可变电压和时钟频率控制技术的多处理器***中静态功率、动态功率和总功率对处理负载的曲线的图示;
图3是根据本发明一个或多个方面的多处理***的方框图;
图4是示出根据本发明的处理器部件(PE)的示例性结构的图;
图5是示出根据本发明的示例性子处理单元(SPU)的结构的图;
图6是根据本发明一个或多个方面的主处理器单元(PU)的图;
图7是根据本发明一个或多个方面的图5的主处理器的任务负载表;
图8是根据本发明一个或多个方面的、指示将任务重新分配到另一子处理单元的图7的任务负载表;
图9是根据本发明一个或多个方面的、指示将任务重新分配到两个其他子处理单元的图7的任务负载表;
图10是根据本发明一个或多个方面的、指示重新分配任务使得至少一个子处理单元没有调度任务的图7的任务负载表;
图11是在根据本发明一个或多个方面使用图6的主处理器单元的多处理器***中,静态功率、动态功率和总功率对处理负载的曲线的图示;
图12是示出根据本发明一个或多个方面的任务迁移流方向的方框图;和
图13A、13B和13C是根据本发明各个方面的其他任务迁移流方向的图示。
具体实施方式
为了将本发明的各个方面置入上下文中,参照图1所示的静态功率、动态功率和总功率曲线的图示。这些功率曲线是处理单元产生的功率特性的例 子,是该处理器的处理负载的函数。
静态功率Ps等于漏电流Il乘以处理单元的工作电压Vdd,可以如下表示:Ps=Il×Vdd。当漏电流I1和工作电压Vdd恒定时,静态功率Ps作为处理器的处理负载的函数也是恒定的,如图1所示。处理器消耗的动态功率Pd可以如下表示:Pd=Sf×C×F×Vdd2,其中Sf是处理器的处理负载,C是处理器的等效电容,F是时钟频率,而Vdd是工作电压。Sf表示处理单元为了执行特定的任务或任务组需要接通和关断的晶体管数量。等效电容C表示与任务有关的晶体管的总电容。对Pd等式的分析显示动态功率Pd作为处理负载Sf的线性函数而上升,如图1所示。
在任一给定时间点处理器产生的总功率Pt等于静态和动态功率之和:Pt=Ps+Pd。当采用公知的电压/频率控制(VFC)技术时,可以减少总功率Pt。参照图2,当采用VFC技术时,工作电压Vdd和时钟频率F中的至少一个作为对处理器要求的性能的函数而变化。例如,如果在任一给定时间段仅对处理器要求相对低水平的性能,则可以降低工作电压Vdd和时钟频率F之一或两者。参照Ps和Pd的等式,如果降低工作电压Vdd,则也将降低静态功率Ps和动态功率Pd。如果仅降低时钟频率F,则仅降低动态电压Pd。
如图2所示,由VFC技术引起的静态功率(标为Ps(VFD)通常低于不采用VFC技术时的静态功率Ps。更具体地,静态功率Ps(VFD)作为处理负载Sf的函数,从相当低的水平线性地斜线上升到较高水平。类似地,由VFC技术引起的动态功率(标为Pd(VFC)通常低于不采用VFC时的动态功率Pd。更具体地,静态功率Pd(VFC)从相对低的水平开始并且呈现作为处理负载Sf的函数的二次特性。这是因为动态功率Pd(VFC)是工作电压Vdd的平方的函数。
从图2的曲线中可以发现,由VFC技术引起的总功率可以大大低于不采用VFC时的总功率。不幸的是,不管是否采用VFC,管理处理器功耗的问题都继续存在。实际上,摩尔定律指出,处理器的规模每18个月就增加一倍。随着处理器的规模增加,静态功率Ps也增加。在不久的将来,静态功率Ps甚至可能比动态功率Pd更显著。因此,正在考虑更进一步控制静态功率Ps的技术。
一种降低静态功率Ps的途径包括采用晶体管阈电压(Vth)技术。回想起静态功率Ps=Il×Vdd,其中Il是漏电流,而Vdd是处理器的工作电压。漏 电流Il是不断增加的处理单元规模的函数。处理器的规模与l/eVth成正比,其中Vth是用于实现处理器的晶体管的阈电压。因此,可以期望增加用来实现处理器的晶体管的阈电压Vth以便降低漏电流I1,从而降低静态功率Ps。
不幸的是,这种途径有两个重要的问题,即,它不利地影响了时钟频率,并且它不容易在特定处理器制造环境中实现。对于前者,时钟频率F是(Vdd-Vth)2的函数。因此,当增加阈电压Vth时,处理器的理论时钟频率F必然降低。尽管可能想降低时钟频率F来采用VFC技术,但并不希望可达到的最大时钟频率F受到限制。
对于后一问题,尽管在BULK(基体)CMOS工艺中可能有控制阈电压Vth的应用,但在其他工艺中很难实现,例如绝缘硅片(SOI)工艺。事实上,可以通过改变电路的场效应晶体管(FET)的主体(或基体)端和源极端之间的电压关系来在基体COMS中实现实际的阈电压Vth控制。这在使用BULKCMOS工艺制造的处理器中相对容易完成,因为该工艺在处理器的FET晶体管的制造中规定使用主体端。因此,可以容易地控制每个晶体管的主体端和源极端之间的电压关系。相反,SOI工艺不规定使用基体/主体端。因此,为了在SOI上下文中采用阈电压Vth控制技术,将要求改变工艺来实现主体/基体端,这将不利地影响电路的FET晶体管之间的间隔和实现的复杂度。
然而已经发现,可以使用根据本发明的多处理***实现有利的功率管理技术。在这方面,参照图3,示出根据本发明一个或多个方面的多处理***100。多处理***100包括通过总线108连接到共享存储器106(如DRAM)的多个处理器102(可以使用任何数量)。应当注意,共享DRAM存储器106并不是必需的(因此用虚线示出)。事实上,一个或多个处理单元102可以采用它自己的存储器(未示出)而不需要共享存储器106。
处理器102之一最好是主处理单元,例如,处理单元102A。其他处理单元102最好是子处理单元(SPU),例如处理单元102B、102C、102D等。处理单元102可以使用任何已知的计算机架构实现。所有处理单元102不需要使用同一架构实现;事实上,它们可以是异类或同类配置。在操作中,主处理单元102A最好调度和协调子处理单元102B-D对数据和应用的处理,使得子处理单元102B-D以并行和独立的方式执行这些数据和应用的处理。
要注意的是,主处理单元102A可以相对于子处理单元102B-D本地放置,例如在同一芯片中,在同一封装中,在同一电路板上,在同一产品中等。或 者,主处理单元102A可以与子处理单元102B-D远程地放置,例如在不同的产品中,可以通过总线、通信网络(如因特网)等连接。类似地,子处理单元102B-D可以彼此本地或远程地放置。
现在参照图4,图4是采用基本处理模块或处理器部件(PE)201的优选多处理***的方框图。如图所示,PE201包括I/O接口202、处理单元(PU)203、直接存储存取控制器(DMAC)205和多个SPU,即,SPU207、SPU209、SPU211和SPU213。本地(或内部)PE总线223在PU203、SPU、DMAC205和存储接口215之间传输数据和应用。本地PE总线223可以具有例如常规架构或者可以实现为分组交换网络。实现为分组交换网络尽管需要更多硬件,但增加可用带宽。
PE201可以使用各种实现数字逻辑的方法构建。然而,PE201最好构建成采用硅衬底上的互补金属氧化物半导体(CMOS)的单个集成电路。衬底的替代材料包括采用多种掺杂物的胂化镓、胂化镓铝和其他所谓的III-B化合物。PE201还可以使用超导材料实现,例如,快速单熔量子(rapidsingle-flux-quantum,RSFQ)逻辑。
PE201通过高带宽存储连接227与动态随机存取存储器(DRAM)225紧密关联。DRAM225用作PE201的主(或共享)存储器。尽管DRAM225最好是动态随机存取存储器,但也可以使用其他方式实现DRAM225,例如,实现为静态随机存取存储器(SRAM)、磁随机存取存储器(MRAM)、光存储器或全息存储器。DMAC205和存储接口215帮助DRAM225和PE201的SPU与PU203之间的数据传输。要注意的是,DMAC205和/或存储接口215可以相对于子处理单元和PU204集成或独立地放置。事实上,DMAC205功能和/或存储接口215功能可以与子处理单元和PU204的一个或多个(最好全部)集成在一起,而不是如图所示单独的配置。
PU203可以是例如能够独立处理数据和应用的标准处理器。在操作中,PU203调度和协调SPU对数据和应用的处理。SPU最好是单指令多数据(SIMD)处理器。在PU203的控制下,SPU以并行和独立的方式执行这些数据和应用的处理。DMAC205控制PU203和SPU对存储在共享DRAM225中的数据和应用的存取。应当注意,PU203可以由承担主处理单元角色的一个或多个子处理单元实现。
多个PE(例如PE201)可以联合或封装在一起来提供增强的处理能力。
图5示出SPU400的结构和功能。SPU400包括本地存储器406、寄存器410、一个或多个浮点(floating point)单元412和一个或多个整数(integer)单元414。然而,另外,根据所需的处理能力,可以采用更多或更少数量的浮点单元412和整数单元414。在优选实施例中,本地存储器406包括128千字节的存储量,而寄存器410的容量是128×128位。浮点单元412最好以每秒320亿浮点运算(32GFLOPS)的速度工作,而整数单元414最好以每秒320亿运算(32GOPS)的速度工作。
在优选实施例中,本地存储器406包括256千字节的存储量,而寄存器410的容量是128×128位。要注意的是,不使用共享存储器225执行处理器任务。相反,将任务复制到给定子处理单元的本地存储器406中并且本地执行。
本地存储器406可以是或不是高速缓冲存储器。最好对SPU的高速缓存相干性(coherent)支持不是必须的。而是,本地存储器406最好构建为静态随机存取存储器(SRAM)。PU203可能要求对PU203启动的直接存储器存取的高速缓存相干性支持。然而,对SPU400启动的直接存储器存取或从/向外部设备的存取不要求高速缓存相干性支持。
SPU400还包括总线404,用于向/从SPU400传输应用和数据。子处理单元400还包括总线接口(I/F)402,用于向/从子处理单元400传输应用和数据。在优选实施例中,总线I/F402连接到集成地位于子处理单元400内的DMAC(未示出)。要注意,DMAC可被放在外部(如图5所示)。一对总线将总线I/F402和本地存储器406之间集成放置的DMAC互连。总线最好是256位宽。在优选实施例中,总线404是1024位宽。
SPU400还包括内部总线408、420和418。在优选实施例中,总线408具有256位宽并且提供本地存储器406和寄存器410之间的通信。总线420和418分别提供寄存器410与浮点单元412之间以及寄存器410与整数单元414之间的通信。在优选实施例中,从寄存器410到浮点或整数单元的总线418和420的宽度是384位,而从浮点或整数单元412、414到寄存器410的总线418和420的宽度是128位。从寄存器410到浮点或整数单元412、414的这些总线的宽度比从这些单元到寄存器410的总线宽度大,在处理期间容纳更大的来自寄存器410的数据流。对每次计算需要最大三个字。然而,每次计算的结果通常只有一个字。
SPU400(和/或图3的SPU102中的任一个)最好还包括电源中断电路300和时钟中断电路302中的至少一个。当采用电源中断电路300时,到SPU400的电源可以是外部304或内部306。最好是,电源放在内部。电源中断电路300最好可操作来响应于线308上的命令信号将SPU400置于低功耗状态。特别地,当被命令时,电源中断电路300最好断电或者中断从内部电源306到SPU400电路的供电,从而断电SPU400并且提供很少或不提供电力。或者,如果采用外部电源304,则电源中断电路300最好响应于线308上的命令来中断从该电源到SPU400的供电。
类似地,如果采用时钟中断电路302,则它最好可操作来通过中断SPU400的***时钟(不管***时钟是内部还是外部产生的)将SPU400置于低功耗状态。将在该说明书的后面提供关于将SPU400置于低功耗状态的细节。
现在参照图6,图6是根据本发明一个或多个方面的PU203的特定部分的方框图。特别地,PU203包括任务负载表502、任务分配单元504和PSU(或时钟)控制器506。参照图7,任务负载表502最好包括分配给PE201的各个SPU执行的处理器任务和相关处理器负载。本领域技术人员将明白,任务负载表502可以用硬件、固件或软件实现,最好使用PU上执行的适当软件来实现任务负载表502。再回到图6,任务分配单元504可操作连接到任务负载表502,并且可操作来根据它们相关处理器负载重新分配至少一些任务,使得至少一个SPU不被调度执行任何任务。
例如,图7示出SPU1被调度执行任务A和任务B,其中任务A具有0.1的相关处理器负载,而任务B具有0.3的相关处理器负载。因此,SPU1有0.6的空闲。SPU2被调度执行任务C、任务D、任务E和任务F,它们分别具有0.05、0.01、0.1和0.3的相关负载。因此,SPU2有0.54的空闲。SPU被调度执行任务G和任务H,它们分别具有0.7和0.3的相关处理器负载。SPU3不空闲。最后,SPU4被调度执行任务I、任务J和任务K,它们分别具有0.15、0.05和0.7的相关处理器负载。因此,SPU4有0.1的空闲。
任务分配单元504最好可操作来利用任务负载表502中的信息将至少一个SPU的任务重新分配到一个或多个其他SPU。图8示出任务分配单元504如何将SPU1的任务重新分配到SPU2的一个例子。特别地,任务分配单元504可以操作来确定执行任务A和B所需的总负载(即,0.4)小于与SPU2 相关的空闲量。因此,任务分配单元504可以确定可将任务A和B都从SPU1分配给SPU2。
参照图9,任务分配单元504可以交替地将任务从SPU1分配到多个其他SPU,例如SPU2和SPU4。该确定最好是基于与转移的每个任务相关的负载和其他参与SPU的空闲能力做出的。接着后面的例子,图10示出在任务分配单元504重新分配SPU1的任务之后任务负载表502的状态。特别地,SPU1剩下1.0的空闲特性;SPU2剩下0.24的空闲特性;SPU3剩下0.0的空闲特性;而SPU4剩下0.0的空闲特性。
响应于来自任务分配单元504的指示,PSU控制器506最好在线308上发出命令,指示SPU1应当进入低功耗状态。如上面参照图5所讨论的,该命令引起电源中断电路300和时钟中断电路302中的至少一个将SPU1置于低功耗状态。如果需要执行具有超过其余SPU空闲能力的相关处理器负载的额外处理任务,则PSU控制器506最好可操作向SPU1提供指示来离开低功耗状态,从而提供对这些任务的另外的处理能力。
参照图11,所有SPU产生的总功率Pt可以通过适当分配要执行的任务来有利地最小化。事实上,按照图7的分配,处理部件的总功率Pt是SPU1、SPU2、SPU3和SPU4消耗的功率之和。另一方面,按照图10的分配,处理器部件所消耗的总功率是SPU2、SPU3和SPU4所消耗的功率之和。尽管与图7的分配相比,图10的分配中SPU2和SPU4的处理负载增加,但是总功耗较低。这是由于完全避免了SPU1的静态功率Ps。再回到图11,按照图7的分配,SPU具有0.4的处理负载,产生0.125单位的功耗;SPU2、SPU3和SPU4的总处理负载是2.36,相关功耗为0.375。因此,图7的任务分配的总功率Pt是0.5单位。另一方面,图10的任务分配导致SPU1零处理负载,SPU2、SPU3和SPU4总处理负载2.76。这产生0.384的总功率Pt,改善了23.2%。
现在参照图12,图12示出本发明一个或多个其他方面的方框图。在本发明的该实施例中,多处理***550包括通过内部总线552依次互连的多个子处理单元SPU0-7。如果转移不是在相邻SPU之间的话,从一个SPU到另一SPU的处理器任务转移可以依次通过一个或多个中间连接的SPU。例如,从SPU0迁移到SPU1的处理器任务可以仅仅是通过内部总线552从SPU0到SPU1依次传输。另一方卖弄,从SPU0到SPU3的处理器任务迁移可以 通过SPU1和SPU2或者可以通过SPU7、SPU6、SPU5和SPU4。该循环结构最好是一个接一个的配置,其中SPU以线性(不是循环的)配置依次互连。事实上,使用线性配置,在位于总线极端的SPU之间转移处理器任务时可能有额外的延迟。然而,使用图12的循环配置,由于处理器任务可以通过总线552在任一方向上转移,因此降低了延迟。
要注意的是,多处理***550不包括用来管理SPU之间的任务分配和/或迁移的主处理单元或PU。而是可以在SPU之间共享和/或在SPU之间分布任务表(可以基本上与上面参照图6-10所述的类似)。在任一情况下,SPU可以使用任务表502在SPU之间迁移处理器任务来实现本说明书其他实施例中详细描述的功率管理优点。
应当注意的是,使用图12的循环配置,可能出现与结构的极端之间转移处理器任务有关的延迟和其他处理问题,例如在SPU0和SPU4之间。因此,希望将SPU分成两个或多个组。例如,如图13A所示,SPU0、SPU1和SPU2可以被组成组A,而SPU3、SPU4和SPU5可以被组成组B。使用该配置,处理器任务将仅仅在给定组中的SPU之间转移,从而减少延迟问题和/或对高效多任务的其他障碍。此外,任务表的任何共享和/或分布可以限于给定组的SPU,从而允许提高任务处理和迁移的效率。图13B和13C示出替代的分组和SPU之间可允许的任务转移。本领域技术人员将理解在不背离本发明宗旨和范围的前提下可以进行许多其他修改(包括***中的SPU数量)。
尽管这里参照特定实施例描述了本发明,但是应当理解,这些实施例仅仅是说明本发明的原理和应用。因此应当理解,在不背离权利要求书限定的本发明宗旨和范围的前提下可以对说明性实施例和其他配置进行许多修改。
工业应用性
本发明可应用于在***中的多个处理器之间分配任务以便降低多处理器所消耗的总功率的技术。
Claims (35)
1.一种降低多处理器***中的功耗的方法,包括:
监视被分配给与主处理单元相关的各个子处理单元执行的处理器任务及其相关的处理器负载;
根据它们相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务;
命令未被调度来执行任何任务的子处理单元进入低功耗状态;以及
响应于任务和负载的任何改变,使用主处理单元更新任务负载表,
其中,主处理单元包括任务负载表,该表包含分配给各个子处理单元执行的处理器任务及其相关的处理器负载。
2.如权利要求1所述的方法,其中:
每个子处理单元包括以下中的至少一个:(i)电源中断电路;和(ii)时钟中断电路;以及
该方法包括:响应于断电命令,使用电源中断电路和时钟中断电路中的至少一个来将子处理单元置于低功耗状态。
3.如权利要求2所述的方法,其中,每个子处理单元包括电源和电源中断电路;以及
该方法包括:响应于断电命令使用电源中断电路关闭电源,以便将给定的子处理单元置于低功耗状态。
4.如权利要求1所述的方法,其中:
主处理单元包括可操作性地与任务负载表相连的任务分配单元;以及
该方法包括:使用主处理单元根据其相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务。
5.如权利要求4所述的方法,还包括:根据相关的处理器负载,将给定的一个子处理单元的所有任务重新分配给另一个子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
6.如权利要求4所述的方法,还包括:根据相关的处理器负载,将给定的一个子处理单元的一些任务重新分配给一个或多个其他子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
7.如权利要求1所述的方法,还包括:使用主处理单元和一个或多个子处理单元中的至少一个执行可变时钟频率控制,来降低至少一个子处理单元的动态功耗。
8.如权利要求1所述的方法,还包括:使用主处理单元和一个或多个子处理单元中的至少一个执行可变电源(Vdd)控制,来降低至少一个子处理单元的静态和动态功耗。
9.一种降低多处理器***中的功耗的装置,包括:
多个子处理单元,每个可操作来执行处理器任务;和
主操作单元,可操作来:(i)监视被分配给各个子处理单元执行的处理器任务及其相关的处理器负载;(ii)根据它们相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务;(iii)发出断电命令,指示未被调度来执行任何任务的子处理单元进入低功耗状态;以及(iv)响应于任务和负载的任何改变,更新任务负载表,
其中主处理单元包括任务负载表,该表包含分配给各个子处理单元执行的处理器任务及其相关的处理器负载。
10.如权利要求9所述的装置,子处理单元包括以下中的至少一个:(i)电源中断电路;和(ii)时钟中断电路,每个电路可操作来响应于断电命令将给定的子处理单元置于低功耗状态。
11.如权利要求10所述的装置,其中,每个子处理单元包括电源和电源中断电路,并且电源中断电路可操作来响应于断电命令关闭电源,以便将给定的子处理单元置于低功耗状态。
12.如权利要求9所述的装置,其中:主处理单元包括可操作性地与任务负载表相连的任务分配单元,并且可操作来根据其相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务。
13.如权利要求12所述的装置,其中任务分配单元可操作来根据相关的处理器负载,将给定的一个子处理单元的所有任务重新分配给另一个子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
14.如权利要求13所述的装置,其中主处理单元包括可操作性地连接到任务分配单元的电源控制器,并且可操作来响应于来自任务分配单元关于给定的一个子处理器未被调度来执行任何任务的指示,向给定的一个子处理单元发出断电命令信号。
15.如权利要求12所述的装置,其中,任务分配单元可操作来根据相关的处理器负载,将给定的一个子处理单元的一些任务重新分配给一个或多个其他子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
16.如权利要求13所述的装置,其中主处理单元包括可操作性地连接到任务分配单元的电源控制器,并且可操作来响应于来自任务分配单元关于给定的一个子处理器未被调度来执行任何任务的指示,向给定的一个子处理单元发出断电命令信号。
17.如权利要求9所述的装置,其中,主处理单元和一个或多个子处理单元中的至少一个可操作来执行可变时钟频率控制,以便降低至少一个子处理单元的动态功耗。
18.如权利要求9所述的装置,其中,主处理单元和一个或多个子处理单元中的至少一个可操作来执行可变电源(Vdd)控制,以便降低至少一个子处理单元的静态和动态功耗。
19.如权利要求9所述的装置,其中,主处理单元和一个或多个子处理单元中的至少一个是使用绝缘硅片制造工艺形成的。
20.如权利要求9所述的装置,其中,主处理单元与一个或多个子处理单元远程地放置或者本地放置。
21.如权利要求9所述的装置,其中,一个或多个子处理单元相互远程放置。
22.如权利要求9所述的装置,其中,子处理单元采用实质上异类的计算机架构或者同类的计算机架构。
23.一种主处理器,包括:
任务负载表,存储被分配给与主处理器相关的各个子处理单元执行的处理器任务及其相关的处理器负载;
任务分配单元,可操作性地连接到所述任务负载表,用于根据它们相关的处理器负载重新分配至少一些任务,使得至少一个子处理单元不被调度来执行任何任务;以及
子处理单元控制器,用于响应来自所述任务分配单元的指示,命令未被调度来执行任何任务的子处理单元进入低功耗状态。
24.如权利要求23所述的主处理器,其中:
每个子处理单元包括以下中的至少一个:(i)电源中断电路;和(ii)时钟中断电路;以及
电源中断电路和时钟中断电路中的至少一个通过将子处理单元置于低功耗状态来响应断电命令。
25.如权利要求24所述的主处理器,其中,每个子处理单元包括电源和电源中断电路;以及
电源中断电路通过关闭电源将给定的子处理单元置于低功耗状态来响应断电命令。
26.如权利要求23所述的主处理器,其中:
所述任务负载表响应于任务和负载的任何改变而被更新。
27.如权利要求23所述的主处理器,其中,所述任务分配单元根据相关的处理器负载,将给定的一个子处理单元的所有任务重新分配给另一个子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
28.如权利要求23所述的主处理器,其中,所述任务分配单元根据相关的处理器负载,将给定的一个子处理单元的一些任务重新分配给一个或多个其他子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
29.如权利要求23所述的主处理器,其中,所述子处理单元控制器使用主处理单元和一个或多个子处理单元中的至少一个执行可变时钟频率控制,来降低至少一个子处理单元的动态功耗。
30.如权利要求23所述的主处理器,其中,所述子处理单元控制器使用主处理单元和一个或多个子处理单元中的至少一个执行可变电源(Vdd)控制,来降低至少一个子处理单元的静态和动态功耗。
31.一种降低多处理器***中的功耗的装置,包括:
多个子处理单元,每个可操作来执行处理器任务;和
循环互连子处理单元的总线,使得任何两个子处理单元之间的传输可以像相邻的子处理单元之间那样直接进行,或者像多个远离的子处理单元之间那样通过一个或多个中间子处理单元进行,
其中,子处理单元可操作来:(i)监视被分配给各个子处理单元执行的处理器任务及其相关的处理器负载;(ii)根据它们相关的处理器负载重新分配至少一些任务;(iii)访问任务负载表,该表包含分配给各个子处理单元执行的处理器任务及其相关的处理器负载;以及(iv)响应于任务和负载的任何改变,更新任务负载表。
32.如权利要求31所述的装置,其中,子处理单元被布置成组,并且给定一组内的子处理单元的一个或多个任务的重新分配在该给定组内维护该任务。
33.如权利31所述的装置,其中,执行任务的重新分配使得至少一个子处理单元不被调度来执行任何任务。
34.如权利要求33所述的装置,其中,所述未被调度来执行任何任务的子处理单元可操作来进入低功耗状态。
35.如权利要求31所述的装置,其中,子处理单元可操作来根据相关的处理器负载,将给定的一个子处理单元的所有任务重新分配给另一个子处理单元,使得所述给定的一个子处理单元不被调度来执行任何任务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/801,308 | 2004-03-16 | ||
US10/801,308 US20050228967A1 (en) | 2004-03-16 | 2004-03-16 | Methods and apparatus for reducing power dissipation in a multi-processor system |
PCT/JP2005/005053 WO2005088443A2 (en) | 2004-03-16 | 2005-03-15 | Methods and apparatus for reducing power dissipation in a multi-processor system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1906587A CN1906587A (zh) | 2007-01-31 |
CN1906587B true CN1906587B (zh) | 2011-01-19 |
Family
ID=34976308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800017425A Active CN1906587B (zh) | 2004-03-16 | 2005-03-15 | 降低多处理器***中的功耗的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20050228967A1 (zh) |
EP (1) | EP1725935A2 (zh) |
JP (1) | JP4023546B2 (zh) |
KR (1) | KR20060127120A (zh) |
CN (1) | CN1906587B (zh) |
TW (1) | TWI274283B (zh) |
WO (1) | WO2005088443A2 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004020288A1 (de) * | 2004-04-26 | 2005-11-17 | Siemens Ag | Verfahren zur Zuordnung einer Anzahl von M teilnehmerseitig angeordneten Datenverbindungen zu einer Anzahl von N transportseitig angeordneten Datenverbindungen |
US20060200648A1 (en) * | 2005-03-02 | 2006-09-07 | Andreas Falkenberg | High-level language processor apparatus and method |
US8316220B2 (en) * | 2005-09-27 | 2012-11-20 | Sony Computer Entertainment Inc. | Operating processors over a network |
CN100337475C (zh) * | 2005-10-10 | 2007-09-12 | 海信集团有限公司 | 双cpu电视机通过scart接口的开关机控制方法 |
JP4687399B2 (ja) | 2005-11-07 | 2011-05-25 | セイコーエプソン株式会社 | マルチプロセッサシステム及びデータバックアップ方法 |
JP5040136B2 (ja) * | 2006-03-27 | 2012-10-03 | 富士通セミコンダクター株式会社 | チューニング支援装置、チューニング支援プログラム、チューニング支援プログラムを記録したコンピュータ読み取り可能な記録媒体およびチューニング支援方法 |
JP4800837B2 (ja) * | 2006-05-22 | 2011-10-26 | 株式会社日立製作所 | 計算機システム、その消費電力低減方法、及びそのプログラム |
EP1878783A1 (en) * | 2006-07-14 | 2008-01-16 | BIOeCON International Holding N.V. | Modified biomass comprising synthetically grown carbon fibers |
EP1977314A1 (en) * | 2006-07-21 | 2008-10-08 | Sony Service Centre (Europe) N.V. | Demodulator device and method of operating the same |
US7802116B2 (en) * | 2006-09-27 | 2010-09-21 | Intel Corporation | Subsystem power management |
US8046565B2 (en) * | 2006-12-06 | 2011-10-25 | Kabushiki Kaisha Toshiba | Accelerator load balancing with dynamic frequency and voltage reduction |
JP4945410B2 (ja) * | 2006-12-06 | 2012-06-06 | 株式会社東芝 | 情報処理装置及び情報処理方法 |
TWI342498B (en) * | 2007-01-12 | 2011-05-21 | Asustek Comp Inc | Multi-processor system and performance enhancement method thereof |
US7996696B1 (en) * | 2007-05-14 | 2011-08-09 | Sprint Communications Company L.P. | Updating kernel affinity for applications executing in a multiprocessor system |
GB2454497B (en) * | 2007-11-08 | 2012-01-11 | Fujitsu Ltd | Task scheduling method apparatus and computer program |
KR100968202B1 (ko) | 2007-12-12 | 2010-07-06 | 한국전자통신연구원 | 소비전력 감소를 위한 클러스터 시스템 및 그의 전원 관리방법 |
JP4488072B2 (ja) | 2008-01-18 | 2010-06-23 | 日本電気株式会社 | サーバシステム、及びサーバシステムの電力削減方法 |
JP4804490B2 (ja) * | 2008-02-18 | 2011-11-02 | 富士通株式会社 | 情報処理装置、情報処理方法、情報処理プログラム |
CN101303657B (zh) * | 2008-06-13 | 2011-08-10 | 上海大学 | 一种多处理器实时任务执行功耗优化方法 |
KR101449046B1 (ko) * | 2008-09-17 | 2014-10-08 | 엘지전자 주식회사 | 멀티 프로세서 및 이를 이용한 전원 절감 방법 |
CN101403982B (zh) * | 2008-11-03 | 2011-07-20 | 华为技术有限公司 | 一种多核处理器的任务分配方法和*** |
US9043795B2 (en) | 2008-12-11 | 2015-05-26 | Qualcomm Incorporated | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
KR20100073157A (ko) | 2008-12-22 | 2010-07-01 | 한국전자통신연구원 | 클러스터 시스템에 대한 원격 전원 관리 시스템 및 그 방법 |
JP2010277300A (ja) * | 2009-05-28 | 2010-12-09 | Panasonic Corp | マルチプロセッサシステムにおける省電力制御装置およびモバイル端末 |
KR101653204B1 (ko) | 2010-03-16 | 2016-09-01 | 삼성전자주식회사 | 멀티 코어 시스템에서 데이터 병렬 처리를 위한 동적 태스크 관리 시스템 및 방법 |
WO2011118012A1 (ja) | 2010-03-25 | 2011-09-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
JP5472449B2 (ja) * | 2010-03-31 | 2014-04-16 | 富士通株式会社 | マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム |
US8607083B2 (en) * | 2010-04-01 | 2013-12-10 | Intel Corporation | Method and apparatus for interrupt power management |
US8736619B2 (en) | 2010-07-20 | 2014-05-27 | Advanced Micro Devices, Inc. | Method and system for load optimization for power |
KR101723127B1 (ko) * | 2010-07-13 | 2017-04-04 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 그래픽 프로세서 내의 simd 유닛들의 동적 인에이블링 및 디스에이블링 |
US9311102B2 (en) * | 2010-07-13 | 2016-04-12 | Advanced Micro Devices, Inc. | Dynamic control of SIMDs |
WO2012058786A1 (en) | 2010-11-03 | 2012-05-10 | Telefonaktiebolaget L M Ericsson (Publ) | Conserving the power of a node in a wireless communication system |
CN102546999B (zh) * | 2012-01-20 | 2014-05-07 | 华为技术有限公司 | 基于业务模型降低设备功耗的方法、控制装置以及*** |
CN102866921B (zh) * | 2012-08-29 | 2016-05-11 | 惠州Tcl移动通信有限公司 | 一种多核cpu的调控方法及*** |
CN103037109B (zh) * | 2012-12-12 | 2015-02-25 | 中国联合网络通信集团有限公司 | 多核设备能耗管理方法及装置 |
CN103324268A (zh) * | 2013-05-29 | 2013-09-25 | 东南大学 | 用于无线传感器网络核心芯片的低功耗设计方法 |
JP2014078286A (ja) * | 2014-02-06 | 2014-05-01 | Fujitsu Ltd | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
US9547522B2 (en) * | 2014-04-10 | 2017-01-17 | Wind River Systems, Inc. | Method and system for reconfigurable virtual single processor programming model |
US20150355942A1 (en) * | 2014-06-04 | 2015-12-10 | Texas Instruments Incorporated | Energy-efficient real-time task scheduler |
CN105760342A (zh) * | 2014-12-18 | 2016-07-13 | 联芯科技有限公司 | 多核处理器工作状态控制方法及装置 |
US10528117B2 (en) | 2014-12-22 | 2020-01-07 | Qualcomm Incorporated | Thermal mitigation in devices with multiple processing units |
JP5867630B2 (ja) * | 2015-01-05 | 2016-02-24 | 富士通株式会社 | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
KR102408961B1 (ko) * | 2017-10-23 | 2022-06-13 | 삼성전자주식회사 | 처리가 지연되고 있는 태스크의 처리 방법 및 이를 지원하는 전자 장치 |
US11989005B2 (en) * | 2021-04-15 | 2024-05-21 | Mediatek Inc. | Adaptive thermal ceiling control system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003025745A2 (en) * | 2001-09-17 | 2003-03-27 | International Business Machines Corporation | System and method for performing power management on a distributed system |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274797A (en) * | 1986-05-30 | 1993-12-28 | Bull Hn Information Systems Inc. | Multiprocessor system with centralized initialization, testing and monitoring of the system and providing centralized timing |
US4805107A (en) * | 1987-04-15 | 1989-02-14 | Allied-Signal Inc. | Task scheduler for a fault tolerant multiple node processing system |
US5222239A (en) * | 1989-07-28 | 1993-06-22 | Prof. Michael H. Davis | Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources |
US5396635A (en) * | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5404563A (en) * | 1991-08-28 | 1995-04-04 | International Business Machines Corporation | Scheduling normally interchangeable facilities in multiprocessor computer systems |
US5745778A (en) * | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
EP0683451B1 (en) * | 1994-05-09 | 2004-02-25 | Canon Kabushiki Kaisha | Power supply control method in multi-task environment |
US5754436A (en) * | 1994-12-22 | 1998-05-19 | Texas Instruments Incorporated | Adaptive power management processes, circuits and systems |
US6192479B1 (en) * | 1995-01-19 | 2001-02-20 | Texas Instruments Incorporated | Data processing with progressive, adaptive, CPU-driven power management |
US5715184A (en) * | 1995-01-23 | 1998-02-03 | Motorola, Inc. | Method of parallel simulation of standard cells on a distributed computer system |
JPH09138716A (ja) * | 1995-11-14 | 1997-05-27 | Toshiba Corp | 電子計算機 |
US5761516A (en) * | 1996-05-03 | 1998-06-02 | Lsi Logic Corporation | Single chip multiprocessor architecture with internal task switching synchronization bus |
US5740409A (en) * | 1996-07-01 | 1998-04-14 | Sun Microsystems, Inc. | Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities |
JPH10340165A (ja) * | 1997-06-09 | 1998-12-22 | Canon Inc | 情報処理装置及びその方法並びにメモリ媒体 |
US6002409A (en) * | 1997-10-29 | 1999-12-14 | Cirrus Logic, Inc. | Arbitration for shared graphics processing resources |
US6947987B2 (en) * | 1998-05-29 | 2005-09-20 | Ncr Corporation | Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes |
US6141762A (en) * | 1998-08-03 | 2000-10-31 | Nicol; Christopher J. | Power reduction in a multiprocessor digital signal processor based on processor load |
JP2000132529A (ja) * | 1998-10-23 | 2000-05-12 | Sony Corp | 並列処理装置、並列処理方法および記録媒体 |
US6633563B1 (en) * | 1999-03-02 | 2003-10-14 | Nortel Networks Limited | Assigning cell data to one of several processors provided in a data switch |
US6345362B1 (en) * | 1999-04-06 | 2002-02-05 | International Business Machines Corporation | Managing Vt for reduced power using a status table |
US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
US6269043B1 (en) * | 2000-07-31 | 2001-07-31 | Cisco Technology, Inc. | Power conservation system employing a snooze mode |
EP1182552A3 (en) * | 2000-08-21 | 2003-10-01 | Texas Instruments France | Dynamic hardware configuration for energy management systems using task attributes |
EP1182556B1 (en) * | 2000-08-21 | 2009-08-19 | Texas Instruments France | Task based adaptive profiling and debugging |
US6625737B1 (en) * | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
US20030069985A1 (en) * | 2000-10-02 | 2003-04-10 | Eduardo Perez | Computer readable media for storing video data |
US7174194B2 (en) * | 2000-10-24 | 2007-02-06 | Texas Instruments Incorporated | Temperature field controlled scheduling for processing systems |
WO2002039242A1 (en) * | 2000-10-31 | 2002-05-16 | Millennial Net, Inc. | Networked processing system with optimized power efficiency |
US6779045B2 (en) * | 2001-03-21 | 2004-08-17 | Intel Corporation | System and apparatus for increasing the number of operations per transmission for a media management system |
US6922726B2 (en) * | 2001-03-23 | 2005-07-26 | International Business Machines Corporation | Web accessibility service apparatus and method |
US6901522B2 (en) * | 2001-06-07 | 2005-05-31 | Intel Corporation | System and method for reducing power consumption in multiprocessor system |
JP3610930B2 (ja) * | 2001-07-12 | 2005-01-19 | 株式会社デンソー | オペレーティングシステム、プログラム、車両用電子制御装置 |
US20030079151A1 (en) * | 2001-10-18 | 2003-04-24 | International Business Machines Corporation | Energy-aware workload distribution |
US7203943B2 (en) * | 2001-10-31 | 2007-04-10 | Avaya Technology Corp. | Dynamic allocation of processing tasks using variable performance hardware platforms |
US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
US7318164B2 (en) * | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
US6775787B2 (en) * | 2002-01-02 | 2004-08-10 | Intel Corporation | Instruction scheduling based on power estimation |
US7096145B2 (en) * | 2002-01-02 | 2006-08-22 | Intel Corporation | Deterministic power-estimation for thermal control |
WO2003083693A1 (fr) * | 2002-04-03 | 2003-10-09 | Fujitsu Limited | Planificateur de taches dans un systeme de traitement distribue |
US7254812B1 (en) * | 2002-05-31 | 2007-08-07 | Advanced Micro Devices, Inc. | Multi-processor task scheduling |
US7086058B2 (en) * | 2002-06-06 | 2006-08-01 | International Business Machines Corporation | Method and apparatus to eliminate processor core hot spots |
US7100060B2 (en) * | 2002-06-26 | 2006-08-29 | Intel Corporation | Techniques for utilization of asymmetric secondary processing resources |
JP3673245B2 (ja) * | 2002-06-28 | 2005-07-20 | 株式会社東芝 | 情報処理装置および同装置における電源制御方法 |
-
2004
- 2004-03-16 US US10/801,308 patent/US20050228967A1/en not_active Abandoned
-
2005
- 2005-03-14 JP JP2005071637A patent/JP4023546B2/ja not_active Expired - Fee Related
- 2005-03-15 CN CN2005800017425A patent/CN1906587B/zh active Active
- 2005-03-15 KR KR1020067015615A patent/KR20060127120A/ko not_active Application Discontinuation
- 2005-03-15 WO PCT/JP2005/005053 patent/WO2005088443A2/en not_active Application Discontinuation
- 2005-03-15 EP EP05721203A patent/EP1725935A2/en not_active Withdrawn
- 2005-03-16 TW TW094108058A patent/TWI274283B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003025745A2 (en) * | 2001-09-17 | 2003-03-27 | International Business Machines Corporation | System and method for performing power management on a distributed system |
Also Published As
Publication number | Publication date |
---|---|
KR20060127120A (ko) | 2006-12-11 |
WO2005088443A3 (en) | 2006-01-19 |
WO2005088443A2 (en) | 2005-09-22 |
US20050228967A1 (en) | 2005-10-13 |
JP4023546B2 (ja) | 2007-12-19 |
JP2005267635A (ja) | 2005-09-29 |
TW200612334A (en) | 2006-04-16 |
TWI274283B (en) | 2007-02-21 |
EP1725935A2 (en) | 2006-11-29 |
CN1906587A (zh) | 2007-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1906587B (zh) | 降低多处理器***中的功耗的方法和装置 | |
CN101460923B (zh) | 用于在m核处理器上操作n核应用程序的虚拟机 | |
CN102906726B (zh) | 协处理加速方法、装置及*** | |
US20080104609A1 (en) | System and method for load balancing distributed simulations in virtual environments | |
CN112799726B (zh) | 数据处理装置、方法及相关产品 | |
CN1942858A (zh) | 用于高效多任务化的方法和装置 | |
TW201217954A (en) | Power management in a multi-processor computer system | |
CN107743608B (zh) | 至硬件加速器的动态功率路由 | |
CN104252390A (zh) | 资源调度方法、装置和*** | |
CN103902322A (zh) | ***切换方法和电子设备 | |
CN110968532A (zh) | 数据传输方法及相关产品 | |
US9509562B2 (en) | Method of providing a dynamic node service and device using the same | |
Tran et al. | A new data layout scheme for energy-efficient MapReduce processing tasks | |
Klenk et al. | Analyzing communication models for distributed thread-collaborative processors in terms of energy and time | |
CN103902324A (zh) | ***启动方法和电子设备 | |
US8341638B2 (en) | Delegated virtualization across physical partitions of a multi-core processor (MCP) | |
CN105320240A (zh) | 电源管理***、功率控制方法 | |
US7818507B2 (en) | Methods and apparatus for facilitating coherency management in distributed multi-processor system | |
US8775840B2 (en) | Virtualization in a multi-core processor (MCP) | |
WO2010037720A1 (en) | Delegated virtualization in a multi-core processor (mcp) | |
Ziagham Ahwazi et al. | VEDA-moVE DAta to balance the grid: research directions and recommendations for exploiting data centers flexibility within the power system | |
Hegade et al. | Green cloud computing | |
Kobayashi | Feasibility Study of a Future HPC System for Memory-Intensive Applications | |
Vesseur et al. | Experiments in dynamic load balancing for parallel cluster computing | |
RU2710890C1 (ru) | Вычислительная система для научно-технических расчетов |
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 |