CN103513749A - 多集群处理***及其操作方法 - Google Patents
多集群处理***及其操作方法 Download PDFInfo
- Publication number
- CN103513749A CN103513749A CN201310236615.XA CN201310236615A CN103513749A CN 103513749 A CN103513749 A CN 103513749A CN 201310236615 A CN201310236615 A CN 201310236615A CN 103513749 A CN103513749 A CN 103513749A
- Authority
- CN
- China
- Prior art keywords
- core
- cluster
- control module
- disposal system
- many clusters
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 title abstract description 6
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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
-
- 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/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Processing Of Solid Wastes (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种多集群处理***以及操作多集群处理***的方法。所述多集群处理***包括:包括多个第一类型核的第一集群;包括多个第二类型核的第二集群;以及配置成监测所述第一类型核和所述第二类型核的负载的控制单元,其中当已启用的第一类型核中的至少一个的利用率超出每一个所述第一类型核的预定阈值利用率时,在第一模式中所述控制单元启用被禁用的第一类型核中的至少一个,并且在第二模式中所述控制单元启用被禁用的第二类型核中的至少一个并且禁用第一集群,其中每一个所述第二类型核的单位时间计算量大于每一个所述第一类型核的单位时间计算量。
Description
相关申请的交叉引用
本申请要求2012年6月15日在韩国知识产权局提交的韩国专利申请No.10-2012-0064450的优先权,该韩国申请的全部公开内容以引用的方式合并于本申请中。
技术领域
根据示例性实施例的设备和方法涉及多集群处理。
背景技术
电子装置的不断增加的便携性和性能促使引入了具有多集群的处理器,以便降低电子装置的功耗。
使用多集群的示例性模式是切换模式。在切换模式中,如果在操作期间向包含在集群中的所有多个核供电,则功耗可能过大。
发明内容
一个或多个示例性实施例的各方面可以提供一种多集群处理***,该***在操作期间具有降低的功耗。
一个或多个示例性实施例的各方面还可以提供一种操作多集群处理***的方法,该***在操作期间具有降低的功耗。
然而,本发明构思不限于此处所阐述的示例性实施例的上述各方面。通过参考下文中给出的具体描述,示例性实施例的上述以及其它方面对于所述示例性实施例所属领域的普通技术人员而言将更加显而易见。
根据示例性实施例的一个方面,提供了一种多集群处理***,该***包括:包括多个第一类型核的第一集群;包括多个第二类型核的第二集群;以及控制单元,在发生第一事件时该控制单元启用所述第一类型核中的至少一个被禁用的第一类型核,并且在发生不同于所述第一事件的第二事件时,所述控制单元禁用所述第一类型核中所有已启用的第一类型核并启用被禁用的第二类型核中的至少一个,其中每一个所述第二类型核的单位时间计算量大于每一个所述第一类型核的单位时间计算量。
根据其它示例性实施例的一个方面,提供了一种操作多集群处理***的方法,该方法包括步骤:提供包括n个第一核的小集群以及包括n个第二核的大集群,其中n是自然数;在待处理的若干线程减少了m个时禁用k个已启用的第一核中的m个第一核,其中m是小于n的自然数,并且m≤k<n;以及当所述k个已启用的第一核中的一个的利用率超出预定阈值利用率时,禁用所有所述k个已启用的第一核并且启用所述n个第二核中的k个第二核;其中所述n个第二核中的每一个的单位时间计算量大于所述n个第一核中的每一个的单位时间计算量。
根据其它示例性实施例的一个方面,提供了一种多集群处理***,该***包括:包括多个第一类型核的第一集群;包括多个第二类型核的第二集群;策略确定单元,其基于低电力调度策略和高性能调度策略之一来确定策略并且输出所确定的策略;以及电力管理单元,其基于从所述策略确定单元接收的所确定的策略来启用或禁用所述第一类型核和所述第二类型核;其中每一个所述第二类型核的单位时间计算量大于每一个所述第一类型核的单位时间计算量。
附图说明
参考附图,示例性实施例的上述和其它方面将变得更加显而易见,在附图中:
图1是根据一个示例性实施例的多集群处理***的概念性框图;
图2是根据一个示例性实施例示出图1所示的多集群处理***的操作的流程图;
图3至图6是根据一个示例性实施例示出图1所示的多集群处理***的操作的图示;
图7是根据另一个示例性实施例的多集群处理***的概念性框图;
图8是根据一个示例性实施例示出图7所示的多集群处理***的操作的流程图;
图9至图11是根据一个示例性实施例示出图7所示的多集群处理***的操作的图示;
图12是对其应用了根据上述示例性实施例中的任一个的多集群处理***的电子***的框图。
具体实施方式
通过参考下面对优选实施例的详细描述以及附图,将更容易理解本发明构思的优点和特征。然而,本发明构思可以以多种不同形式实现,不应当理解为限于此处阐述的示例性实施例。更确切地,提供这些实施例是为了本公开是彻底的且完整的,并且向本领域技术人员充分传达本发明构思,本发明构思仅由所附权利要求书限定。在附图中,为了清楚起见而夸大了层和区域的厚度。
在描述示例性实施例的上下文中(尤其在权利要求的上下文中),词语“一”、“一个”、“该”以及类似的指代的使用应当理解为涵盖单个和多个,除非本文中另外明确指出或者与上下文明显矛盾。术语“包括”、“具有”、“包含”以及“含有”应当理解为开放式词语(即,意指“包括,但不限于”),除非另外明确指出。
应当理解,尽管在此处使用词语“第一”、“第二”等描述各种元件,但这些元件不应当受这些词语的限制。这些词语仅用于将一个元件与另一个元件区分开。因此,例如,下文中讨论的第一元件、第一部件或第一部分也可以命名为第二元件、第二部件或第二部分,而不脱离示例性实施例的教导。
此处使用的术语“单元”或“模块”意思是(但不限于)执行特定任务的软件或硬件部件,例如现场可编程门阵列(FPGA)或者特定用途集成电路(ASIC)。单元或模块可以有利地配置成存在于可寻址存储介质中并且配置成在一个或多个处理器上执行。因此,举例而言,单元或模块可以包括构件(例如,软件构件、面对对象软件构件、类构件以及任务构件)、过程、函数、属性、进程、子例程、程序代码的片段、驱动、固件、微代码、电路、数据、数据库、数据结构、表格、数组和变量。在多个构件和单元或模块中提供的功能性可以组合成更少的构件和单元或模块,或者被进一步分成另外的构件和单元或模块。
除非另外定义,本申请中使用的所有技术术语和科学术语的意思与示例性实施例所属领域的普通技术人员一般理解的意思相同。注意,在本文中提供的任何以及所有实例或示例性术语的使用仅仅意图更好地说明示例性实施例,而并不限制本发明构思的范围,除非另外指出。此外,除非另外定义,在常用字典中定义的所有术语不能被过度解释。
图1是根据一个示例性实施例的多集群处理***的概念性框图。
参考图1,该多集群处理***包括第一集群200、第二集群300以及控制单元400。
第一集群200可以布置在处理器100内。第一集群200可以包括n(n是自然数)个第一核250。在本说明书中,为了便于描述,将以第一集群200包括四个(即,n=4)第一核210至240的情况为例进行描述。然而,实施例不限于该情况。
第二集群300也可以布置在处理器100中并且包括n个第二核350。第一集群200和第二集群300可以布置在单个芯片内。如图1所示,第二集群300可以与第一集群200分开。为了便于描述,将以第二集群300包括四个(即,n=4)第二核310至340的情况为例进行描述。然而,实施例不限于该情况。
在图1中,包含在第一集群200中的第一核250的数量等于包含在第二集群300中的第二核350的数量。然而,实施例不限于此。在一些实施例中,包含在第一集群200中的第一核250的数量可以不同于包含在第二集群300中的第二核350的数量。
此外,在图1中,仅第一集群200和第二集群300布置在处理器100中。然而,实施例不限于此。也可以在处理器100中布置与第一集群200和第二集群300分开的包含第三核(未示出)的第三集群(未示出)。
在当前实施例中,第一集群200可以是例如小集群,第二集群300可以是例如大集群。换而言之,包含在第一集群200中的每一个第一核250的单位时间计算量可以小于包含在第二集群300中的每一个第二核350的单位时间计算量。因此,在启用包含在第一集群200中的所有第一核250以执行操作时的计算时间量会小于在启用包含在第二集群300中的所有第二核350以执行操作时的计算时间量。此外,实施例也使得,与包含在第二集群300中的每一个第二核350相比,包含在第一集群200中的每一个第一核250功耗更小。
在当前实施例中,包含在第一集群200中的第(1-1)至第(1-4)核210至240可以在单位时间执行相同的计算量,包含在第二集群300中的第(2-1)至第(2-4)核310至340可以在单位时间执行相同的计算量。例如,如果第(1-1)至第(1-4)核210至240中的每一个的单位之间计算量是10,则第(2-1)至第(2-4)核310至340中的每一个的单位时间计算量可以是40。基于该假设,将在下文中描述根据当前实施例的多集群处理***的操作。然而,实施例不限于该假设。尽管实施例所属领域普通技术人员能够容易地修改的特征未包含在下面的描述中,但是这些特征包含在实施例的范围内。
控制单元400可以按需要启用或禁用第一集群200和第二集群300。具体而言,当需要由第一集群200执行操作时,控制器400可以启用第一集群200并且禁用第二集群300。相反,当需要由第二集群300执行操作时,控制器400可以启用第二集群300并且禁用第一集群200。此外,当所需计算量能够完全由第一集群200的第(1-1)核210处理时,控制单元400可以启用第一集群200并且禁用第二集群300。甚至在第一集群200内,控制单元400可以启用第(1-1)核210并且禁用第(1-2)至第(1-4)核220至240。换而言之,根据当前实施例,控制单元400可以决定是否启用整个第一集群200以及整个第二集群300。此外,控制单元400可以决定是否启用包含在第一集群200中的第(1-1)至第(1-4)核210至240中的每一个以及包含在第二集群300中的第(2-1)至第(2-4)核310至340中的每一个。
在一些实施例中,如图中所示,控制单元400可以是例如电力管理单元。换而言之,根据当前实施例,当控制单元400启用第一集群200和第二集群300以及/或者包含在第一集群200中的核210至240和包含在第二集群300中的核310至340时,这表示控制单元400通过向第一集群200和第二集群300以及/或者包含在第一集群200中的核210至240和包含在第二集群300中的核310至340供电而对它们进行操作。此外,当控制单元400禁用第一集群200和第二集群300以及/或者包含在第一集群200中的核210至240和包含在第二集群300中的核310至340时,这表示控制单元400通过切断电源来激活第一集群200和第二集群300以及/或者包含在第一集群200中的核210至240和包含在第二集群300中的核310至340的操作。下面将描述根据当前实施例的控制单元400是电力管理单元的情况。然而,实施例不限于该情况,控制单元400的配置可以根据需要改变。尽管在附图中未示出,但是在一些实施例中,控制单元400可以通过向第一集群200和第二集群300以及/或者包含在第一集群200中的核210至240和包含在第二集群300中的核310至340传送启用信号或禁用信号来启用或禁用它们。
下文中,将参考图2至图6描述图1所示的多集群处理***的操作。
图2是示出图1所示的多集群处理***的操作的流程图。图3至图6是示出图1所示的多集群处理***的操作的图示。
为了更易于描述根据当前实施例的多集群处理***的操作特性,可以假设该多集群处理***初始处于这样一种状态,即,包含在第一集群200中的第(1-1)核210和第(1-2)核220被启用,而包含在第一集群200中的第(1-3)核230和第(1-4)核240以及包含在第二集群300中的第(2-1)至第(2-4)核310至340被禁用。然而,这仅仅是一个例子。只要实施例所属领域普通技术人员理解下文中描述的实施例的技术要旨,他们就可以对该实施例作出任何修改。
参考图2,将待处理线程的数量与已启用的第一核的数量相比较(操作S100)。当待处理线程的数量大于已启用的第一核的数量时,启用另外的第一核(操作S110)。
具体而言,参考图3,当由内核500提供的待处理线程510的数量为2时且当已启用的第一核250的数量为2(第(1-1)核210和第(1-2)核220)时(见图左侧),由于已启用的第(1-1)核210和已启用的第(1-2)核220可以分别处理线程510,所以控制单元400不采取任何动作。然而,当由内核510提供的待处理线程510的数量为3时(见图右侧),由于已启用的第一核250的数量小于待处理线程510的数量,所以控制单元400可以另外启用包含在第一集群200中的第(1-3)核230,使得被启用的第(1-3)核230处理相应的线程。在图3中,启用第(1-3)核230。然而,实施例不限于此。在必要时,控制单元400可以启用第(1-4)核240而不是第(1-3)核230。
再次参考图2,待处理线程的数量与已启用的第一核的数量的比较(操作S100)的结果指示待处理线程的数量小于已启用的第一核的数量,不必要地被启用的第一核被禁用(操作S120)。
具体而言,参考图4,当由内核500提供的待处理线程510的数量为2时且当已启用的第一核250的数量为2(第(1-1)核210和第(1-2)核220)时(见图左侧),由于已启用的第(1-1)核210和第(1-2)核220可以分别处理待处理线程510,所以控制单元400不采取任何动作。然而,当由内核500提供的待处理线程510的数量为1时(见图右侧),由于已启用的第一核250的数量大于待处理线程510的数量,所以控制单元400禁用已启用的第(1-1)核210和第(1-2)核220中的不必要地被启用的第(1-2)核220。在图4中,禁用第(1-2)核220。然而,实施例不限于此。在必要时,控制单元400可以禁用第(1-1)核210而不是第(1-2)核220。
再次参考图2,检测每个已启用的第一核的空闲时间是否超过预定阈值时间(S130)。当检测到存在其空闲时间超出所述预定阈值时间的第一核时,禁用该第一核(操作S140)。
具体而言,参考图5,第(1-1)核210的空闲时间IT包括超出阈值时间TT的部分,但是第(1-2)核220的空闲时间IT不包含超出阈值时间TT的部分(见图左侧)。这表示需要处理的计算量并不是大到要启用第(1-1)核210和第(1-2)核220二者。因此,控制单元400可以禁用其空闲时间IT包含超出阈值时间TT的部分的第(1-1)核210(见图右侧)。因此,正在由第(1-1)核210执行的操作可以由例如已启用的第(1-2)核220执行。
再次参考图2,检测每个已启用的第一核的利用率是否超过预定阈值利用率(S150)。当检测到存在其利用率超出所述预定阈值利用率的第一核时,启用第二集群(操作S160)。
具体而言,参考图6,已启用的第(1-1)核210的利用率没有超过阈值利用率TU,但是已启用的第(1-2)核220的利用率超过了阈值利用率TU(见图左侧)。在这种情况下,控制单元400禁用第一集群200并且启用第二集群300,从而第二集群300继续执行正由第一集群200执行的操作。具体而言,控制单元400禁用第一集群200的已启用的第(1-1)核210和第(1-2)核220,并且启用第二集群300的第(2-1)核310和第(2-2)核320。因此,第一集群200被禁用,且第二集群300被启用。
在当前实施例中,当启用第二集群300时,控制单元400可以启用与被启用的第一核250的数量相同数量的第二核350。换而言之,控制单元400可以并不启用包含在第二集群300中所有第二核350,而是可以启用与被启用的第一核250的数量相对应数量的第二核350。在图6的例子中,第一集群200的第(1-1)核210和第(1-2)核220已被启用并正在执行操作。因此,控制单元400禁用第(1-1)核210和第(1-2)核220。此外,控制单元400可以仅启用第(2-1)核310和第(2-2)核320而第(2-3)核330和第(2-4)核340保持禁用。在当前实施例中,第(2-1)核310和第(2-2)核320中每一个的单位时间计算量大于(例如,四倍于)第(1-1)核210和第(1-2)核220中每一个的单位时间计算量。因此,可以理解,第(2-1)核310和第(2-2)核320中每一个的利用率都不超过所述阈值利用率TU。
概括而言,根据当前实施例的多集群处理***的控制单元400考虑待处理线程的数量以及每一个已启用的第一核250的空闲时间来决定启用或禁用包含在第一集群200中的第一核250。此外,控制单元400考虑每个已启用的第一核210的利用率来决定启用或禁用第一集群200和第二集群300。当禁用第一集群200并且启用第二集群300时,控制单元400启用与被启用的第一核250的数量相同数量的第二核350。如上所述,根据当前实施例的多集群处理***仅启用和操作所需数量的第一核250或第二核350以处理所需计算量。因此,该多集群处理***能够避免不必要的电力浪费,由此减小操作期间的功耗。
下文中将参考图7描述根据另一实施例的多集群处理***。
图7是根据另一个实施例的多集群处理***的概念性框图。
参考图7,该多集群处理***包括第一集群200、第二集群300以及控制单元400和模式确定单元600。
第一集群200可以布置在处理器100内。第一集群200可以包括n(n是自然数)个第一核250。为了便于描述,将以第一集群200包括四个(即,n=4)第一核210至240的情况为例进行描述。
第二集群300也可以布置在处理器100中并且包括n个第二核350。如图7所示,第二集群300可以与第一集群200分开。为了便于描述,将以第二集群300包括四个(即,n=4)第一核310至340的情况为例进行描述。然而,在一些实施例中,包含在第一集群200中的第一核250的数量可以不同于包含在第二集群300中的第二核350的数量。
在当前实施例中,如上所述,第一集群200可以是例如小集群,第二集群300可以是例如大集群。因此,包含在第一集群200中的每一个第一核250的单位时间计算量可以小于包含在第二集群300中的每一个第二核350的单位时间计算量。此处,包含在第一集群200中的第(1-1)至第(1-4)核210至240可以在单位时间执行相同的计算量,包含在第二集群300中的第(2-1)至第(2-4)核310至340可以在单位时间执行相同的计算量。
控制单元400可以按需要启用或禁用第一集群200和第二集群300。具体而言,控制单元400可以决定是否启用整个第一集群200以及整个第二集群300。此外,控制单元400可以决定是否启用包含在第一集群200中的第(1-1)至第(1-4)核210至240中的每一个以及包含在第二集群300中的第(2-1)至第(2-4)核310至340中的每一个。在当前实施例中,如图中所示,控制单元400可以是例如电力管理单元。然而,在一些其它实施例中,控制单元400可以通过向第一集群200和第二集群300以及/或者包含在第一集群200中的核210至240和包含在第二集群300中的核310至340传送启用信号或禁用信号来启用或禁用它们。
根据当前实施例,控制单元400可以根据由模式确定单元600确定的模式以不同的方式控制第一集群200和第二集群300。换而言之,当模式确定单元600确定的模式是使功耗最小化的低电力调度模式“低电力”时的控制单元400的操作,可以不同于当模式确定单元600确定的模式是使***性能最大化的高性能调度模式“高速”时的控制单元400的操作。
模式确定单元600可以确定该多集群处理***的模式。具体而言,模式确定单元600可以确定使功耗最小化的低电力调度模式“低电力”以及使***性能最大化的高性能调度模式“高速”中的任意一个。模式确定单元600确定的模式可以根据***操作环境实时变化,或者可以在该多集群处理***的初始操作时由用户固定。
下文中,将参考图8至图11描述图7所示的多集群处理***的操作。
图8是示出图7所示的多集群处理***的操作的流程图。图9至图11是示出图7所示的多集群处理***的操作的图示。
为了更易于描述根据当前实施例的多集群处理***的操作特性,可以假设该多集群处理***初始处于这样一种状态,即,包含在第一集群200中的第(1-1)核210和第(1-2)核220被启用,而包含在第一集群200中的第(1-3)核230和第(1-4)核240以及包含在第二集群300中的第(2-1)至第(2-4)核310至340被禁用。然而,这仅仅是一个例子。只要实施例所属领域普通技术人员理解下文中描述的实施例的技术要旨,他们就可以对该实施例作出任何修改。
参考图8,将待处理线程的数量与已启用的第一核的数量相比较(操作S200)。当待处理线程的数量大于已启用的第一核的数量时,启用另外的第一核(操作S210)。相反,当待处理线程的数量小于已启用的第一核的数量时,禁用不必要地被启用的第一核(操作S220)。已经描述了根据先前实施例的多集群处理***的操作。因此,将省略对其的重复描述。
参考图8,检测每个已启用的第一核的空闲时间是否超过预定阈值时间(操作S230)。当检测到存在其空闲时间超出所述预定阈值时间的第一核时,禁用该第一核(操作S240)。已经描述了根据先前实施例的多集群处理***的操作。因此,将省略对其的重复描述。
参考图8,检测每个已启用的第一核的利用率是否超过预定阈值利用率(操作S250)。当检测到存在其利用率超出所述预定阈值利用率的第一核时,识别已确定的模式(操作S260)。当已确定的模式是低电力调度模式时,启用另外的第一核以减小超出预定阈值利用率的第一核的利用率(操作S270)。
具体而言,参考图9,已启用的第(1-1)核210的利用率没有超过阈值利用率TU,但是已启用的第(1-2)核220的利用率超过了阈值利用率TU。此处,模式确定单元600确定的模式是低电力调度模式“低电力”(见图左侧)。
在这种情况下,根据当前实施例,控制单元400不会禁用第一集群200或者启用第二集群300。相反,控制单元400可以另外启用包含在第一集群200中的第一核250。在图9中,另外启用第(1-3)核230(见图右侧)。被启用的第(1-3)核230执行正由第(1-2)核220执行的操作的一部分。因此,第(1-2)核220的利用率没有超过阈值利用率TU。
换而言之,在多集群处理***的操作模式是低电力调度模式“低电力”时,控制单元400通过另外启用第一核250来操作该多集群处理***,第一核250的功耗小于第二核350,这是因为第一核250的单位时间计算量小于第二核350的单位时间计算量。
再次参考图8,在操作S260中识别出已确定的模式是高性能调度模式时,禁用第一集群以降低超过预定阈值利用率的第一核的利用率,并且启用第二集群(操作S280)。
具体而言,参考图10,已启用的第(1-1)核210的利用率没有超过阈值利用率TU,但是已启用的第(1-2)核220的利用率超过了阈值利用率TU。此处,模式确定单元600确定的模式是高性能调度模式“高速”(见图左侧)。在这种情况下,根据当前实施例,控制单元400可以禁用第一集群200并且启用第二集群300,从而第二集群300继续执行正由第一集群200执行的操作。换而言之,控制单元400禁用第一集群200中的已启用的第(1-1)核210和第(1-2)核220,并且启用第二集群300中的第(2-1)核310和第(2-2)核320,同时第二集群300中的第(2-3)核330和第(2-4)核340保持禁用。换而言之,当启用第二集群300时,控制单元400可以启用与被启用的第一核250的数量相同数量的第二核350。概括而言,在多集群处理***的操作模式是高性能调度模式“高速”时,控制单元400通过启用第二核350来操作该多集群处理***,第二核350能够以高于第一核250的速度操作,这是因为每一个第二核350的单位时间计算量大于每一个第一核250的单位时间计算量。
在一些实施例中,控制单元可以以不同于图10中的方式操作。具体而言,参考图11,当如图10那样已启用的第(1-2)核220的利用率超过阈值利用率TU且当模式确定单元600确定的模式是高性能调度模式“高速”时(见图左侧),控制单元400可以禁用第一集群200并且启用第二集群300。此处,控制单元400可以仅启用所需数量的第二核350,以处理正由第一集群200执行的计算量(见图右侧)。
如图11所示,当确定由第(1-1)核210和第(1-2)核220执行的计算量能够由第(2-1)核310单独执行时(当确定第(2-1)核310的单位时间计算量大于第(1-1)核210的单位时间计算量与第(1-2)核220的单位时间计算量之和时),控制单元400可以禁用第一集群200中的已启用的第(1-1)核210和第(1-2)核220,并且仅启用第(2-1)核310,同时第二集群300中的第(2-2)至(2-4)核320至340保持禁用。
如上所述,根据当前实施例的多集群处理***基于所确定的***模式,仅启用和操作所需数量的第一核250或第二核350以处理所需计算量。因此,该多集群处理***能够避免不必要的电力浪费,由此减小操作期间的功耗。
图12是对其应用了根据上述示例性实施例中的任一个的多集群处理***的电子***900的框图。
参考图12,电子***900可以是移动装置、计算机等。电子装置900可以包括存储器***912、处理器***914、随机存取存储器(RAM)916和用户接口918。存储器***912、处理器914和RAM916以及用户接口918可以使用总线920彼此进行数据通信。
处理器914可以执行程序并控制电子***900。根据前述实施例中的任一个的多集群处理***可以用在处理器***914中。
RAM916可以用作处理器***914的操作存储器。在一些实施例中,处理器***914和RAM916可以包含在一个封装件内。
用户接口918可以用于向电子***900输入数据或从电子***900输出数据。当根据上述实施例中任一个的多集群处理***用在处理器***914中时,用户可以通过用户接口918确定该多集群处理***的模式(例如,低电力调度模式或高性能调度模式)。
存储器***912可以存储用于操作处理器***914的代码、由处理器***914处理的数据或者从外部源输入的数据。存储器***912可以包括控制器和存储器并且可以配置成存储卡。
电子***900可以应用于各种电子设备的电子控制器。例如,电子***900可以应用于移动***、个人计算机、工业计算机或者执行各种功能的逻辑***。例如,所述移动***可以是个人数字助理(PDA)、便携式计算机、上网本、移动电话、无线电话、膝上型计算机、存储卡、数字音乐***以及信息传输/接收***中的任何一种。当电子***900是能够执行无线通信的设备时,其可以用于诸如码分多址(CDMA)、全球移动通信***(GSM)、北美数字蜂窝(NADC)、增强型时分多址(E-TDMA)、宽带CDMA(WCDMA)、CDMA-2000等的通信***。
在该详细描述中,本领域技术人员将理解,在不实质上脱离本发明构思的原理的情况下,可以对以上示例性实施例进行多种变化和修改。因此,仅在概括和描述的意义上而不是出于限制的目的使用上述示例性实施例。
Claims (18)
1.一种多集群处理***,包括:
第一集群,其包括多个第一类型核;
第二集群,其包括多个第二类型核;以及
控制单元,其配置成监测所述第一类型核和所述第二类型核的负载,
其中当已启用的第一类型核中的至少一个的利用率超出每一个所述第一类型核的预定阈值利用率时,在第一模式中所述控制单元启用被禁用的第一类型核中的至少一个,并且在第二模式中所述控制单元启用被禁用的第二类型核中的至少一个并且禁用所述第一集群,
其中每一个所述第二类型核的单位时间计算量大于每一个所述第一类型核的单位时间计算量。
2.权利要求1的多集群处理***,其中在所述第二模式中,所述控制单元仅启用被禁用的第二类型核中的一部分并且禁用所述第一集群。
3.权利要求1的多集群处理***,其中所述第一集群和所述第二集群布置在单个芯片中。
4.权利要求1的多集群处理***,其中当该多集群处理***处于低电力模式时,所述控制单元处于所述第一模式。
5.权利要求1的多集群处理***,其中当该多集群处理***处于高性能模式时,所述控制单元处于所述第二模式。
6.权利要求1的多集群处理***,其中在所述第二模式中,所述控制单元启用所述第二集群中第一数量的第二类型核并且禁用所述第一集群中第二数量的第一类型核,
其中,所述第一数量小于所述第二数量。
7.权利要求1的多集群处理***,其中在所述第二模式中,所述控制单元启用所述第二集群中第一数量的第二类型核并且禁用所述第一集群中第二数量的第一类型核,
其中,所述第一数量等于所述第二数量。
8.权利要求4的多集群处理***,其中所述控制单元从模式确定单元接收低电力模式信号。
9.权利要求5的多集群处理***,其中所述控制单元从模式确定单元接收高性能模式信号。
10.权利要求1的多集群处理***,其中所述控制单元还监测每一个所述第一类型核的空闲时间并且将该空闲时间与每一个所述第一类型核的预定阈值时间相比较,并且其中所述控制单元禁用其空闲时间超出所述预定阈值时间的所述第一类型核中的至少一个。
11.权利要求1的多集群处理***,其中每一个所述第一类型核在单位时间执行相同的计算量,并且每一个所述第二类型核在单位时间执行相同的计算量。
12.一种操作多集群处理***的方法,该方法包括步骤:
提供包括多个第一类型核的第一集群和包括多个第二类型核的第二集群;
当所述多集群处理***处于第一模式并且已启用的第一类型核中的至少一个的利用率超出每一个所述第一类型核的预定阈值利用率时,禁用已启用的第一类型核中的至少一个;以及
当所述多集群处理***处于第二模式并且已启用的第一类型核中的至少一个的利用率超出每一个所述第一类型核的所述预定阈值利用率时,禁用所述第一集群并且启用被禁用的第二类型核中的至少一个;
其中每一个所述第二类型核的单位时间计算量大于每一个所述第一类型核的单位时间计算量。
13.权利要求12的方法,还包括步骤:
监测每一个所述第一类型核的空闲时间并且将该空闲时间与每一个所述第一类型核的预定阈值时间相比较,
禁用其空闲时间超出所述预定阈值时间的所述第一类型核中的至少一个。
14.权利要求12的方法,其中所述第一模式是低电力模式。
15.权利要求12的方法,其中所述第二模式是高性能模式。
16.权利要求12的方法,其中禁用所述第一集群并且启用被禁用的第二类型核中的至少一个的步骤包括:禁用所述第一集群并且仅启用被禁用的第二类型核中的一部分。
17.权利要求12的方法,其中禁用所述第一集群并且启用被禁用的第二类型核中的至少一个的步骤包括:禁用所述第一集群中第二数量的第一类型核并且启用所述第二集群中第一数量的第二类型核,
其中,所述第一数量小于所述第二数量。
18.权利要求12的方法,其中禁用所述第一集群并且启用被禁用的第二类型核中的至少一个的步骤包括:禁用所述第一集群中第二数量的第一类型核并且启用所述第二集群中第一数量的第二类型核,
其中,所述第一数量等于所述第二数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0064450 | 2012-06-15 | ||
KR1020120064450A KR101975288B1 (ko) | 2012-06-15 | 2012-06-15 | 멀티 클러스터 프로세싱 시스템 및 그 구동 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103513749A true CN103513749A (zh) | 2014-01-15 |
CN103513749B CN103513749B (zh) | 2018-11-16 |
Family
ID=48226987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310236615.XA Active CN103513749B (zh) | 2012-06-15 | 2013-06-14 | 多集群处理***及其操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9043629B2 (zh) |
EP (1) | EP2674863B1 (zh) |
JP (1) | JP2014002740A (zh) |
KR (1) | KR101975288B1 (zh) |
CN (1) | CN103513749B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750228A (zh) * | 2015-03-26 | 2015-07-01 | 广东欧珀移动通信有限公司 | 一种降低多核处理器功耗的方法及装置 |
CN106200707A (zh) * | 2015-05-08 | 2016-12-07 | 展讯通信(上海)有限公司 | 一种电子设备的温度控制方法及装置 |
CN107544659A (zh) * | 2017-09-28 | 2018-01-05 | 惠州Tcl移动通信有限公司 | 移动终端及传感器与显示屏共电源控制方法、及存储介质 |
CN110968415A (zh) * | 2018-09-29 | 2020-04-07 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
CN111597042A (zh) * | 2020-05-11 | 2020-08-28 | Oppo广东移动通信有限公司 | 业务线程运行方法、装置、存储介质及电子设备 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9980114B2 (en) | 2013-03-15 | 2018-05-22 | Elwha Llc | Systems and methods for communication management |
US9781664B2 (en) | 2012-12-31 | 2017-10-03 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9451394B2 (en) | 2012-12-31 | 2016-09-20 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9832628B2 (en) | 2012-12-31 | 2017-11-28 | Elwha, Llc | Cost-effective mobile connectivity protocols |
US8965288B2 (en) | 2012-12-31 | 2015-02-24 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9713013B2 (en) | 2013-03-15 | 2017-07-18 | Elwha Llc | Protocols for providing wireless communications connectivity maps |
US9876762B2 (en) * | 2012-12-31 | 2018-01-23 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9635605B2 (en) | 2013-03-15 | 2017-04-25 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9813887B2 (en) | 2013-03-15 | 2017-11-07 | Elwha Llc | Protocols for facilitating broader access in wireless communications responsive to charge authorization statuses |
US9706060B2 (en) | 2013-03-15 | 2017-07-11 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9693214B2 (en) | 2013-03-15 | 2017-06-27 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9596584B2 (en) | 2013-03-15 | 2017-03-14 | Elwha Llc | Protocols for facilitating broader access in wireless communications by conditionally authorizing a charge to an account of a third party |
US9706382B2 (en) | 2013-03-15 | 2017-07-11 | Elwha Llc | Protocols for allocating communication services cost in wireless communications |
US9781554B2 (en) | 2013-03-15 | 2017-10-03 | Elwha Llc | Protocols for facilitating third party authorization for a rooted communication device in wireless communications |
US9807582B2 (en) | 2013-03-15 | 2017-10-31 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9866706B2 (en) | 2013-03-15 | 2018-01-09 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9843917B2 (en) | 2013-03-15 | 2017-12-12 | Elwha, Llc | Protocols for facilitating charge-authorized connectivity in wireless communications |
US20140281592A1 (en) * | 2013-03-18 | 2014-09-18 | Advanced Micro Devices, Inc. | Global Efficient Application Power Management |
KR102276914B1 (ko) | 2013-10-24 | 2021-07-13 | 삼성전자주식회사 | 비디오 인코딩 장치 그리고 이의 구동 방법 |
US10031573B2 (en) * | 2014-11-17 | 2018-07-24 | Mediatek, Inc. | Energy efficiency strategy for interrupt handling in a multi-cluster system |
KR20180107948A (ko) * | 2017-03-23 | 2018-10-04 | 한국전자통신연구원 | 이종 멀티코어 시스템 기반 거버너 제어 장치 및 방법 |
US10528118B2 (en) * | 2017-04-21 | 2020-01-07 | Intel Corporation | Dynamically power on/off register files during execution |
KR20230106865A (ko) * | 2022-01-07 | 2023-07-14 | 울산과학기술원 | 스레드 할당 방법, 컴퓨터 판독 가능한 기록 매체, 컴퓨터 프로그램 및 장치 |
KR102644719B1 (ko) * | 2023-04-07 | 2024-03-08 | 메티스엑스 주식회사 | 다중 스레드의 비동기적인 실행이 가능한 매니코어 시스템 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334089B2 (en) | 2003-05-20 | 2008-02-19 | Newisys, Inc. | Methods and apparatus for providing cache state information |
US7353362B2 (en) | 2003-07-25 | 2008-04-01 | International Business Machines Corporation | Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus |
US7249224B2 (en) | 2003-08-05 | 2007-07-24 | Newisys, Inc. | Methods and apparatus for providing early responses from a remote data cache |
EP1555595A3 (en) | 2004-01-13 | 2011-11-23 | LG Electronics, Inc. | Apparatus for controlling power of processor having a plurality of cores and control method of the same |
KR100663864B1 (ko) | 2005-06-16 | 2007-01-03 | 엘지전자 주식회사 | 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법 |
JP3938387B2 (ja) | 2005-08-10 | 2007-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンパイラ、制御方法、およびコンパイラ・プログラム |
US20080005591A1 (en) | 2006-06-28 | 2008-01-03 | Trautman Mark A | Method, system, and apparatus for dynamic thermal management |
JP5182792B2 (ja) | 2007-10-07 | 2013-04-17 | アルパイン株式会社 | マルチコアプロセッサ制御方法及び装置 |
JP2009193536A (ja) | 2008-02-18 | 2009-08-27 | Toshiba Corp | プロセッサ装置 |
US20090271646A1 (en) * | 2008-04-24 | 2009-10-29 | Vanish Talwar | Power Management Using Clustering In A Multicore System |
US20110213998A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US20110213950A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
JP5091912B2 (ja) | 2009-05-21 | 2012-12-05 | 株式会社東芝 | マルチコアプロセッサシステム |
KR101032873B1 (ko) | 2009-07-14 | 2011-05-06 | 한양대학교 산학협력단 | 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법 |
KR101648978B1 (ko) | 2009-11-05 | 2016-08-18 | 삼성전자주식회사 | 저전력 멀티코어 시스템에서의 전력 제어 방법 및 장치 |
US8418187B2 (en) * | 2010-03-01 | 2013-04-09 | Arm Limited | Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system |
JP5531679B2 (ja) | 2010-03-04 | 2014-06-25 | 日本電気株式会社 | Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム |
US8607083B2 (en) | 2010-04-01 | 2013-12-10 | Intel Corporation | Method and apparatus for interrupt power management |
-
2012
- 2012-06-15 KR KR1020120064450A patent/KR101975288B1/ko active IP Right Grant
-
2013
- 2013-03-13 US US13/798,681 patent/US9043629B2/en active Active
- 2013-04-25 EP EP13165421.2A patent/EP2674863B1/en active Active
- 2013-06-14 CN CN201310236615.XA patent/CN103513749B/zh active Active
- 2013-06-17 JP JP2013126488A patent/JP2014002740A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750228A (zh) * | 2015-03-26 | 2015-07-01 | 广东欧珀移动通信有限公司 | 一种降低多核处理器功耗的方法及装置 |
CN104750228B (zh) * | 2015-03-26 | 2018-09-04 | 广东欧珀移动通信有限公司 | 一种降低多核处理器功耗的方法及装置 |
CN106200707A (zh) * | 2015-05-08 | 2016-12-07 | 展讯通信(上海)有限公司 | 一种电子设备的温度控制方法及装置 |
CN107544659A (zh) * | 2017-09-28 | 2018-01-05 | 惠州Tcl移动通信有限公司 | 移动终端及传感器与显示屏共电源控制方法、及存储介质 |
CN107544659B (zh) * | 2017-09-28 | 2021-09-14 | 惠州Tcl移动通信有限公司 | 移动终端及传感器与显示屏共电源控制方法、及存储介质 |
CN110968415A (zh) * | 2018-09-29 | 2020-04-07 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
CN110968415B (zh) * | 2018-09-29 | 2022-08-05 | Oppo广东移动通信有限公司 | 多核处理器的调度方法、装置及终端 |
CN111597042A (zh) * | 2020-05-11 | 2020-08-28 | Oppo广东移动通信有限公司 | 业务线程运行方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2674863A3 (en) | 2015-01-07 |
EP2674863B1 (en) | 2020-05-27 |
EP2674863A2 (en) | 2013-12-18 |
JP2014002740A (ja) | 2014-01-09 |
US9043629B2 (en) | 2015-05-26 |
KR20130141218A (ko) | 2013-12-26 |
US20130339771A1 (en) | 2013-12-19 |
KR101975288B1 (ko) | 2019-05-07 |
CN103513749B (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103513749A (zh) | 多集群处理***及其操作方法 | |
CN106663029B (zh) | 用于多处理器***的定向事件信号告知 | |
EP3571585B1 (en) | Method and apparatus for implementing heterogeneous frequency operation and scheduling task of heterogeneous frequency cpu | |
EP2580657B1 (en) | Information processing device and method | |
US9582320B2 (en) | Computer systems and methods with resource transfer hint instruction | |
EP2551767A1 (en) | Method and device for adjusting clock interrupt cycle | |
CN107004251A (zh) | 在中央处理单元(cpu)与辅助处理器之间的改进的函数回调机制 | |
CN105511806A (zh) | 处理写请求的方法和移动终端 | |
CN110716633A (zh) | 协调管理ssd功耗的装置、方法、计算机设备及存储介质 | |
US9746897B2 (en) | Method for controlling a multi-core central processor unit of a device establishing a relationship between device operational parameters and a number of started cores | |
CN110750359A (zh) | 硬件资源配置方法、装置、云侧设备和存储介质 | |
KR102270239B1 (ko) | 전자장치에서 소프트웨어를 실행하기 위한 방법 및 장치 | |
WO2019027599A1 (en) | INJECTION OF POWER NOISE TO CONTROL THE CURRENT CHANGE RATE | |
CN112817428A (zh) | 任务运行方法、装置、移动终端和存储介质 | |
CN108139932B (zh) | 关闭关键执行路径的任务信令 | |
CN111143066A (zh) | 一种事件处理方法、装置、设备及存储介质 | |
US20200057638A1 (en) | Linear feedback shift register for a reconfigurable logic unit | |
CN109408242B (zh) | 一种服务器资源上下线方法与装置 | |
US20130054988A1 (en) | Integrated circuit device, signal processing system and method for managing power resources of a signal processing system | |
CN114691311A (zh) | 一种执行异步任务的方法、设备和计算机程序产品 | |
CN117608862B (zh) | 数据分发控制方法、装置、设备及介质 | |
CN110970974A (zh) | 移动电源输出模式的调节方法、装置、服务器及存储介质 | |
WO2008115717A2 (en) | Production rule system and method | |
US20180260014A1 (en) | Systems and methods for controlling memory array power consumption | |
CN114968910B (zh) | 一种电路功能可裁剪的数字信号处理芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |