CN103713950A - 包括多核处理器的计算系统及其负载平衡方法 - Google Patents
包括多核处理器的计算系统及其负载平衡方法 Download PDFInfo
- Publication number
- CN103713950A CN103713950A CN201310464727.0A CN201310464727A CN103713950A CN 103713950 A CN103713950 A CN 103713950A CN 201310464727 A CN201310464727 A CN 201310464727A CN 103713950 A CN103713950 A CN 103713950A
- Authority
- CN
- China
- Prior art keywords
- core
- public
- workload
- idle condition
- polycaryon processor
- 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.)
- Pending
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
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种包括多核处理器的计算系统及其负载平衡方法。所述负载平衡方法包括:计算进入空闲状态的多核处理器的多个核中的至少一个核的工作量;根据计算的工作量,从所述多个核中选择一个核作为公用核而进行操作,其中,公用核在空闲状态下进行操作。
Description
本申请要求于2012年10月5日提交的第10-2012-0110752号韩国专利申请的优先权,该申请的公开通过引用全部包含于此。
技术领域
本发明的示例性实施例涉及一种计算系统,更具体地讲,涉及一种包括多核处理器的计算系统及其负载平衡方法。
背景技术
现代计算系统可包括具有高时钟频率的高性能处理器。随着由处理器驱动的应用的复杂性和规模的增加,处理器可同时处理更大数量的算术操作。包括多个核的多核处理器可被设计为处理大量算术操作。在多核处理器中,大量算术操作可被分布于多核处理器的内部的核。一个核上的负载可被降低,从而总体处理速度增加。
随着时间流逝,由多核处理器中的内部的核所处理的累积的任务量可彼此不同。例如,当特定核处理相对大量的任务(例如,如果需要繁重的工作量的线程集中在特定核,或如果特定核在与其它核相比相对长的时间量期间进行操作)时,特定核的累积的工作量可多于其它核的累积的工作量。不同核的累积的工作量之间的差异可引起核的使用寿命的不同。例如,处理相对大量的任务的核的使用寿命可变得比核的平均使用寿命短,而处理相对少量的任务的核的使用寿命可变得比核的平均使用寿命长。
由于缺少负载平衡而发生的内部的核使用寿命的不同可影响多核处理器的总体使用寿命。
发明内容
根据本发明的示例性实施例,包括具有多个核的多核处理器的计算系统的负载平衡方法包括:计算进入空闲状态的多核处理器的多个核中的至少一个核的工作量;根据计算的工作量,从所述多个核中确定在空闲状态下进行操作的公用核。
在示例性实施例中,计算工作量的步骤包括:测量所述至少一个核作为公用核而连续进行操作的时间;通过将测量的时间与参照时间进行比较来确定所述至少一个核的工作量。
在示例性实施例中,确定公用核的步骤包括:根据计算结果,选择核中的公用核,并将公用逻辑标识映射到选择的公用核的物理标识。
在示例性实施例中,选择公用核的步骤还包括:顺序地选择多个核作为公用核。
在示例性实施例中,计算工作量的步骤包括:计算在进入空闲状态之前由所述至少一个核执行的线程的工作量;通过参照计算的线程的工作量来更新所述至少一个核的工作量。
在示例性实施例中,计算工作量的步骤包括:将所述至少一个核的更新的工作量存储在负载表中。
在示例性实施例中,确定公用核的步骤包括:将所述多个核的工作量进行比较;根据比较结果,从所述多个核中选择具有最小工作量的核作为公用核而进行操作。
在示例性实施例中,选择公用核的步骤还包括:将公用逻辑标识映射到确定的公用核的物理标识。
在示例性实施例中,在多核处理器进入空闲状态时或在多核处理器进入空闲状态之后,选择公用核。
根据本发明的示例性实施例,一种计算系统包括:多核处理器,包括多个核;负载控制器,被构造为通过参照所述多个核中的至少一个核的工作量,从所述多个核中确定在空闲状态下进行操作的公用核。
在示例性实施例中,负载控制器包括:负载计算单元,被构造为计算所述至少一个核的工作量;标识映射单元,被构造为将公用逻辑标识映射到确定的公用核的物理标识。
在示例性实施例中,负载计算单元测量所述至少一个核作为公用核而连续进行操作的时间,并通过参照测量的时间来计算所述至少一个核的工作量。
在示例性实施例中,负载计算电路基于由所述至少一个核执行的线程的工作量来计算所述至少一个核的工作量。
在示例性实施例中,负载控制器将所述多个核的工作量进行比较以从所述多个核中选择具有最小工作量的核作为公用核。
在示例性实施例中,负载控制器还包括:负载表,被构造为存储计算的所述至少一个核的工作量。
根据本发明的示例性实施例,一种计算系统的负载平衡方法包括:计算进入空闲状态的多核处理器的多个核中的至少一个核的工作量;根据计算的工作量,从所述多个核中选择一个核作为公用核,其中,公用核在空闲状态下进行操作。
根据本发明的示例性实施例,一种计算系统包括:多核处理器,包括多个核;负载控制器,被构造为根据所述多个核中的至少一个核的工作量,从所述多个核中选择一个核作为公用核而进行操作,其中,公用核在空闲状态下进行操作。
根据本发明的示例性实施例,一种计算系统的负载平衡方法包括:测量多核处理器的多个核中的核已作为公用核进行操作的连续时间量,其中,连续时间量的测量起始点与公用核进入空闲状态的时间点相应,连续时间量的测量结束点与当前时间点相应,公用核在空闲状态下进行操作;将测量的连续时间量与参考时间进行比较,其中,参考时间表示公用核操作时限;在确定测量的连续时间量超过参考时间时,从多个核中选择与公用核不同的核作为新的公用核进行操作。
利用根据本发明的示例性实施例的计算系统和负载平衡方法,可根据每个核的工作量来确定在空闲状态下进行操作的公用核。在这种情况下,由于公用核的负载以平衡方式被分配到每一个核,所以可防止特定核的使用寿命被缩短。结果,可提高多核处理器的使用寿命。
附图说明
通过参照附图对本发明的示例性实施例进行详细描述,本发明的上述和其它特点将变得更加清楚,在附图中:
图1是示出根据本发明的示例性实施例的计算系统的框图;
图2是示出根据本发明的示例性实施例的负载控制器的框图;
图3是示出根据本发明的示例性实施例的负载平衡方法的流程图;
图4是示出根据本发明的示例性实施例的执行负载平衡方法的负载控制器的操作的示图;
图5是示出根据本发明的示例性实施例的负载平衡方法的流程图;
图6是示出根据本发明的示例性实施例的执行负载平衡方法的负载控制器的操作的示图;
图7是示出根据本发明的示例性实施例的负载平衡方法的流程图;
图8是示出根据本发明的示例性实施例的执行负载平衡方法的负载控制器的负载表的示图。
具体实施方式
以下将参照附图更全面描述示例性实施例。贯穿附图,相同的标号可表示相同的元件。
将理解,虽然术语“第一”、“第二”、“第三”等在这里可被用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应该被这些术语所限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分进行区分。因此,在不脱离本发明的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可被称为第二元件、组件、区域、层或部分。
为了方便用于描述如附图中所示出的一个元件或特征与另一元件或特征的叙述,在这里可使用空间相关术语(诸如“在……以下”、“在……下方”、“下”、“在……之下”、“在……之上”、“上”等)。将理解,空间相关术语除了意图包含附图中描绘的方位之外,还意图包含装置在使用或操作中的不同的方位。
如这里所使用的,除非上下文清楚地指示,否则单数形式也意图包括复数形式。
将理解,当元件或层被称为“在”另一元件或层“上”、“连接到”或“结合到”另一元件或层或“与”另一元件或层“相邻”时,所述元件或层可直接“在”所述另一元件或层“上”、“连接到”或“结合到”所述另一元件或层或“与”所述另一元件或层“相邻”,或者可存在中间元件或层。
这里,空闲状态可表示尽管多核处理器(或多核处理器的核)处于可操作的状态并能够处理任务,但是多核处理器(或多核处理器的核)当前未处理任务(例如,由程序所请求的任务)的状态。可选择地,空闲状态可表示多核处理器(或多核处理器的核)正在等待用于对任务进行初始化的命令的状态。
这里,公用核可表示多核处理器中的多个核中对空闲状态进行操作的核。公用核可以是在多核处理器中的多个核中的至少一个核进行操作时首先进行操作的核。例如,当多核处理器中的多个核中的一个核进行操作时,多核处理器中的多个核中的公用核可进行操作。可选择地,当多核处理器中的两个核进行操作时,多核处理器中的公用核和另一核可进行操作。相似地,当多核处理器中的三个核进行操作时,多核处理器中的公用核和其它两个核可进行操作。因此,公用核可表示多核处理器中的多个核中的空闲状态下激活的核,但是在空闲状态下激活的该核当前不处理任何任务。
图1是示出根据本发明的示例性实施例的计算系统的框图。参照图1,计算系统100可包括多核处理器110、负载控制器120和用户程序130。
多核处理器110可包括多个核111、112、113和114。多核处理器110可处理由用户程序130请求的任务。多核处理器中的核111、112、113和114可独立进行操作。例如,将被处理的不同的线程可被分别分配到核111、112、113和114。尽管图1示出多核处理器110包括四个核,但是多核处理器110不限于此。例如,多核处理器110可包括三个或更少的核或者五个或更多的核。
用户程序130可包括用于处理特定任务的软件,并可请求将在多核处理器110被处理的任务。在示例性实施例中,用户程序130可以是例如操作系统(OS)或应用程序。在示例性实施例中,用户程序130可存储在硬盘驱动器中,并且可在操作期间载入到存储器(例如,DRAM),但是用户程序130不限于此。用户程序130可为请求的任何提供线程作为处理单元。
负载控制器120可响应于从用户程序130接收的任务请求将负载分配到多核处理器110的各个核111至114。负载控制器120可通过参照核111至114中的每个核的工作量,以平衡方式将负载分配到多核处理器110的各个核111至114(例如,负载平衡)。
在示例性实施例中,负载控制器120可通过参照核111至114中的每个核的工作量来选择核111至114中的一个作为公用核。负载控制器120可选择核111至114中具有最小工作量的核作为公用核进行操作。可选择地,如果特定核作为公用核而在预定时间量进行操作,则另一核可被负载控制器120选择用作公用核。由于公用核的负载可较大,因此,负载控制器120可通过参照核111至114中的每个核的工作量来改变用作公用核的核。
将参照图2进一步描述根据本发明的示例性实施例的负载控制器120对核111至核114执行负载平衡的方法。
计算系统100可通过参照每个核的工作量来选择在空闲装置下进行操作的公用核。在这种情况下,公用核的负载可按平衡方式被分配到每个核,这可防止特定核的使用寿命(例如,通过相对于其它核具有较高的累积的工作量而)缩短。结果,可提高多核处理器110的使用寿命。
图2是示出根据本发明的示例性实施例的负载控制器的框图。参照图2,负载控制器120可包括标识映射单元121、负载计算单元122和负载表123。
负载控制器120可将请求被用户程序130执行的任务的负载分配到多核处理器110。例如,负载控制器120可将从用户程序130提供的逻辑标识映射到核111至114的物理标识142之一。在示例性实施例中,负载控制器120可分别将逻辑标识映射到核111至核114的物理标识142。经由逻辑标识提供的负载(例如,线程)可被分配到具有与逻辑标识相应的物理标识的核。
例如,假设逻辑标识141通过线程控制器120被映射到第一核111的物理标识ID0。在这种情况下,第一核111可处理通过逻辑标识141从用户程序130提供的负载(例如,线程)。如果逻辑标识141通过负载控制器120被最新映射到第二核112,则通过逻辑标识141提供的负载可之后被第二核112处理。
在示例性实施例中,负载控制器120可通过参照每个核的负载,将提供的逻辑标识141选择性地映射到核111至114的物理标识142。例如,当逻辑标识141提供负载(例如,线程)时,负载控制器120可将逻辑标识141映射到与核111至114中具有最小工作量的核相应的物理标识。
在示例性实施例中,负载控制器120可将提供需要繁重的工作量的线程的逻辑标识映射到核111至114中具有最小工作量的核的物理标识。
在示例性实施例中,负载控制器120可将需要长时间操作的逻辑标识映射到核111至114中具有最小工作量的核的物理标识。
在示例性实施例中,负载控制器120可将指向作为公共核而操作的逻辑标识映射到核111至114中具有最小工作量的核的物理标识。
标识映射单元121可将从用户程序130(或从负载控制器120的外部的另一源)提供的逻辑标识141选择性地映射到核111至114的物理标识142。
负载计算单元122可计算核111至114中的每个核的工作量。由负载计算单元122计算的工作量可由例如核111至核114中的每个核的工作量的数据的大小、由核111至114中的每个核处理的算术操作的数量或由核111至核114中的每个核的工作时间来表示。
例如,负载计算单元122可计算第一核111的工作时间作为第一核111的工作量。可选择地,负载计算单元122可计算由第一核111处理的数据的大小或算术操作的数量作为第一核111的工作量。
负载表123可存储由负载计算单元122计算的核111至114中的每个核的工作量。负载表123可在确定核111至114的负载平衡时被负载控制器120所参照。例如,负载控制器120可通过参照负载表123来将从用户程序130提供的逻辑标识映射到具有最小工作量的核的物理标识。因此,负载控制器120可基于负载表和负载计算单元122将逻辑标识141映射到物理标识142。
在示例性实施例中,负载控制器120可通过参照负载表123将公用逻辑标识映射到与核111至核114中具有最小工作量的核相应的物理标识。
在示例性实施例中,当核111至114的各个工作量已被最新计算时,可根据最新计算的工作量来更新负载表123。
负载控制器120可基于核的工作量选择性地将逻辑标识141映射到核111至核114的物理标识142。即,负载控制器120可通过首先将负载分配到具有最小工作量的核来执行负载平衡。结果,可提高多核处理器110的整体使用寿命。
将参照图3描述根据本发明的示例性实施例的计算系统和负载平衡方法。在示例性实施例中,描述在多核处理器进入空闲状态时执行负载平衡操作的示例。然而,本发明的示例性实施例不限于此。例如,当多核处理器未处于空闲状态时可执行负载平衡操作。在这种情况下,至少两个核(例如,公用核和将被选择为公用核的核)处于空闲状态,公用核被重新确定并被再次选择。
图3是示出根据本发明的示例性实施例的负载平衡方法的流程图。
在操作S110,多核处理器110(参照图1)中的核111至核114可进入空闲状态。这里,如上所述,空闲状态可表示尽管核处于可操作状态,但是核当前不处理由程序(例如,用户程序130)请求的任务的状态。即,空闲状态指示在处理分配的任务(例如,线程)之后而在执行新任务之前的状态。例如,空闲状态可与核处理先前的任务与处理随后的任务之间的时间段相应。具有高优先级的核(例如,公用核)可进行操作。
在操作S120,计算系统100(参照图1)可计算核111至核114中的至少一个核的工作量。在示例性实施例中,计算的核的工作量可以是核的工作时间。可选择地,计算的核的工作量可以是由核处理的负载(例如,线程)的累积的工作量(例如,累积的数据量或累积的计算量)。
在操作S130,计算系统100可根据计算的核的工作量选择核111至114之一作为公用核。在示例性实施例中,计算系统100可选择具有最小工作量的核作为公用核。可选择地,计算系统100可将具有最短工作时间的核选择作为公用核。可选择地,计算系统100可选择在进入空闲状态之后未选择作为公用核的核作为公用核。
计算系统100可将指向作为公用核而操作的逻辑标识(例如,公用逻辑标识)映射到选择的公用核的物理标识。
根据上述描述,可根据核的工作量来确定在空闲状态下进行操作的核。可通过将具有比其它核小的工作量的核设置为公用核而不是将具有繁重的工作量的核设置为公用核,来实现负载平衡。结果,可提高多核处理器的使用寿命。
根据本发明的示例性实施例,进入空闲状态的多核处理器110的多个核111至114中的至少一个核的工作量被计算。根据计算的工作量,多个核111至114中的一个核随后被选择以作为公用核而进行操作。
图4是示出根据本发明的示例性实施例的执行负载平衡方法的负载控制器的操作的示图。参照图4,标识映射单元121可将多个逻辑标识ID0a、ID1a、ID2a和ID3a映射到多个物理标识ID0、ID1、ID2和ID3。
在图4中示出由标识映射单元121执行多个逻辑标识与多个物理标识之间的映射的示例。然而,本发明的示例性实施例不限于此。例如,标识映射单元121可将逻辑标识选择性地映射到多个物理标识之一。
图4的上部指示由标识映射单元121执行逻辑标识与物理标识之间的映射的第一对应性。在初始阶段,标识映射单元121可将逻辑标识ID0a、ID1a、ID2a和ID3a分别映射到物理标识ID0、ID1、ID2和ID3。可由具有与逻辑标识相应的物理标识的核来处理通过逻辑标识提供的任务(例如,线程、负载等)。例如,可由具有与逻辑标识ID0a相应的物理标识ID0的第一核111来处理通过第一逻辑标识ID0a提供的任务。此时,如果逻辑标识ID0a是公用逻辑标识时,具有与逻辑标识ID0a相应的物理标识ID0的核Core0可成为公用核。
标识映射单元121可响应于负载控制器120(参照图2)来改变逻辑标识与物理标识之间的对应性(例如,标识映射单元121可被负载控制器120控制)。此时,负载控制器120可控制标识映射单元121,从而根据核Core0、Core1、Core2和Core3中的每个核的各个工作量,逻辑标识ID0a、ID1a、ID2a和ID3a中的每一个可被映射到物理标识ID0、ID1、ID2和ID3之一。在这种情况下,负载控制器120可参照存储有核的工作量的负载表123(参照图2)。
图4的底部示出标识映射单元121可响应于负载控制器120来改变逻辑标识与物理标识之间的对应(例如,标识映射单元121可被负载控制器120控制)。负载控制器120可控制标识映射单元121,从而根据核Core0、Core1、Core2和Core3的工作量来改变公用核。
在第二核Core1具有最小工作量的情况下,标识映射单元121可将公用逻辑标识ID0a映射到第二核Core1的物理标识ID1。此时,公用核可从第一核Core0改变到第二核Core1。同时,剩余的逻辑标识ID1a、ID2a和ID3a可与剩余的物理标识ID0、ID2和ID2相应。
标识映射单元121和负载控制器120的其它操作可与上述的标识映射单元121和负载控制器120的操作基本上相同。
图5是示出根据本发明的示例性实施例的负载平衡方法的流程图。在示例性实施例中,操作S220和操作S230可被执行以计算核的工作量。
在操作S210中,多核处理器110的核111至114(参照图1)可进入空闲状态。这里,空闲状态的含义可与参照图3描述的空闲状态的含义相同。
在操作S220,计算系统100可测量公用核的连续操作时间。例如,当第一核111(参照图2)是公用核时,计算系统100可连续测量第一核111在进入空闲状态之后作为公用核进行操作的时间。在从第一核111进入空闲状态的时间点开始第一核111是公用核的情况下,测量起始时间点可以是与第一核进入空闲状态相应的时间点,测量结束时间点可以是当前时间点。在从第一核进入空闲状态的时间点开始第一核111dait另一核被选择为公用核的情况下,测量起始时间点可以是在第一核作为公用核进行操作的时间点,测量结束时间点可以是当前时间点。
在示例性实施例中,可由负载计算单元122(参照图2)测量任何核作为公用核连续地进行操作的时间量(例如,连续操作时间)。
在操作S230,计算系统100可将测量的时间与参照时间进行比较。这里,参考时间可以是表示任何核作为公用核进行操作的期望的时限的预定时间(例如,公用核操作时限)。计算系统100可将测量的连续操作时间与参照时间进行比较,并且当测量的连续时间超过参考时间时,公用核可被改变。
在示例性实施例中,测量的连续操作时间与参考时间之间的比较结果可被存储作为公用核的工作量。例如,如果测量的连续操作时间超过参照时间,则在计算系统100的控制下,具有值“1”的公用核的工作量可被存储。如果测量的连续操作时间不超过参考时间,则在计算系统100的控制下,具有值“0”的核可被存储。公用核的工作量可被存储在负载表123(参照图2)中或单独的寄存器中。
如果测量的连续操作时间超过参考时间,则方法进行到操作S240。如果测量的连续操作时间不超过参考时间,则方法可结束。
在操作S240,计算系统100可从核111至核114中选择当前不是公用核的核作为新的公用核。如果测量的连续操作时间超过参考时间(例如,公用核的工作量为“1”),则计算系统100可实施用于通过参照公用核的工作量来改变公用核的处理。计算系统100可从核111至核114中选择当前不是公用核的核作为新的公用核,并可将公用标识映射到选择的核的物理标识。
例如,如果第一核111是公用核,则计算系统100可从第二核112至第四核114中选择一个核(例如,第二核112)作为新的公用核,并可将公用逻辑标识映射到第二核112的物理标识。在该处理之后,第二核可作为公用核进行操作。
将参照图6进一步描述从核111至核114中选择当前不是公用核的核作为新的公用核的操作。
如果任何核作为公用核而进行操作超过预定时间段,则新的核可被选择为新的公用核。结果,通过限制核作为公用核进行操作的时间量,可防止核耗损。即,可防止缩短核的使用寿命,结果,可提高多核处理器110的使用寿命。
图6是示出根据本发明的示例性实施例的执行负载平衡方法的负载控制器的操作的示图。参照图6,负载控制器120可将公用逻辑标识ID0a映射到核111至核114之一。
如果任何核作为公用核而进行操作的时间超过参考时间,则计算系统100可将公用核改变到另一核以防止核的过分耗损。
在示例性实施例中,可由负载控制器112执行公用核的改变。
可通过从多个核中选择当前不是公用核的一个核作为公用核,并将选择的核设置作为公用核(例如,随机切换)来执行公用核的改变。
可选择地,可通过根据核的物理标识的顺序(例如,顺序切换),从多个核中顺序地选择一个核作为公用核来执行公用核的改变。
在图6中,示出顺序切换的示例。
在图6中,假设第一核111是公用核。还假设第一核111的工作量为“1”(例如,如上所述,测量的连续时间超过参考时间)。
由于第一核111作为公用核进行操作的时间超过参考时间,所以计算系统100将另一核选择为公用核来代替第一核111,以防止第一核111的耗损。
在示例性实施例中,可由负载控制器120执行公用核的改变。
当利用顺序切换时,核可根据核的物理标识号码的顺序(例如,ID0→ID1→ID2→ID3→ID0)而被顺序地选择为公用核。
例如,如果第一核111作为公用核进行操作的时间量超过参考时间(例如,如果第一核111的工作量为“1”),则负载控制器120可选择第二核112作为新的公用核。负载控制器120可将公用逻辑标识重新映射到第二核112的物理标识ID1,而不是第一核111的物理标识ID0。在这种情况下,第二核112可作为公用核进行操作。
图7是示出根据本发明的示例性实施例的负载平衡方法的流程图。在示例性实施例中,操作S320和S330可被执行以计算核的工作量。
在操作S310中,多核处理器110(参照图1)的核111至114(参照图1)可进入空闲状态。这里,空闲状态的含义可与参照图3描述的空闲状态的含义相同。
在操作S320,计算系统100(参照图2)可计算在进入空闲状态之前执行的核111至114中的至少一个核的线程工作量。这里,计算的工作量可以是线程的数据量或用于处理线程的由核111至114中的每个核执行的算术操作的数量。
在示例性实施例中,可由负载计算单元122计算核的线程工作量。
在操作S330,计算系统100可根据计算的线程的工作量来更新核的工作量。例如,计算系统100可通过将计算的线程的工作量与先前的核的工作量相加来累积地更新核的工作量。
例如,如果先前的核的工作量为“1000”并且计算的线程工作量为“100”,则核的工作量可被更新以被设置为1100(例如,1000+100)。
在示例性实施例中,操作S330可将计算的线程的工作量或更新的核的工作量存储在负载表123(参照图2)。
在操作S340,计算系统100通过参照核111至114的工作量来选择具有最小工作量的核作为公用核。
在示例性实施例中,操作S340可被划分为第一操作和第二操作,其中,第一操作包括将核111至核114的工作量进行比较,第二操作包括根据比较结果从核111至114中选择具有最小工作量的核作为公用核。
例如,计算系统100可将核111至核114的工作量进行比较。此时,计算系统100可参照负载表123以比较工作量。根据比较结果,具有最小工作量的核可被选择作为公用核。计算系统100可将公用逻辑标识(例如,ID0a)(参照图4)映射到选择作为公用核的核的物理标识。因此,具有最小工作量的核可作为公用核进行操作。
在示例性实施例中,可在进入空闲状态的同时或在进入空闲状态之后的时间(例如,进入空闲状态不久之后的时间)选择公用核。此外,可在核111至核114进入空闲状态时循环选择公用核。
如上所述,可根据核的工作量来选择在空闲状态进行操作的公用核。可通过选择具有最小工作量的核作为公用核来执行核之间的负载平衡。结果,可防止核被快速损耗,因此,可提高多核处理器110的使用寿命。
图8是示出根据本发明的示例性实施例的执行负载平衡方法的负载控制器的负载表的示图。参照图8,负载表123可包括核字段123a、当前执行的字段123b的线程的工作量和总工作量字段123c。
核字段123a可以是分配多核处理器110中的核的字段。尽管图8示出四个核被分配到核字段123a的示例,但是本发明的示例性实施例不限于此。例如,根据多核处理器110中的核的数量,三个或更少个核或者五个或更多个核可被分配到核字段123a。
最近执行的线程的工作量字段123b可存储由分配到核字段123a的核最近执行的线程的工作量。这里,线程工作量的含义可以与上述的线程工作量的含义基本上相同。
总工作量字段123c可存储分配给核字段123a的核的工作量。当新的线程工作量被计算时可累积地更新总工作量字段123c。例如,如果第三核Core2的工作量为“700”并且新的线程为“100”,则可将第三核Core2的工作量更新为被设置为800(例如,700+100)。
如上所述,计算系统100可通过参照负载表123将具有最小工作量的核选择作为公用核。例如,参照总工作量字段123c,第三核Core2可具有最小工作量800。因此,计算系统100可选择第三核Core2作为公用核,并可将公用逻辑标识(例如,ID0a)(参照图4)映射到第三核Core2的物理标识。
尽管已参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的技术人员将理解在不脱离由权利要求限定的本发明的精神和范围的情况下,可在形式和细节上做出各种改变。
Claims (20)
1.一种计算系统的负载平衡方法,包括:
计算进入空闲状态的多核处理器的多个核中的至少一个核的工作量;
根据计算的工作量,从所述多个核中选择一个核作为公用核而进行操作;
其中,公用核在空闲状态下进行操作。
2.如权利要求1所述的负载平衡方法,其中,计算工作量的步骤包括:
测量所述至少一个核已作为公用核进行操作的连续时间量;
通过将测量的连续时间量与参照时间进行比较来确定所述至少一个核的工作量。
3.如权利要求2所述的负载平衡方法,其中,选择一个核作为公用核而进行操作的步骤包括:
将公用逻辑标识映射到与选择的公用核相应的物理标识。
4.如权利要求1所述的负载平衡方法,其中,选择一个核作为公用核而进行操作的步骤还包括:
从所述多个核中顺序地选择每个核作为公用核进行操作。
5.如权利要求1所述的负载平衡方法,其中,计算所述至少一个核的工作量的步骤包括:
计算在所述至少一个核进入空闲状态之前由所述至少一个核执行的线程的工作量;
根据计算的执行的线程的工作量来更新所述至少一个核的工作量。
6.如权利要求5所述的方法,其中,计算所述至少一个核的工作量的步骤还包括:
将所述至少一个核的更新的工作量存储在负载表中。
7.如权利要求5所述的负载平衡方法,其中,选择一个核作为公用核而进行操作的步骤包括:
将所述多个核的工作量彼此进行比较;
从所述多个核中选择具有最小工作量的核作为公用核而进行操作。
8.如权利要求7所述的方法,其中,选择一个核作为公用核而进行操作的步骤还包括:
将公用逻辑标识映射到与选择的公用核相应的物理标识。
9.如权利要求1所述的负载平衡方法,其中,在多核处理器进入空闲状态时或在多核处理器进入空闲状态之后,选择公用核。
10.如权利要求1所述的负载平衡方法,其中,空闲状态与多核处理器能够处理任务而当前未处理任务的时间段相应。
11.一种计算系统,包括:
多核处理器,包括多个核;
负载控制器,被构造为根据所述多个核中的至少一个核的工作量,从所述多个核中选择一个核作为公用核而进行操作,
其中,公用核在空闲状态下进行操作。
12.如权利要求11所述的计算系统,其中,负载控制器包括:
负载计算单元,被构造为计算所述至少一个核的工作量;
标识映射单元,被构造为将公用逻辑标识映射到与选择的公用核相应的物理标识。
13.如权利要求12所述的计算系统,其中,负载计算单元被构造为测量所述至少一个核已作为公用核进行操作的连续时间量,并根据测量的连续时间量来计算所述至少一个核的工作量。
14.如权利要求12所述的计算系统,其中,负载计算单元被构造为基于由所述至少一个核执行的线程的工作量来计算所述至少一个核的工作量。
15.如权利要求14所述的计算系统,其中,负载控制器被构造为将所述多个核的工作量彼此进行比较,从所述多个核中选择具有最小工作量的核作为公用核而进行操作。
16.如权利要求12所述的计算系统,其中,负载控制器还包括:
负载表,被构造为存储计算的所述至少一个核的工作量。
17.如权利要求11所述的计算系统,其中,空闲状态与多核处理器能够处理任务而当前未处理任务的时间段相应。
18.一种计算系统的负载平衡方法,包括:
测量多核处理器的多个核中的公用核已作为公用核而进行操作的连续时间量,其中,连续时间量的测量起始点与公用核进入空闲状态的时间点相应,连续时间量的测量结束点与当前时间点相应,公用核以空闲状态进行操作;
将测量的连续时间量与参考时间进行比较,其中,参考时间表示公用核操作时限;
在确定测量的连续时间量超过参考时间时,从多个核中选择与公用核不同的核作为新的公用核而进行操作。
19.如权利要求18所述的负载平衡方法,其中,选择新的公用核的步骤包括:
将公用逻辑标识映射到与新的选择的公用核相应的物理标识。
20.如权利要求18所述的方法,其中,空闲状态与多核处理器能够处理任务而当前未处理任务的时间段相应。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0110752 | 2012-10-05 | ||
KR1020120110752A KR20140044596A (ko) | 2012-10-05 | 2012-10-05 | 멀티 코어 프로세서를 구비한 컴퓨팅 시스템 및 그것의 로드 밸런싱 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103713950A true CN103713950A (zh) | 2014-04-09 |
Family
ID=50406953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310464727.0A Pending CN103713950A (zh) | 2012-10-05 | 2013-10-08 | 包括多核处理器的计算系统及其负载平衡方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140101670A1 (zh) |
KR (1) | KR20140044596A (zh) |
CN (1) | CN103713950A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786614A (zh) * | 2015-01-14 | 2016-07-20 | 联发科技股份有限公司 | 电子设备中处理器的负载计算方法和负载计算系统 |
CN111176828A (zh) * | 2018-11-09 | 2020-05-19 | 三星电子株式会社 | 包括多核处理器的片上系统及其任务调度方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101834195B1 (ko) * | 2012-03-15 | 2018-04-13 | 삼성전자주식회사 | 다중코어 시스템 및 로드 밸런싱 방법 |
US20170286168A1 (en) * | 2014-11-11 | 2017-10-05 | Hewlett Packard Enterprise Development Lp | Balancing thread groups |
KR101589649B1 (ko) | 2015-01-19 | 2016-01-28 | 한국인터넷진흥원 | 대량의 악성 코드 분석 시스템 및 방법 |
US10284502B2 (en) * | 2015-10-12 | 2019-05-07 | Mellanox Technologies, Ltd. | Dynamic optimization for IP forwarding performance |
KR102509986B1 (ko) | 2016-03-28 | 2023-03-14 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
JP6790557B2 (ja) * | 2016-08-02 | 2020-11-25 | 日本電気株式会社 | 制御装置及び制御方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090064164A1 (en) * | 2007-08-27 | 2009-03-05 | Pradip Bose | Method of virtualization and os-level thermal management and multithreaded processor with virtualization and os-level thermal management |
US20090235260A1 (en) * | 2008-03-11 | 2009-09-17 | Alexander Branover | Enhanced Control of CPU Parking and Thread Rescheduling for Maximizing the Benefits of Low-Power State |
US20090328055A1 (en) * | 2008-06-30 | 2009-12-31 | Pradip Bose | Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance |
US20100146513A1 (en) * | 2008-12-09 | 2010-06-10 | Intel Corporation | Software-based Thread Remapping for power Savings |
US20110173477A1 (en) * | 2008-09-24 | 2011-07-14 | Fujitsu Limited | Power consumption control method in multicore cpu |
WO2011099320A1 (ja) * | 2010-02-12 | 2011-08-18 | 株式会社日立製作所 | 情報処理装置、及び情報処理装置における情報処理方法 |
US20110219382A1 (en) * | 2008-11-03 | 2011-09-08 | Huawei Technologies Co., Ltd. | Method, system, and apparatus for task allocation of multi-core processor |
CN102652296A (zh) * | 2009-12-16 | 2012-08-29 | 高通股份有限公司 | 用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110265090A1 (en) * | 2010-04-22 | 2011-10-27 | Moyer William C | Multiple core data processor with usage monitoring |
US8910177B2 (en) * | 2011-04-14 | 2014-12-09 | Advanced Micro Devices, Inc. | Dynamic mapping of logical cores |
-
2012
- 2012-10-05 KR KR1020120110752A patent/KR20140044596A/ko not_active Application Discontinuation
-
2013
- 2013-07-23 US US13/948,519 patent/US20140101670A1/en not_active Abandoned
- 2013-10-08 CN CN201310464727.0A patent/CN103713950A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090064164A1 (en) * | 2007-08-27 | 2009-03-05 | Pradip Bose | Method of virtualization and os-level thermal management and multithreaded processor with virtualization and os-level thermal management |
US20090235260A1 (en) * | 2008-03-11 | 2009-09-17 | Alexander Branover | Enhanced Control of CPU Parking and Thread Rescheduling for Maximizing the Benefits of Low-Power State |
US20090328055A1 (en) * | 2008-06-30 | 2009-12-31 | Pradip Bose | Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance |
US20110173477A1 (en) * | 2008-09-24 | 2011-07-14 | Fujitsu Limited | Power consumption control method in multicore cpu |
US20110219382A1 (en) * | 2008-11-03 | 2011-09-08 | Huawei Technologies Co., Ltd. | Method, system, and apparatus for task allocation of multi-core processor |
US20100146513A1 (en) * | 2008-12-09 | 2010-06-10 | Intel Corporation | Software-based Thread Remapping for power Savings |
CN102652296A (zh) * | 2009-12-16 | 2012-08-29 | 高通股份有限公司 | 用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法 |
WO2011099320A1 (ja) * | 2010-02-12 | 2011-08-18 | 株式会社日立製作所 | 情報処理装置、及び情報処理装置における情報処理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786614A (zh) * | 2015-01-14 | 2016-07-20 | 联发科技股份有限公司 | 电子设备中处理器的负载计算方法和负载计算系统 |
CN105786614B (zh) * | 2015-01-14 | 2020-03-10 | 联发科技股份有限公司 | 电子设备中处理器的负载计算方法和负载计算系统 |
CN111176828A (zh) * | 2018-11-09 | 2020-05-19 | 三星电子株式会社 | 包括多核处理器的片上系统及其任务调度方法 |
CN111176828B (zh) * | 2018-11-09 | 2024-04-05 | 三星电子株式会社 | 包括多核处理器的片上系统及其任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140101670A1 (en) | 2014-04-10 |
KR20140044596A (ko) | 2014-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103713950A (zh) | 包括多核处理器的计算系统及其负载平衡方法 | |
US9436516B2 (en) | Virtual machines management apparatus, virtual machines management method, and computer readable storage medium | |
JP5577412B2 (ja) | 計算機システム、マイグレーション方法及び管理サーバ | |
US7596686B2 (en) | Power management system | |
US9069589B2 (en) | Virtual computer system, virtual computer control method and accumulation circuit | |
CN101960428B (zh) | 路由工作负载计算方法及系统 | |
US10157155B2 (en) | Operating system-managed interrupt steering in multiprocessor systems | |
BRPI0907774B1 (pt) | Programação de encadeamento ciente de energia e uso dinâmico de processadores | |
JP2008152594A (ja) | マルチコアプロセッサ計算機の高信頼化方法 | |
JP5589218B2 (ja) | 計算機システム及び管理計算機 | |
JP2008033933A (ja) | 同時物理プロセッサ再割り当て方法、システム、およびプログラム | |
EP2466469A2 (en) | Apparatus and method for dynamically reconfiguring state of application program in a many-core system | |
CN111488492B (zh) | 用于检索图数据库的方法和装置 | |
JP2011186701A (ja) | リソース割当装置、リソース割当方法、およびリソース割当プログラム | |
JP5098978B2 (ja) | 消費電力削減支援プログラム、情報処理装置、および消費電力削減支援方法 | |
US11354163B2 (en) | Virtual machine placement method and virtual machine placement device implementing the same | |
US11635996B2 (en) | Management system and management method for migrating a business system operating on a target infrastructure | |
CN109753338A (zh) | 虚拟gpu使用率的检测方法和装置 | |
CN103870247A (zh) | 用于保存和恢复线程组操作状态的技术 | |
US9933832B2 (en) | Systems and methods for modifying power states in a virtual environment | |
WO2012093498A1 (en) | Energy-efficient resource management system and method for heterogeneous multicore processors | |
JP2016110240A (ja) | 電源制御装置、サーバ仮想化システム、および、電源制御方法 | |
KR20240034237A (ko) | 작업부하 인식 가상 프로세싱 유닛들 | |
CN113986488A (zh) | 计算任务的调度方法、装置、计算机设备及存储介质 | |
JP2020187827A (ja) | 決定装置、二次電池、決定方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140409 |
|
WD01 | Invention patent application deemed withdrawn after publication |