JP2014186522A - Calculation system, and power management method therein - Google Patents

Calculation system, and power management method therein Download PDF

Info

Publication number
JP2014186522A
JP2014186522A JP2013060736A JP2013060736A JP2014186522A JP 2014186522 A JP2014186522 A JP 2014186522A JP 2013060736 A JP2013060736 A JP 2013060736A JP 2013060736 A JP2013060736 A JP 2013060736A JP 2014186522 A JP2014186522 A JP 2014186522A
Authority
JP
Japan
Prior art keywords
power
processing
frequency
processing element
processing elements
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
Application number
JP2013060736A
Other languages
Japanese (ja)
Other versions
JP6083278B2 (en
Inventor
Yukihito Kawabe
幸仁 川邊
Hiroshi Okano
廣 岡野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013060736A priority Critical patent/JP6083278B2/en
Publication of JP2014186522A publication Critical patent/JP2014186522A/en
Application granted granted Critical
Publication of JP6083278B2 publication Critical patent/JP6083278B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a calculation system capable of achieving higher processing performance than that when operating whole processing elements, and to provide a power management method therein.SOLUTION: A calculation system includes: a plurality of processing elements; a first setup unit (S503) that sets a frequency and a power voltage of at least one processing element in the plurality of processing element on the basis of a power of the processing element; and a second setup unit (S504) that sets the number of operation processing elements on the basis of a frequency, the power voltage and a restricted power.

Description

本発明は、計算システム及びその電力管理方法に関する。   The present invention relates to a calculation system and its power management method.

産業・基礎科学など様々な分野での大規模な並列シミュレーションの活用増大により超並列高性能計算システム(いわゆるスーパーコンピュータ)の性能は年々高くなっている。このような計算システムの大規模化に向けた様々な課題の中に、消費電力の削減がある。CPU(Central Processing Unit)の演算性能は上がっているのに、計算システムの消費電力制約のために、計算システムは処理性能を出し切れないという状況になりつつある。計算システムの低消費電力化と同様に与えられた消費電力制約下で、ジョブの実行効率を最大化することも重要となってきている。   The performance of massively parallel high-performance computing systems (so-called supercomputers) is increasing year by year due to the increased use of large-scale parallel simulation in various fields such as industry and basic science. Among various problems for increasing the scale of such a calculation system is reduction of power consumption. Although the computing performance of a CPU (Central Processing Unit) is increasing, the computing system is becoming unable to deliver the processing performance due to power consumption restrictions of the computing system. It is also important to maximize job execution efficiency under given power consumption constraints as well as to reduce power consumption of computing systems.

サーバやデータセンタにおいては、多数のCPUで構成されるシステムの消費電力制約を超えない範囲でジョブを実行させるための技術として、CPU側の技術としては動的に周波数を調整するDFS(Dynamic Frequency Scaling)や周波数に合わせて電圧も制御するDVFS(Dynamic Voltage and Frequency Scaling)の技術が知られている。また、CPU内のレジスタに消費電力上限を設定して、その設定を自律的に守らせるPower Capping技術、又はPower Capping技術で電力が上限を超えた時の急速な消費電力低減に使用されるClock Throttling(クロックパルスのマスクによる周波数の強制低減)の技術が知られている。また、Pipeline Throttling(命令発行制限やメモリアクセス制限等による命令処理量の強制低減)の技術が知られている。   In a server or a data center, as a technique for executing a job within a range that does not exceed the power consumption limitation of a system composed of a large number of CPUs, as a technique on the CPU side, a DFS (Dynamic Frequency) that dynamically adjusts a frequency is used. Scaling) and DVFS (Dynamic Voltage and Frequency Scaling) technology for controlling the voltage according to the frequency are known. In addition, a power capping technology that sets an upper limit of power consumption in a register in the CPU and autonomously protects the setting, or a clock used for rapid power consumption reduction when the power exceeds the upper limit with the power capping technology A technique of Throttling (forcing frequency reduction by masking a clock pulse) is known. Also known is the technology of Pipeline Throttling (forcibly reducing the amount of instruction processing due to instruction issue restrictions, memory access restrictions, etc.).

システム側の電力管理技術は、システムの電力制約、電力管理ポリシ又は電力管理モードなどが別途設定されていれば、その設定に基づき稼働中の各CPUに対する消費電力割り当て値を決定する。各CPUは、その割り当て値を守るように前述のCPU電力管理技術を使用してCPU電力を制御することでシステム全体の消費電力制約を守らせる。   The power management technology on the system side determines a power consumption allocation value for each active CPU based on the settings if the system power constraint, power management policy, power management mode, etc. are set separately. Each CPU controls the CPU power by using the above-described CPU power management technology so as to keep the assigned value, thereby keeping the power consumption constraint of the entire system.

また、少なくとも1台以上の演算器と制御部とを有する並列計算装置が知られている(例えば、特許文献1参照)。演算器は、その個数が処理タイミングによって変動し、かつ、それぞれの処理時間が一定のタスクを処理する。制御部は、演算器全体の処理能力を一定として、タスク処理に使用する演算器の台数と、使用する演算器の動作周波数を制御する。   A parallel computing device having at least one arithmetic unit and a control unit is known (see, for example, Patent Document 1). The arithmetic units process tasks whose number varies depending on the processing timing and whose processing time is constant. The control unit controls the number of arithmetic units used for task processing and the operating frequency of the arithmetic units to be used, with the processing capability of the entire arithmetic unit being constant.

また、並列コンピュータにおける事前対応型電力管理の方法が知られている(例えば、特許文献2参照)。並列コンピュータは、サービス・ノードと複数の計算ノードとを含む。サービス・ノードは、帯域外サービス・ネットワークを介して計算ノードに接続されている。各計算ノードは、コンピュータ・プロセッサと、コンピュータ・プロセッサに動作可能に連結されているコンピュータ・メモリとを含む。   In addition, a method of proactive power management in a parallel computer is known (see, for example, Patent Document 2). The parallel computer includes a service node and a plurality of calculation nodes. The service node is connected to the compute node via an out-of-band service network. Each compute node includes a computer processor and computer memory operably coupled to the computer processor.

特開2006−190104号公報JP 2006-190104 A 特表2010−537266号公報JP 2010-537266 Gazette

並列処理プログラムの中には、並列化可能な部分と並列化不可能な逐次処理部分が存在する。並列処理プログラムの処理時間Tは、おおよそ次式のように示すことができる。ここで、Cpは、並列処理部分ののべサイクル数である。Csは、逐次処理部分ののべサイクル数である。Fpは、並列処理部分のクロック周波数である。Fsは、逐次処理部分のクロック周波数である。PLは、並列数である。
T=Cp/(Fp×PL)+Cs/Fs
In a parallel processing program, there are a portion that can be parallelized and a sequential processing portion that cannot be parallelized. The processing time T of the parallel processing program can be roughly expressed as the following equation. Here, Cp is the total number of cycles of the parallel processing part. Cs is the total number of cycles in the sequential processing portion. Fp is the clock frequency of the parallel processing part. Fs is the clock frequency of the sequential processing part. PL is a parallel number.
T = Cp / (Fp × PL) + Cs / Fs

このように並列処理プログラムの処理時間Tは、並列処理部分と逐次処理部分で分離されているため、並列処理部分の高速化の効果と逐次処理部分の高速化の効果を独立に考えることができる。逐次処理部分は、稼働CPU数が1個なので、DVFSを用いたクロック周波数及び電圧制御により高速化が可能である。しかし、並列処理プログラムの処理のうち並列処理部分の高速化には、改善の余地がある。   Thus, since the processing time T of the parallel processing program is separated between the parallel processing portion and the sequential processing portion, the effect of increasing the speed of the parallel processing portion and the effect of increasing the speed of the sequential processing portion can be considered independently. . Since the sequential processing portion has one operating CPU, it can be speeded up by clock frequency and voltage control using DVFS. However, there is room for improvement in speeding up the parallel processing portion of the processing of the parallel processing program.

本発明の目的は、全プロセッシングエレメントを稼働させる場合より高い処理性能を達成することができる計算システム及びその電力管理方法を提供することである。   An object of the present invention is to provide a computing system and a power management method thereof that can achieve higher processing performance than when all the processing elements are operated.

計算システムは、複数のプロセッシングエレメントと、前記複数のプロセッシングエレメントのうちの少なくとも1個のプロセッシングエレメントの電力を基に、前記プロセッシングエレメントの周波数及び電源電圧を設定する第1の設定部と、前記周波数、前記電源電圧及び制約電力を基に、前記プロセッシングエレメントの稼働数を設定する第2の設定部とを有する。   The calculation system includes a plurality of processing elements, a first setting unit that sets a frequency and a power supply voltage of the processing element based on power of at least one of the plurality of processing elements, and the frequency And a second setting unit for setting the number of operation of the processing element based on the power supply voltage and the restricted power.

プロセッシングエレメントの周波数及び電源電圧の他に、プロセッシングエレメントの稼働数を設定することにより、全プロセッシングエレメントを稼働させる場合より高い処理性能を達成することができる。   By setting the number of operation of the processing elements in addition to the frequency and power supply voltage of the processing elements, higher processing performance can be achieved than when all the processing elements are operated.

図1は、本実施形態による計算システムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of a calculation system according to the present embodiment. 図2は、トランジスタのリーク電流を示すグラフである。FIG. 2 is a graph showing the leakage current of the transistor. 図3は、クロック周波数及び遅延時間の例を示すグラフである。FIG. 3 is a graph showing an example of the clock frequency and the delay time. 図4は、プロセッシングエレメントの稼働数及び計算システムの性能を示すグラフである。FIG. 4 is a graph showing the number of operating processing elements and the performance of the computing system. 図5は、計算システムの電力管理方法を示すフローチャートである。FIG. 5 is a flowchart showing a power management method of the computing system. 図6(A)及び(B)は、図5の処理主体を説明するための図である。6A and 6B are diagrams for explaining the processing subject in FIG. 図7は、図5の最適周波数導出表の構成例を示す図である。FIG. 7 is a diagram illustrating a configuration example of the optimum frequency derivation table in FIG. 図8は、プロセッシングエレメントの非稼働時電力に応じた最適動作点の変動を示すグラフである。FIG. 8 is a graph showing the variation of the optimum operating point according to the non-operating power of the processing element. 図9は、マルチコアプロセッサのCPUの構成例を示す図である。FIG. 9 is a diagram illustrating a configuration example of a CPU of a multi-core processor. 図10は、バッファフル率検出回路を有するCPUの構成例を示す図である。FIG. 10 is a diagram illustrating a configuration example of a CPU having a buffer full rate detection circuit. 図11は、電力管理コントローラの処理例を示すフローチャートである。FIG. 11 is a flowchart illustrating a processing example of the power management controller. 図12は、本実施形態の効果を説明するためのグラフである。FIG. 12 is a graph for explaining the effect of the present embodiment. 図13は、図7の最適周波数導出表の例を示す図である。FIG. 13 is a diagram showing an example of the optimum frequency derivation table in FIG.

図1は、本実施形態による計算システムの構成例を示す図である。計算システム100は、複数のプロセッシングエレメント(PE)101がネットワーク104に接続されている。各プロセッシングエレメント101は、処理を行う処理要素であり、演算処理用の中央処理装置(CPU)102及びCPU102に接続されたローカルメモリ103を有する。計算システム100は、単一のラックで構成されていてもよいし、複数のラックから構成されていてもよい。複数ラックの構成の場合は、プロセッシングエレメント101間のネットワーク104は、ラック内ネットワークとラック間ネットワークで構成される。   FIG. 1 is a diagram illustrating a configuration example of a calculation system according to the present embodiment. In the computing system 100, a plurality of processing elements (PE) 101 are connected to a network 104. Each processing element 101 is a processing element that performs processing, and includes a central processing unit (CPU) 102 for arithmetic processing and a local memory 103 connected to the CPU 102. The computing system 100 may be composed of a single rack or a plurality of racks. In the case of a configuration of a plurality of racks, the network 104 between the processing elements 101 includes an intra-rack network and an inter-rack network.

計算システム100では、処理対象とする並列処理プログラムの処理全体のうちの大部分を占める並列処理可能部分は並列プログラミングや並列化コンパイラ等により処理が類似した複数のサブタスクに分割される。これらのサブタスクは、プログラム実行時に各プロセッシングエレメント101(プロセッシングエレメント101がマルチコアプロセッサの場合はプロセッシングエレメント101内の各プロセッサコア)に割り当てられて、実行時に該当するプロセッシングエレメント101にロードされた上で並列に実行される。個々の並列処理プログラムは、タスクの規模により計算システム100全体で処理される場合もあれば、計算システム100全体を幾つかの部分に区画化したうちの一つで実行される場合もある。後者の場合、各区画には計算システム100全体の消費電力制約値が何らかのポリシに基づいてその区画の消費電力制約として分配される。各区画で処理される並列処理プログラムは、そのジョブを処理する区画に割り当てられた消費電力制約を満たすように実行されるため、この場合でも各区画を計算システム100の各区画の電力制約を計算システム100の電力制約とみなす。   In the computing system 100, a parallel processable portion that occupies most of the entire processing of the parallel processing program to be processed is divided into a plurality of subtasks having similar processing by parallel programming, a parallelizing compiler, or the like. These subtasks are assigned to each processing element 101 at the time of program execution (or each processor core in the processing element 101 when the processing element 101 is a multi-core processor), loaded into the corresponding processing element 101 at the time of execution, and then parallelized. To be executed. Each parallel processing program may be processed by the entire computing system 100 depending on the scale of the task, or may be executed by one of the entire computing system 100 partitioned into several parts. In the latter case, the power consumption constraint value of the entire computing system 100 is distributed to each partition as the power consumption constraint of the partition based on some policy. Since the parallel processing program processed in each partition is executed so as to satisfy the power consumption constraint assigned to the partition that processes the job, even in this case, the power constraint of each partition of the calculation system 100 is calculated. This is considered a power constraint of the system 100.

並列処理プログラムの並列処理部分は、プロセッシングエレメント101の数に対して十分大きい並列数を持つ。並列処理部分の分割数(サブタスク数)は、並列処理プログラム作成時に予めパラメータ化されていたり、並列化コンパイラによる並列数を指定したコンパイル等により容易に変更可能である。また、並列実行数を調整することによるサブタスクの割り当てやサブタスク間の通信等のプロセッシングエレメント101間の通信時間の変動量は、各並列実行プロセッシングエレメント101の処理時間全体と比べて無視できるくらい小さいとする。   The parallel processing part of the parallel processing program has a parallel number sufficiently larger than the number of processing elements 101. The number of divisions (number of subtasks) of the parallel processing portion is parameterized in advance when the parallel processing program is created, or can be easily changed by compiling with the parallel number specifying the parallel number. In addition, the amount of change in communication time between processing elements 101 such as subtask assignment and communication between subtasks by adjusting the number of parallel executions is small enough to be ignored compared to the overall processing time of each parallel execution processing element 101. To do.

プロセッシングエレメント101の1個当たり消費電力Paは、そのCPU102内の全ゲートのクロック信号当たりの平均動作率をα、配線及び素子のスイッチングにかかわる総容量をC、CPU102の電源電圧をV、CPU102のリーク電流をIkとし、CPU102のクロック周波数(動作周波数)をfとすると、次式(1)のように表すことができる。ここで、Pbは、CPU102の固定電力であり、Pcは、メモリ関連電力である。
Pa=α×C×V2×f+Ik×V+Pb+Pc ・・・(1)
The power consumption Pa per processing element 101 is expressed as follows: the average operating rate per clock signal of all the gates in the CPU 102 is α, the total capacity involved in switching of wiring and elements is C, the power supply voltage of the CPU 102 is V, When the leak current is Ik and the clock frequency (operating frequency) of the CPU 102 is f, it can be expressed as the following equation (1). Here, Pb is fixed power of the CPU 102, and Pc is memory-related power.
Pa = α × C × V 2 × f + Ik × V + Pb + Pc (1)

メモリ関連電力Pcは、ローカルメモリ103自体の消費電力並びにCPU102及びローカルメモリ103間のデータ転送にかかる消費電力であり、メモリアクセスの発生頻度と相関がある。CPU102の固定電力Pbは、CPU102内で別電源供給されたアナログマクロやシリアルI/O等のように半導体チップ内のクロック周波数にかかわらずに、一定量消費される電力成分を表す。   The memory-related power Pc is the power consumption of the local memory 103 itself and the power consumption for data transfer between the CPU 102 and the local memory 103 and correlates with the frequency of memory access. The fixed power Pb of the CPU 102 represents a power component that is consumed by a certain amount regardless of the clock frequency in the semiconductor chip, such as an analog macro or serial I / O that is separately supplied with power in the CPU 102.

図2は、トランジスタのリーク電流Ikを示すグラフである。横軸は、ドレイン及びソース間電圧Vdsである。縦軸は、ドレイン及びソース間電流Idsである。DIBL(Drain Induced Barrier Lowering)効果等により、電圧Vdsが増加すると、閾値電圧Vthが減少し、リーク電流Ikが増加する。リーク電流Ikの曲線は、トランジスタの動作時に変動させる程度の狭い範囲では、2〜3次式程度の正係数の多項式で近似することができる。例えば、リーク電流Ikは、次式のように、2次曲線201に近似することができる。ここで、電圧Vdsは、例えば電源電圧Vであり、a及びbは定数である。
Ik=a×V2+b
FIG. 2 is a graph showing the leakage current Ik of the transistor. The horizontal axis represents the drain-source voltage Vds. The vertical axis represents the drain-source current Ids. When the voltage Vds increases due to the DIBL (Drain Induced Barrier Lowering) effect or the like, the threshold voltage Vth decreases and the leakage current Ik increases. The curve of the leakage current Ik can be approximated with a polynomial having a positive coefficient of about 2 to 3 in a narrow range that can be varied during the operation of the transistor. For example, the leakage current Ik can be approximated to the quadratic curve 201 as in the following equation. Here, the voltage Vds is, for example, the power supply voltage V, and a and b are constants.
Ik = a × V 2 + b

図3は、クロック周波数301及び遅延時間302の例を示すグラフである。横軸は、電源電圧Vを示す。電源電圧Vが増加すると、素子のスイッチング性能が上がるため、遅延時間301が短くなり、クロック周波数302が上がる。逆に、電源電圧Vを下げていくと、素子のスイッチング性能が下がり、電源電圧Vが閾値電圧Vthより下がると、素子が動作しにくくなる。電源電圧Vとクロック周波数fの関係では、電源電圧Vは閾値電圧Vthを切片としたクロック周波数fの単調増加関数となり、実用的な電圧変動範囲では、1次直線303に近似すると、次式になる。ここで、γは定数である。
V=γ×f+Vth
FIG. 3 is a graph showing an example of the clock frequency 301 and the delay time 302. The horizontal axis indicates the power supply voltage V. When the power supply voltage V increases, the switching performance of the element increases, so that the delay time 301 decreases and the clock frequency 302 increases. On the contrary, when the power supply voltage V is lowered, the switching performance of the element is lowered, and when the power supply voltage V is lower than the threshold voltage Vth, the element becomes difficult to operate. With respect to the relationship between the power supply voltage V and the clock frequency f, the power supply voltage V becomes a monotonically increasing function of the clock frequency f with the threshold voltage Vth as an intercept. Become. Here, γ is a constant.
V = γ × f + Vth

ローカルメモリ103は、それが接続されるCPU102のクロック信号の周波数fが増加すると、内部処理速度の上昇により、メモリアクセス頻度も増加するため、メモリ関連電力Pcは、次式により、ある固定値P0mを切片として、クロック周波数fが線形増加するとしてモデル化できる。
Pc=P0m+f×Pm
When the frequency f of the clock signal of the CPU 102 to which the local memory 103 is connected increases, the memory access frequency also increases due to an increase in internal processing speed. Therefore, the memory-related power Pc is given by a fixed value P0m Can be modeled as a linear increase in clock frequency f.
Pc = P0m + f × Pm

このような関係を考慮して、上式(1)を、クロック周波数fについて整理すると、次式のように、正係数の多項式として近似することができる。ここで、C0、C1、C2、C3は、正の実数である。 In consideration of such a relationship, when the above equation (1) is arranged with respect to the clock frequency f, it can be approximated as a positive coefficient polynomial as the following equation. Here, C 0 , C 1 , C 2 , and C 3 are positive real numbers.

Pa=α×C×V2×f+Ik×V+Pb+Pc
={α×C×V2×f+Ik×V}+{P0m+f×Pm}+Pb
=α×C×(γ×f+Vth)2×f+(a×V2+b)×V+P0m+f×Pm+Pb
=α×C×(γ×f+Vth)2×f+(a×(γ×f+Vth)2+b)×(γ×f+Vth)+P0m+f×pm+Pb
=(α×C×γ2+a×γ3)×f3+(2×α×C×γ×Vth+3×a×γ2×Vth)× f2+・・・
=C0×f3+C1×f2+C2×f+C3
Pa = α × C × V 2 × f + Ik × V + Pb + Pc
= {Α × C × V 2 × f + Ik × V} + {P0m + f × Pm} + Pb
= Α × C × (γ × f + Vth) 2 × f + (a × V 2 + b) × V + P0m + f × Pm + Pb
= Α × C × (γ × f + Vth) 2 × f + (a × (γ × f + Vth) 2 + b) × (γ × f + Vth) + P0m + f × pm + Pb
= (Α × C × γ 2 + a × γ 3 ) × f 3 + (2 × α × C × γ × Vth + 3 × a × γ 2 × Vth) × f 2 +.
= C 0 × f 3 + C 1 × f 2 + C 2 × f + C 3

プロセッシングエレメント101単体の性能は、クロック周波数fに比例するため、並列処理時の計算システム100全体の性能は並列処理を行っているプロセッシングエレメント101の数Nとそのクロック周波数fの積N×fに比例するとみなすことができる。ここで、計算システム100の電力をPs、プロセッシングエレメント101の電力をPpとすると、計算システム100の電力制約下での性能最大化を目指すためには、余剰電力が出ないように、Ps=N×Ppとなるように、プロセッシングエレメント数N、電源電圧V及びクロック周波数fを調整する。この時の計算システム100の性能Gsは、次式(2)のようになる。   Since the performance of the single processing element 101 is proportional to the clock frequency f, the performance of the entire computing system 100 during parallel processing is the product N × f of the number N of processing elements 101 performing parallel processing and the clock frequency f. It can be regarded as proportional. Here, assuming that the power of the computing system 100 is Ps and the power of the processing element 101 is Pp, in order to maximize performance under the power constraint of the computing system 100, Ps = N so as not to generate surplus power. The number N of processing elements, the power supply voltage V, and the clock frequency f are adjusted so as to be × Pp. The performance Gs of the calculation system 100 at this time is expressed by the following equation (2).

Gs∝N×f=f×Ps/Pp
=f×Ps/(C0×f3+C1×f2+C2×f+C3
= Ps/(C0×f2+C1×f+C2+C3/f) ・・・(2)
Gs∝N × f = f × Ps / Pp
= F × Ps / (C 0 × f 3 + C 1 × f 2 + C 2 × f + C 3)
= Ps / (C 0 × f 2 + C 1 × f + C 2 + C 3 / f) (2)

図4は、式(2)のプロセッシングエレメント101の稼働数N及び計算システム100の処理性能Gsを示すグラフである。横軸は、CPU102のクロック周波数fを示す。式(2)のように、計算システム100の性能Gsは、クロック周波数fの関数として表され、f>0で極大点401を一つ持つ曲線となる。ここまでの説明は、計算システム100内で非稼働となったプロセッシングエレメント101の消費電力をほぼ0とみなしたモデルの説明である。次に、非稼働時のプロセッシングエレメント101の電力が0ではない場合を考える。プロセッシングエレメント101の非稼働時電力をC4とし、計算システム100内の全プロセッシングエレメント101の数MのうちN個が稼働中とすると、上式(2)の性能Msは、次式(3)のようになる。
Gs∝N×f=(Ps−C4×M)/{C0×f2+C1×f+C2 +(C3−C4)/f} ・・・(3)
FIG. 4 is a graph showing the number of operations N of the processing element 101 in Expression (2) and the processing performance Gs of the calculation system 100. The horizontal axis indicates the clock frequency f of the CPU 102. As shown in Expression (2), the performance Gs of the calculation system 100 is expressed as a function of the clock frequency f, and becomes a curve having one maximum point 401 when f> 0. The description so far is a model in which the power consumption of the processing element 101 that has become non-operating in the computing system 100 is regarded as almost zero. Next, consider a case where the power of the processing element 101 during non-operation is not zero. When the non-operating power of the processing element 101 is C 4 and N out of the number M of all processing elements 101 in the computing system 100 is operating, the performance Ms of the above equation (2) is expressed by the following equation (3) become that way.
Gs∝N × f = (Ps−C 4 × M) / {C 0 × f 2 + C 1 × f + C 2 + (C 3 -C 4 ) / f} (3)

また、稼働時の最適のプロセッシングエレメント101の電力Pp1が導出された後の最適のプロセッシングエレメント101の数Nは次式で求められる。
N=(Ps−M×C4)/(Pp1−C4) ・・・(4)
The number N of optimum processing elements 101 after the power Pp1 of the optimum processing element 101 during operation is derived is obtained by the following equation.
N = (Ps−M × C 4 ) / (Pp 1 −C 4 ) (4)

この場合も、式(4)の分子は固定値であり、式(4)の分母は式(2)と同様の形となるので、式(2)と同様に、計算システム性能Gsは、図4のような、極大点401を一つ持つものとなる。ここで、非稼働時にクロック信号が停止すると考えれば、C3≧C4とみなすことができるため、1/fの係数も正と考えることができる。 Also in this case, the numerator of the equation (4) is a fixed value, and the denominator of the equation (4) has the same form as the equation (2). As shown in FIG. Here, if it is considered that the clock signal stops when not in operation, it can be considered that C 3 ≧ C 4, and therefore the 1 / f coefficient can also be considered positive.

このことから、計算システム100の消費電力制約の下で、計算システム100の性能Gsを最大化するクロック周波数fとそれに対応する電源電圧V及びプロセッシングエレメント101の数Nの最適値が存在し、使用可能なプロセッシングエレメント101をすべて使用することが、必ずしも計算システム100の性能Gsの最大化につながらないということがわかる。   From this, under the power consumption constraint of the computing system 100, there exists an optimum value of the clock frequency f that maximizes the performance Gs of the computing system 100, the corresponding power supply voltage V, and the number N of processing elements 101, It can be seen that using all possible processing elements 101 does not necessarily lead to maximizing the performance Gs of the computing system 100.

高性能の超並列計算システム100では、プロセッシングエレメント101間通信による処理性能の低下を抑えるために、プロセッシングエレメント101間通信として消費電力の大きな高速入出力(I/O)制御回路を用いたシリアル転送を用いることができる。その場合には、入出力制御回路のアクセスの有無にかかわらず、常時大電力を消費し続けることになり、上のプロセッシングエレメント101の消費電力式の固定電力成分が非常に大きくなる。式(2)の性能Gsの最適点は、式の性質上、図4において、プロセッシングエレメント101の固定電力成分C3が大きくなると、クロック周波数fが大きい側(プロセッシングエレメント101数Nが少ない側)に移る。そのため、この様な固定電力成分C3の大きいプロセッシングエレメント101は全プロセッシングエレメント101を稼働させるより、稼働させるプロセッシングエレメント101の数Nを絞って、その分、電源電圧Vやクロック周波数fを上げた方が計算システム100全体の性能Gsは高くなるケースが多い。 In the high-performance massively parallel computing system 100, serial transfer using a high-speed input / output (I / O) control circuit that consumes a large amount of power as communication between processing elements 101 in order to suppress a decrease in processing performance due to communication between processing elements 101. Can be used. In this case, regardless of whether the input / output control circuit is accessed, a large amount of power is constantly consumed, and the power consumption type fixed power component of the processing element 101 is very large. The optimum point of the performance Gs in the equation (2) is that the fixed power component C 3 of the processing element 101 in FIG. 4 becomes larger in FIG. 4 due to the nature of the equation, the larger the clock frequency f (the smaller the number N of processing elements 101). Move on. For this reason, the processing element 101 having such a large fixed power component C 3 reduces the number N of operating processing elements 101 to be operated rather than operating all the processing elements 101 and raises the power supply voltage V and the clock frequency f accordingly. In many cases, the performance Gs of the entire computing system 100 becomes higher.

また、式(2)からわかるように、図4の特性グラフの性能最大点401は、C0及びC1が大きい(実行するプログラムの消費電力が大きい)と、クロック周波数fが低い側(プロセッシングエレメント101数Nが多い側)に移る。このように、最適動作点401は、実行するプログラムの消費電力によっても変動することがわかる。 Further, as can be seen from the equation (2), the maximum performance point 401 in the characteristic graph of FIG. 4 is such that C 0 and C 1 are large (the power consumption of the program to be executed is large) and the clock frequency f is low (processing). Move to the side where the number N of elements 101 is large. Thus, it can be seen that the optimum operating point 401 varies depending on the power consumption of the program to be executed.

本実施形態は、動作点401を基に、稼働するプロセッシングエレメント101の数N、クロック周波数f及び電源電圧Vを調整することにより、計算システム100の性能Gsの最大化を図る。   In the present embodiment, the performance Gs of the computing system 100 is maximized by adjusting the number N of processing elements 101 to be operated, the clock frequency f, and the power supply voltage V based on the operating point 401.

図5は、計算システム100の電力管理方法を示すフローチャートである。図5の処理は、ステップ511のプロセッシングエレメント101の特性情報取得処理と、ステップS512の性能最大化プロセッシングエレメント数及び動作条件算出処理と、ステップS505の動作条件設定処理と、ステップS506の並列処理プログラム実行処理とを有する。ステップS511は、ステップS501及びS502を有する。ステップS512は、ステップS503及びS504を有する。   FIG. 5 is a flowchart showing a power management method of the computing system 100. The processing in FIG. 5 includes processing information acquisition processing of the processing element 101 in step 511, performance maximization processing element number and operation condition calculation processing in step S512, operation condition setting processing in step S505, and parallel processing program in step S506. Execution processing. Step S511 includes steps S501 and S502. Step S512 includes steps S503 and S504.

図6(A)は、図5の処理主体を説明するための図である。計算システム100は、複数のCPU102を有する。各CPU102は、複数の演算コア601を有するマルチコアプロセッサである。1個のCPU102内の1個の演算コア601は、プログラムを実行することにより図5の処理を行い、各CPU102から情報603を入力し、各CPU102に対して電源電圧V及びクロック周波数fなどを設定するための制御信号602を出力する。また、1個のプロセッシングエレメント101が図5の処理を行ってもよい。この場合、図5の処理を行うプロセッシングエレメント101は、図1のネットワーク104を介して、他のプロセッシングエレメント101に対して通信を行う。   FIG. 6A is a diagram for explaining the processing subject of FIG. The computing system 100 has a plurality of CPUs 102. Each CPU 102 is a multi-core processor having a plurality of arithmetic cores 601. One computation core 601 in one CPU 102 performs the processing of FIG. 5 by executing a program, inputs information 603 from each CPU 102, and supplies the power supply voltage V and clock frequency f to each CPU 102. A control signal 602 for setting is output. One processing element 101 may perform the processing of FIG. In this case, the processing element 101 that performs the processing of FIG. 5 communicates with the other processing elements 101 via the network 104 of FIG.

図6(B)は、他の図5の処理主体を説明するための図である。計算システム100は、複数のCPU102の他に、電力管理コントローラ611を有する。電力管理コントローラ611は、プログラムを実行することにより図5の処理を行い、各CPU102から情報603を入力し、各CPU102に対して電源電圧V及びクロック周波数fなどを設定するための制御信号602を出力する。この場合、電力管理コントローラ611は、図1のネットワーク104とは別のネットワークを介して、プロセッシングエレメント101に対して通信を行う。以下、電力管理コントローラ611が図5の処理を行う例を説明する。   FIG. 6B is a diagram for explaining another processing subject of FIG. The computing system 100 includes a power management controller 611 in addition to the plurality of CPUs 102. The power management controller 611 performs the processing of FIG. 5 by executing a program, inputs information 603 from each CPU 102, and receives a control signal 602 for setting the power supply voltage V, the clock frequency f, and the like for each CPU 102. Output. In this case, the power management controller 611 communicates with the processing element 101 via a network different from the network 104 in FIG. Hereinafter, an example in which the power management controller 611 performs the process of FIG. 5 will be described.

稼働させるすべてのプロセッシングエレメント101は、各並列タスクの処理時間を揃えるために、同一のクロック周波数fに設定される。電源電圧Vは、全プロセッシングエレメント101で同一でもよいし、プロセッシングエレメント101毎のプロセスばらつきに応じて調整してもよい。   All the processing elements 101 to be operated are set to the same clock frequency f in order to align the processing time of each parallel task. The power supply voltage V may be the same for all the processing elements 101, or may be adjusted according to the process variation for each processing element 101.

プロセッシングエレメント101の消費電力、特にCPU102の電力については、ダイナミック電力とリーク電力がある。リーク電力については、計算システム100が水冷等により低温で温度管理され、リーク電力の変動が小さい領域で動作していう前提で、既知の固定値として扱う。プロセッシングエレメント101は、動作時に内部の各部の稼働情報を記録して、それを基に自身の消費電力(ダイナミック電力)を演算する機能を持つ。   The power consumption of the processing element 101, particularly the power of the CPU 102, includes dynamic power and leak power. The leakage power is treated as a known fixed value on the assumption that the calculation system 100 is temperature-controlled at a low temperature by water cooling or the like and operates in a region where the fluctuation of the leakage power is small. The processing element 101 has a function of recording operation information of each internal unit during operation and calculating its own power consumption (dynamic power) based on the operation information.

電力管理コントローラ611は、同一のクロック周波数fの下でプロセッシングエレメント101の消費電力の異なる複数の動作負荷において、下記の3個のパラメータを求める。   The power management controller 611 obtains the following three parameters for a plurality of operating loads with different power consumption of the processing element 101 under the same clock frequency f.

(1)その負荷を特定の基準周波数下で処理した際のプロセッシングエレメント101のダイナミック電力
(2)その負荷での最適周波数(図4の最適動作点401)
(3) その負荷で周波数を(2)の最適周波数に変更した場合のプロセッシングエレメント101の電力
(1) Dynamic power of the processing element 101 when the load is processed under a specific reference frequency (2) Optimal frequency at the load (optimum operating point 401 in FIG. 4)
(3) The power of the processing element 101 when the frequency is changed to the optimum frequency of (2) with the load

図7は、図5の最適周波数導出表521の構成例を示す図である。最適周波数導出表521は、例えば、電力管理コントローラ611内に記憶される。最適周波数導出表521は、規定周波数で実行した時のプロセッシングエレメント101のダイナック電力値P1〜Pmと、その時の性能最適周波数F1〜Fmと、その性能最適周波数F1〜Fm及びそれに対応する電源電圧V1〜Vmを使用した時の変更後電力P1a〜Pmaを有する。最適周波数導出表521は、予め作成される。   FIG. 7 is a diagram showing a configuration example of the optimum frequency derivation table 521 in FIG. The optimum frequency derivation table 521 is stored in the power management controller 611, for example. The optimum frequency derivation table 521 shows the dynamic power values P1 to Pm of the processing element 101 when executed at the specified frequency, the optimum performance frequencies F1 to Fm at that time, the optimum performance frequencies F1 to Fm and the corresponding power supply voltage V1. It has the electric power P1a-Pma after a change at the time of using -Vm. The optimum frequency derivation table 521 is created in advance.

上の(1)〜(3)の情報は、プロセッシングエレメント101の電力及び周波数特性がわかっていれば求めることができるため、例えば、設計時の設計データを用いた消費電力解析や、製造後、プロセッシングエレメント101単体での実機測定等により、計算システム100を組む前に、最適周波数導出表521を求めることができる。   Since the information of (1) to (3) above can be obtained if the power and frequency characteristics of the processing element 101 are known, for example, power consumption analysis using design data at the time of design, The optimum frequency derivation table 521 can be obtained before assembling the calculation system 100 by measuring the actual machine of the processing element 101 alone.

最適周波数導出表521は、後述する検索処理のために、予めダイナミック電力P1〜Pmの大きさで、エントリをソートしておく。最適周波数導出表521は、式(2)のGs∝f×Ps/Ppのうちのf/Ppの部分で決まる値で作成されるため、並列処理プログラムを計算システム100全体で処理する場合でも、区画化した一部分で処理する場合でも、同じ最適周波数導出表521を使用することができる。   The optimum frequency derivation table 521 sorts the entries in advance according to the dynamic powers P1 to Pm for a search process to be described later. Since the optimal frequency derivation table 521 is created with a value determined by the f / Pp portion of Gs∝f × Ps / Pp in the equation (2), even when the parallel processing program is processed by the entire computing system 100, The same optimum frequency derivation table 521 can be used even when processing is performed on a partitioned part.

実行される並列処理プログラムは、図5の処理開始前に並列実行数Nを実行時に指定できるように、Nをパラメータ化して作成(コンパイル)されているか、このプログラムの処理に割り当てられる全プロセッシングエレメント101の数Mと同じかそれより小さい並列数で、並列化コンパイラによって予めコンパイルされている。   The parallel processing program to be executed is created (compiled) by parameterizing N so that the number N of parallel executions can be designated at the time of execution before the processing of FIG. 5 is started, or all processing elements assigned to the processing of this program The number of parallels is equal to or smaller than the number M of 101 and is precompiled by a parallelizing compiler.

まず、ステップS501では、電力管理コントローラ611は、電力情報取得用の並列処理プログラムを各プロセッシングエレメント101にテスト実行させる。この処理は、消費電力が計算システム100の制約電力を超えないような十分低い周波数で実行し、定常特性を取得するのに十分な時間実行させる。   First, in step S501, the power management controller 611 causes each processing element 101 to test-execute a parallel processing program for acquiring power information. This process is executed at a sufficiently low frequency so that the power consumption does not exceed the power limit of the computing system 100, and is executed for a time sufficient to acquire the steady state characteristics.

次に、ステップS502では、電力管理コントローラ611は、1個又は複数のプロセッシングエレメント101の並列処理部分の定常的なダイナミック電力Pdを取得する。並列処理部分について、定常的なダイナミック電力の取得に十分な長さだけ並列処理プログラムを実行した上で、その時のプロセッシングエレメント101のダイナミック電力Pdを取得する。   Next, in step S <b> 502, the power management controller 611 obtains steady dynamic power Pd of the parallel processing portion of the one or more processing elements 101. For the parallel processing portion, the parallel processing program is executed for a length sufficient to acquire steady dynamic power, and then the dynamic power Pd of the processing element 101 at that time is acquired.

ダイナック電力Pdを取得するプロセッシングエレメント101は1個でもいいし、ダイナミック電力Pdのばらつきを考慮する場合は、複数のプロセッシングエレメント101からダイナミック電力Pdを取得した上で、平均処理等を行い、1個のダイナミック電力Pdを求めてもよい。   There may be one processing element 101 for acquiring the dynamic power Pd. When considering the variation in the dynamic power Pd, the dynamic power Pd is acquired from the plurality of processing elements 101, and the average processing is performed. The dynamic power Pd may be obtained.

また、プロセッシングエレメント101単体においても、異なる期間の定常状態のダイナミック電力Pdを保持する複数レジスタを用意するなどして、複数のダイナミック電力Pdを取得してもよい。電力管理コントローラ611は、得られた複数のダイナミック電力Pdを基に、平均ダイナミック電力Pdを用いる。   Also, the processing element 101 alone may acquire a plurality of dynamic powers Pd by preparing a plurality of registers for holding the steady state dynamic powers Pd for different periods. The power management controller 611 uses the average dynamic power Pd based on the obtained plurality of dynamic powers Pd.

また、電力管理コントローラ611は、統計処理により分散を考慮して例えば「平均+1σ」相当のダイナミック電力Pdを求めてもよい。   Further, the power management controller 611 may obtain the dynamic power Pd corresponding to, for example, “average + 1σ” in consideration of dispersion by statistical processing.

また、複数のプロセッシングエレメント101が同時動作することにより、ばらつきが重なり合って緩和される効果を加味する為の係数αを導入し、以下の式で算出したダイナミック電力Pdを用いてもよい。
Pd=平均電力値+(最大電力−平均電力)×α
In addition, a coefficient α for taking into account the effect that multiple processing elements 101 are simultaneously operated to reduce variation by overlapping them may be introduced, and dynamic power Pd calculated by the following equation may be used.
Pd = average power value + (maximum power−average power) × α

次に、ステップS512の性能最大化プロセッシングエレメント数及び動作条件算出処理を説明する。   Next, the performance maximizing processing element number and operation condition calculation process in step S512 will be described.

ステップS503では、電力管理コントローラ611は、得られたダイナミック電力Pdを基に最適周波数導出表521を検索し、その並列処理プログラムに最適な周波数fを求める。例えば、図7の最適周波数導出表521を用いて、ダイナミック電力がP1の場合には、最適な周波数がF1になる。また、得られたダイナミック電力Pdが、図7の最適周波数導出表521のi番目のエントリのダイナミック電力P(i)とi+1番目のエントリのダイナミック電力P(i+1)の間の場合、電力管理コントローラ611は、i番目のエントリの最適周波数F(i)とi+1番目のエントリの最適周波数F(i+1)を用いて、次式の線形補間により、最適周波数fを導出する。
f=F(i)+{F(i+1)−F(i)}×{Pd−P(i)}/{P(i+1)+P(i)}
In step S503, the power management controller 611 searches the optimum frequency derivation table 521 based on the obtained dynamic power Pd, and obtains the optimum frequency f for the parallel processing program. For example, using the optimum frequency derivation table 521 in FIG. 7, when the dynamic power is P1, the optimum frequency is F1. When the obtained dynamic power Pd is between the dynamic power P (i) of the i-th entry and the dynamic power P (i + 1) of the i + 1-th entry in the optimum frequency derivation table 521 of FIG. 611 uses the optimal frequency F (i) of the i-th entry and the optimal frequency F (i + 1) of the i + 1-th entry to derive the optimal frequency f by the following linear interpolation.
f = F (i) + {F (i + 1) -F (i)} * {Pd-P (i)} / {P (i + 1) + P (i)}

また、電力管理コントローラ611は、上記の最適周波数fに対応する最適電源電圧Vを求める。最適電源電圧Vは、最適周波数fでCPU102を正常動作させることができる電源電圧である。   Further, the power management controller 611 obtains the optimum power supply voltage V corresponding to the optimum frequency f. The optimum power supply voltage V is a power supply voltage that allows the CPU 102 to operate normally at the optimum frequency f.

次に、ステップS504では、電力管理コントローラ611は、図7の最適周波数導出表521を用いて、求めた最適周波数f及び最適電源電圧Vの動作時のプロセッシングエレメント101の電力を変更後電力P1a〜Pmaとして求める。この場合も、電力管理コントローラ611は、上記の最適周波数fの導出と同様に、線形補間により、変更後電力P1a〜Pmaを求める。   Next, in step S504, the power management controller 611 uses the optimum frequency derivation table 521 in FIG. 7 to change the power of the processing element 101 during the operation of the obtained optimum frequency f and optimum power supply voltage V to the changed power P1a˜ Obtained as Pma. Also in this case, the power management controller 611 obtains the changed powers P1a to Pma by linear interpolation as in the derivation of the optimum frequency f.

次に、電力管理コントローラ611は、計算システム100の制約電力Ps、最適動作時の変更後電力Pp(P1a〜Pma)、全プロセッシングエレメント数M及びプロセッシングエレメント101の非稼働時電力C4を基に、式(4)を用いて、次式により、最適稼働プロセッシングエレメント数Nを導出する。
N=(Ps−C4×M)/( Pp−C4
Next, the power management controller 611 is based on the constraint power Ps of the computing system 100, the changed power Pp (P1a to Pma) at the optimal operation, the total number of processing elements M, and the non-operating power C 4 of the processing element 101. Using the equation (4), the optimum operation processing element number N is derived by the following equation.
N = (Ps−C 4 × M) / (Pp−C 4 )

ここで、最適稼働プロセッシングエレメント数Nが全プロセッシングエレメント数Mより多い場合は、最適稼働プロセッシングエレメント数NをMとする。その場合、各プロセッシングエレメント101は、Ps/Mの電力で動作させられる。この制御は、ステップS511の処理と同様のテスト実行を行い、最適周波数f及び最適電源電圧Vの組みを変化させながら、取得するダイナミック電力PdがPs/Mとなる最適周波数f及び最適電源電圧Vの組みを見つけてもいいし、Power Capping手法のように各プロセッシングエレメント101に制約電力Ps/Mを設定して、各プロセッシングエレメント101が設定電力以下で動作するように自律的に制御を行わせてもよい。   Here, when the optimum operation processing element number N is larger than the total processing element number M, the optimum operation processing element number N is set to M. In that case, each processing element 101 is operated with power of Ps / M. In this control, the test execution similar to the processing of step S511 is performed, and the optimum frequency f and the optimum power supply voltage V at which the dynamic power Pd to be acquired becomes Ps / M while changing the combination of the optimum frequency f and the optimum power supply voltage V. You can find a combination of the above, or set the restricted power Ps / M to each processing element 101 as in the Power Capping method, and let each processing element 101 operate autonomously so that it operates below the set power. May be.

次に、ステップS505では、電力管理コントローラ611は、上記の最適稼働プロセッシングエレメント数Nに基づき稼働させるプロセッシングエレメント101を決定し、稼働させるプロセッシングエレメント101の上記の最適周波数f及び最適電源電圧Vを設定する。また、電力管理コントローラ611は、オペレーティングシステム(OS)等の並列タスクをスケジューリングするプロセスに最適稼働プロセッシングエレメント数Nを通知する。電力管理コントローラ611は、実行するタスクが並列実行数固定でコンパイルされている場合は、本処理内で対象タスクを並列化コンパイラを用いて、並列数を最適稼働プロセッシングエレメント数Nとして、対象タスクを再コンパイルする。タスクの並列数がパラメータ化されて作成されているプログラムの場合は、電力管理コントローラ611は、実行時の並列数の設定を最適稼働プロセッシングエレメント数Nに設定する。   Next, in step S505, the power management controller 611 determines the processing element 101 to be operated based on the above-mentioned optimal operation processing element number N, and sets the optimal frequency f and the optimal power supply voltage V of the processing element 101 to be operated. To do. In addition, the power management controller 611 notifies the optimum operation processing element number N to a process for scheduling a parallel task such as an operating system (OS). If the task to be executed is compiled with a fixed number of parallel executions, the power management controller 611 uses the parallelizing compiler as the target task in this processing, sets the parallel number as the optimum operation processing element number N, and sets the target task. Recompile. In the case of a program created by parameterizing the parallel number of tasks, the power management controller 611 sets the parallel number at the time of execution to the optimum operation processing element number N.

次に、ステップS506では、電力管理コントローラ611は、ステップS505の動作条件設定に基づいて、対象の並列処理プログラムを各プロセッシングエレメント101に実行させる。   Next, in step S506, the power management controller 611 causes each processing element 101 to execute the target parallel processing program based on the operation condition setting in step S505.

図8は、プロセッシングエレメント101の非稼働時電力C4に応じた最適動作点の変動を示すグラフである。計算システム100の性能801は、プロセッシングエレメント101の非稼働時電力C4が大きい場合の性能であり、最適動作点802を有する。計算システム100の性能803は、プロセッシングエレメント101の非稼働時電力C4が小さい場合の性能であり、最適動作点804を有する。 FIG. 8 is a graph showing the variation of the optimum operating point according to the non-operating power C 4 of the processing element 101. The performance 801 of the computing system 100 is a performance when the non-operating power C 4 of the processing element 101 is large, and has an optimum operating point 802. The performance 803 of the computing system 100 is a performance when the non-operating power C 4 of the processing element 101 is small, and has an optimum operating point 804.

式(3)から分かるように、プロセッシングエレメント101の非稼働時電力C4の値が変わると、分母の1/fの係数C4−C3が変化するため、計算システム100の性能が最適となる周波数も変動する。つまり、プロセッシングエレメント101が休止時の消費電力が異なる複数の低電力モードを持っていた場合、休止させたプロセッシングエレメント101をどの低電力モードで待機させるかによって、最適な動作点802又は804が変わる。よって、プロセッシングエレメント101が休止時電力の異なる複数の低電力モードを持っていた場合、その低電力モードごとに図7の最適周波数導出表521を用意し、計算システム100の低電力モード設定によって、使用する最適周波数導出表521を切り替えることにより、休止時電力が異なるモードを持つ場合にも対応することができる。 As can be seen from equation (3), when the value of the non-operating power C 4 of the processing element 101 changes, the coefficient C 4 -C 3 of the denominator 1 / f changes, and therefore the performance of the computing system 100 is optimal. The fluctuating frequency also varies. That is, when the processing element 101 has a plurality of low power modes with different power consumption at the time of suspension, the optimum operating point 802 or 804 changes depending on which low power mode the suspended processing element 101 is made to stand by. . Therefore, when the processing element 101 has a plurality of low power modes with different power during rest, the optimum frequency derivation table 521 of FIG. 7 is prepared for each low power mode, and the low power mode setting of the computing system 100 By switching the optimum frequency derivation table 521 to be used, it is possible to cope with a case where the resting power has different modes.

図9は、マルチコアプロセッサのCPU102の構成例を示す図である。CPU102は、マルチコアプロセッサであり、複数の演算コア601を有する。また、CPU102は、共有キャッシュメモリ901、メモリ制御回路902及び入出力(I/O)制御回路903を有する。各演算コア601は、共有キャッシュメモリ901を介して、メモリ制御回路902に対して、コマンドCMDを出力し、データDTを入出力する。また、各演算コア601は、共有キャッシュメモリ901を介して、入出力制御回路903に対して、コマンドCMDを出力し、データDTを入出力する。メモリ制御回路902は、内部バッファを有し、ローカルメモリ103に対してデータを読み書き制御し、内部バッファがフルになるとビジー信号MBSYを出力する。入出力制御回路903は、内部バッファを有し、ネットワーク104に対してデータを入出力制御し、内部バッファがフルになるとビジー信号IBSYを出力する。   FIG. 9 is a diagram illustrating a configuration example of the CPU 102 of the multi-core processor. The CPU 102 is a multi-core processor and has a plurality of arithmetic cores 601. The CPU 102 includes a shared cache memory 901, a memory control circuit 902, and an input / output (I / O) control circuit 903. Each arithmetic core 601 outputs a command CMD and inputs / outputs data DT to the memory control circuit 902 via the shared cache memory 901. Further, each arithmetic core 601 outputs a command CMD to the input / output control circuit 903 via the shared cache memory 901 and inputs / outputs data DT. The memory control circuit 902 has an internal buffer, controls reading / writing of data to / from the local memory 103, and outputs a busy signal MBSY when the internal buffer becomes full. The input / output control circuit 903 has an internal buffer, performs input / output control of data with respect to the network 104, and outputs a busy signal IBSY when the internal buffer becomes full.

これまでの説明における計算システム100をマルチコアCPU102と考え、これまでの説明におけるプロセッシングエレメント101を演算コア601と考え、規模を縮小してこれまでの式を当てはめて考える。その場合、演算コア601は、式(1)の固定電力に相当する周波数f及び電源電圧Vに依存しない電力成分がほとんどないため、式(2)及び(3)の性能Gsで固定電力が0であるとみなして考えることにより、プロセッシングエレメント101内の全演算コア601を使用した場合が一番電力当たりの性能が高くなることが分かる。すなわち、周波数fを低くし、その分、大量のプロセッシングエレメント101を動作させた方が全体の性能が上がる。このことから、プロセッシングエレメント101がマルチコアプロセッサの場合は、プロセッシングエレメント101内の演算コア601は全て動作させた上で、プロセッシングエレメント101の数Nを本実施形態で決定することにより、性能を最大化できる。これにより、プロセッシングエレメント101がマルチコアプロセッサの場合でも、性能を最大化することが可能となる。   The calculation system 100 in the above description is considered as the multi-core CPU 102, the processing element 101 in the above description is considered as the arithmetic core 601, the scale is reduced, and the above formulas are applied. In that case, since the arithmetic core 601 has almost no power component that does not depend on the frequency f and the power supply voltage V corresponding to the fixed power in Expression (1), the fixed power is 0 with the performance Gs in Expressions (2) and (3). Therefore, it can be understood that the performance per power is highest when all the arithmetic cores 601 in the processing element 101 are used. That is, if the frequency f is lowered and a larger amount of the processing element 101 is operated, the overall performance is improved. Therefore, when the processing element 101 is a multi-core processor, the performance is maximized by operating all the arithmetic cores 601 in the processing element 101 and determining the number N of processing elements 101 in this embodiment. it can. As a result, even when the processing element 101 is a multi-core processor, the performance can be maximized.

これまでの説明では、性能GsはN×fに比例するという前提で行ってきた。しかし、例えばメモリアクセスが多い処理の場合は、周波数fを上げても、メモリアクセスの処理待ちがボトルネックとなって、いくら周波数fを上げても、実際の処理性能は上がらず、Gs∝N×fという前提が崩れる場合がある。この代表的なものがCPU102のメモリ制御回路902や入出力制御回路903である。これらの制御回路902及び903は、仕様上、最大バンド幅や通信レイテンシが決まっているため、いくらCPU102内部の周波数fを上げても、速くはならない。本実施形態により求めた最適周波数fが、このようなメモリアクセスや入出力アクセスによる性能劣化が大きい領域に入っていた場合は、最高性能は達成できずに、性能向上に結び付かない無駄な電力が消費されることになる。このようなケースの対策として、以下の様に、メモリアクセス又は入出力アクセスによる性能劣化を検知して、周波数が無駄に高くならない機構を入れて、消費電力を抑制する。無駄な電力消費を抑えることにより、電気代の削減や故障発生率の抑制などにつながる。計算システム100を区画化して、複数のジョブを実行している場合には、上位のシステム制御において、この機構により生じた消費電力の余剰を別の区画で処理されているジョブの電力制約値に加えることにより、その別の区画のジョブの性能をさらに上げるといったことも可能となる。   In the description so far, the performance Gs has been performed on the assumption that it is proportional to N × f. However, in the case of processing with many memory accesses, for example, even if the frequency f is increased, waiting for memory access processing becomes a bottleneck, and no matter how much the frequency f is increased, the actual processing performance does not increase. The premise of xf may be broken. Typical examples are the memory control circuit 902 and the input / output control circuit 903 of the CPU 102. Since these control circuits 902 and 903 have a maximum bandwidth and communication latency determined by the specifications, no matter how much the internal frequency f of the CPU 102 is increased, it will not be faster. When the optimum frequency f obtained by the present embodiment is in a region where performance degradation due to memory access or input / output access is large, the maximum performance cannot be achieved and wasted power that does not lead to performance improvement. Will be consumed. As a countermeasure against such a case, as described below, performance degradation due to memory access or input / output access is detected, and a mechanism that does not increase the frequency unnecessarily is included to suppress power consumption. Suppressing unnecessary power consumption leads to reduction of electricity bills and failure rate. When the computer system 100 is partitioned and a plurality of jobs are executed, the power consumption surplus generated by this mechanism is converted into the power constraint value of the job being processed in another partition in the upper system control. In addition, it is possible to further improve the performance of the job in the other section.

図10は、バッファフル率検出回路を有するCPU102の構成例を示す図である。CPU102は、バッファフル率検出回路を有する。バッファフル率検出回路は、クロックカウンタ1001、カウンタ1002、除算器1003及びバッファフル率レジスタ1004を有し、メモリ制御回路902のバッファのバッファフル率を検出する。クロックカウンタ1001及びカウンタ1002は、リセット信号RSによりカウント値がリセットされる。クロックカウンタ1001は、クロック信号をカウントする。メモリ制御回路902は、内部バッファがフルになるとビジー信号MBSYを出力する。カウンタ1002は、メモリ制御回路902のビジー信号MBSYをカウントする。除算器1003は、カウンタ1002のカウント値とクロックカウンタ1001のカウント値との除算を行い、除算結果をバッファフル率として出力する。バッファフル率レジスタ1004は、保持信号HLDを入力すると、除算器1003が出力するバッファフル率を保持する。メモリ制御回路902のバッファフル率を検出する方法を説明したが、同様に、図9の入出力制御回路903のバッファフル率の検出回路を設けることができる。   FIG. 10 is a diagram illustrating a configuration example of the CPU 102 having the buffer full rate detection circuit. The CPU 102 has a buffer full rate detection circuit. The buffer full rate detection circuit includes a clock counter 1001, a counter 1002, a divider 1003, and a buffer full rate register 1004, and detects the buffer full rate of the buffer of the memory control circuit 902. The count values of the clock counter 1001 and the counter 1002 are reset by the reset signal RS. The clock counter 1001 counts clock signals. The memory control circuit 902 outputs a busy signal MBSY when the internal buffer becomes full. The counter 1002 counts the busy signal MBSY from the memory control circuit 902. The divider 1003 divides the count value of the counter 1002 and the count value of the clock counter 1001 and outputs the division result as a buffer full rate. When the holding signal HLD is input, the buffer full rate register 1004 holds the buffer full rate output by the divider 1003. Although the method of detecting the buffer full rate of the memory control circuit 902 has been described, similarly, a buffer full rate detection circuit of the input / output control circuit 903 of FIG. 9 can be provided.

メモリアクセス又は入出力アクセスによる性能劣化を検出する回路として、CPU102内のメモリ制御回路902及び入出力制御回路903のバッファにおいて、カウンタ1002は、バッファがフルになったクロック数をカウントする。バッファフル率レジスタ1004は、バッファフル率を保持する。バッファフル率は、全実行クロック数のうちのバッファフルとなったクロック数の割合である。   As a circuit for detecting performance degradation due to memory access or input / output access, in the buffer of the memory control circuit 902 and input / output control circuit 903 in the CPU 102, the counter 1002 counts the number of clocks in which the buffer is full. The buffer full rate register 1004 holds the buffer full rate. The buffer full rate is the ratio of the number of clocks that become buffer full to the total number of execution clocks.

図11は、電力管理コントローラ611の図10のCPU102に対する処理例を示すフローチャートであり、図5のステップS511及びS512において最適周波数を求めた後かつステップS506の前に行われる処理である。この処理は、サンプル取得として十分な数のプロセッシングエレメント101で実行すればよく、全プロセッシングエレメント101で実行する必要はない。   FIG. 11 is a flowchart showing a processing example of the power management controller 611 for the CPU 102 in FIG. 10, which is processing performed after the optimum frequency is obtained in steps S511 and S512 in FIG. 5 and before step S506. This process may be executed by a sufficient number of processing elements 101 for sample acquisition, and need not be executed by all the processing elements 101.

ステップS1001では、電力管理コントローラ611は、リセット信号RSの印加及び解除を行い、クロックカウンタ1001及びカウンタ1002のカウント値をリセットする。   In step S1001, the power management controller 611 applies and cancels the reset signal RS, and resets the count values of the clock counter 1001 and the counter 1002.

次に、ステップS1002では、電力管理コントローラ611は、一定期間(定常状態として十分な期間)プロセッシングエレメント101を動作させる。   Next, in step S1002, the power management controller 611 operates the processing element 101 for a certain period (a period sufficient as a steady state).

次に、ステップS1003では、電力管理コントローラ611は、保持信号HLDにより、バッファフル率をレジスタ1004に格納する。   Next, in step S1003, the power management controller 611 stores the buffer full rate in the register 1004 by the holding signal HLD.

次に、ステップS1003では、電力管理コントローラ611は、バッファフル率レジスタ1004に格納されているバッファフル率を読み出す。   In step S <b> 1003, the power management controller 611 reads the buffer full rate stored in the buffer full rate register 1004.

次に、電力管理コントローラ611は、バッファフル率が閾値より小さい場合は、メモリボトルネックは無視できるとみなして、設定された最適周波数で図5のステップS506の処理を各プロセッシングエレメント101に実行させる。   Next, when the buffer full rate is smaller than the threshold value, the power management controller 611 considers that the memory bottleneck is negligible, and causes each processing element 101 to execute the process of step S506 in FIG. 5 at the set optimum frequency. .

また、電力管理コントローラ611は、バッファフル率が閾値より大きい場合は、最適周波数から周波数を段階的に下げながら、上記と同様に、バッファフル率を取得する。そして、電力管理コントローラ611は、バッファフル率が閾値より小さくなった時点の周波数を設定し、図5のステップS506の処理を行う。   In addition, when the buffer full rate is larger than the threshold, the power management controller 611 acquires the buffer full rate in the same manner as described above while gradually decreasing the frequency from the optimum frequency. Then, the power management controller 611 sets the frequency at the time when the buffer full rate becomes smaller than the threshold, and performs the process of step S506 in FIG.

このような制御により、メモリボトルネックがある場合に無駄に周波数を上げることなく、適切な消費電力で並列処理を実行することができる。   With such control, parallel processing can be executed with appropriate power consumption without increasing the frequency unnecessarily when there is a memory bottleneck.

これまでの説明からわかるように、計算システム100の性能特性から求められる最適プロセッシングエレメント数Nが計算システム100の全プロセッシングエレメント数Mより小さいような動作状況の場合、全プロセッシングエレメント101を動作させた時には、図4の特性グラフ上で最適点401ではない動作点で動作していることになる。そのため、その動作点の性能と最適動作点401の性能の差分に当たる分だけ、本実施形態を用いた方が性能が向上することがわかる。   As can be understood from the above description, in the case of an operation situation where the optimum number N of processing elements obtained from the performance characteristics of the computing system 100 is smaller than the total number M of processing elements in the computing system 100, all the processing elements 101 are operated. Sometimes, it is operating at an operating point that is not the optimum point 401 on the characteristic graph of FIG. Therefore, it can be seen that the performance is improved by using this embodiment by the amount corresponding to the difference between the performance at the operating point and the performance at the optimum operating point 401.

図12は、本実施形態の効果を説明するためのグラフであり、計算システム100の性能1201及び稼働プロセッシングエレメント数1208を示す。例えば、計算システム100で図12のような特性を持った並列処理プログラムを実行したとする。計算システム100の全プロセッシングエレメント数1206が17000個だった場合、17000個のすべてのプロセッシングエレメント101を動作させた場合は、動作点1202で動作して、計算システム性能1201は8.0[a.u.]となる。これに対し、本実施形態の最適動作点1203は、稼働プロセッシングエレメント数1205が12500個であり、周波数1204が1.6[a.u.]である。本実施形態の最適動作点1203で動作させた場合には、計算システム性能1207は9.5[a.u.]となり、全プロセッシングエレメント稼働の動作点1202に対して、約19%の性能1209の向上となる。   FIG. 12 is a graph for explaining the effect of the present embodiment, and shows the performance 1201 and the number of active processing elements 1208 of the computing system 100. For example, assume that a parallel processing program having the characteristics shown in FIG. When the total number of processing elements 1206 of the computing system 100 is 17000, when all the 17000 processing elements 101 are operated, the computing system performance 1201 operates at the operating point 1202, and the computing system performance 1201 is 8.0 [a. u.]. On the other hand, the optimum operating point 1203 of the present embodiment has 12,500 active processing elements 1205 and a frequency 1204 of 1.6 [au]. When operated at the optimum operating point 1203 of the present embodiment, the computing system performance 1207 is 9.5 [au], which is about 19% of the performance 1209 with respect to the operating point 1202 in which all the processing elements are operated. Will be improved.

図13は、図7の最適周波数導出表521の例を示す図である。以下、図13の最適周波数導出表521を用いた処理例を、図5を参照しながら説明する。例えば、全プロセッシングエレメント数Mは17000個であり、計算システム制約電力は950kWであり、非稼働プロセッシングエレメント電力C4は11Wである。 FIG. 13 is a diagram showing an example of the optimum frequency derivation table 521 in FIG. Hereinafter, a processing example using the optimum frequency derivation table 521 of FIG. 13 will be described with reference to FIG. For example, the total number M of processing elements is 17000, the calculation system constraint power is 950 kW, and the non-working processing element power C 4 is 11 W.

ステップS501では、電力管理コントローラ611は、まず最適周波数導出表521が前提としている基準動作モードの周波数f及び電源電圧Vで並列処理プログラムを各プロセッシングエレメント101に仮動作させる。   In step S <b> 501, the power management controller 611 first causes each processing element 101 to temporarily operate the parallel processing program at the frequency f and the power supply voltage V in the reference operation mode assumed in the optimum frequency derivation table 521.

次に、ステップS502では、電力管理コントローラ611は、並列処理を受け持つプロセッシングエレメント101の定常的なダイナミック電力を取得する。このダイナミック電力が38Wだったとする。これは、前に述べたように複数の電力平均でもよいし、電力値のばらつきを考慮した補正値でもよい。   Next, in step S502, the power management controller 611 obtains steady dynamic power of the processing element 101 responsible for parallel processing. It is assumed that this dynamic power is 38W. As described above, this may be an average of a plurality of electric powers, or a correction value considering variation in electric power values.

次に、ステップS503では、電力管理コントローラ611は、図13の最適周波数導出表521を基に、ダイナミック電力が38Wの時の最適周波数を求める。図13の最適周波数導出表521は、2行目が36Wであり、3行目が40Wであるので、最適周波数fは、次式の線形補間により、求められる。
f=1.7+(1.5−1.7)×(38−36)/(40−36)
=1.6[a.u.]
その後、電力管理コントローラ611は、最適周波数fに対応する電源電圧Vを導出する。
Next, in step S503, the power management controller 611 obtains the optimum frequency when the dynamic power is 38 W, based on the optimum frequency derivation table 521 in FIG. In the optimum frequency derivation table 521 of FIG. 13, the second row is 36 W and the third row is 40 W. Therefore, the optimum frequency f is obtained by linear interpolation of the following equation.
f = 1.7 + (1.5-1.7) × (38-36) / (40-36)
= 1.6 [au]
Thereafter, the power management controller 611 derives the power supply voltage V corresponding to the optimum frequency f.

次に、ステップS504では、電力管理コントローラ611は、図13の最適周波数導出表521を基に、次式の線形補間により、プロセッシングエレメント101の変更後電力Ppを導出する。
Pp=73+(71−73)×(1.5−1.6)/(1.5−1.7)
=72[W]
Next, in step S504, the power management controller 611 derives the changed power Pp of the processing element 101 by linear interpolation of the following equation based on the optimum frequency derivation table 521 of FIG.
Pp = 73 + (71−73) × (1.5−1.6) / (1.5−1.7)
= 72 [W]

次に、電力管理コントローラ611は、式(4)を用いて、最適稼働プロセッシング数Nを導出する。
N=(950000−17000×11)/(72−11)
≒12500個
Next, the power management controller 611 derives the optimum operation processing number N using Expression (4).
N = (950000-17000 × 11) / (72-11)
≒ 12500

次に、ステップS505では、電力管理コントローラ611は、上記で求めた最適周波数(=1.6[a.u.])、それに対応する電源電圧、及び稼働プロセッシングエレメント数(≒12500個)を計算システム100の設定に反映させる。さらに、電力管理コントローラ611は、プログラム並列数設定が12500でない場合は、パラメータ設定及び再コンパイル等の方法で並列数を12500にする。   Next, in step S505, the power management controller 611 calculates the optimum frequency (= 1.6 [au]) obtained above, the power supply voltage corresponding to the optimum frequency, and the number of operating processing elements (≈12500). This is reflected in the setting of the system 100. Further, when the program parallel number setting is not 12,500, the power management controller 611 sets the parallel number to 12,500 by a method such as parameter setting and recompilation.

次に、ステップS506では、電力管理コントローラ611は、上記で行った計算システム100の設定及び並列数設定に基づいて、各プロセッシングエレメント101に並列処理プログラムを実行させる。   Next, in step S506, the power management controller 611 causes each processing element 101 to execute a parallel processing program based on the setting of the computing system 100 and the parallel number setting performed as described above.

次に、プロセッシングエレメント101が図7に示すm個の動作モードを有する例を説明する。m個の動作モードは、それぞれ、周波数及び電源電圧の組みが設定されている。例えば、第1の動作モードは、周波数F1及びそれに対応する電源電圧V1が設定されている。すなわち、プロセッシングエレメント101は、異なる複数の周波数Fi及び各周波数FiでCPU102を正常動作させる電源電圧Viの組(Fi,Vi)として規定される複数の動作モードMiを持つ。ここで、iは自然数である。動作モードは、図5の処理を実行するプログラムから設定可能である。この場合、図5のステップS503では、複数の動作モードMiの中から1個の動作モードを選択する。   Next, an example in which the processing element 101 has m operation modes shown in FIG. 7 will be described. Each of the m operation modes has a set of frequency and power supply voltage. For example, in the first operation mode, the frequency F1 and the power supply voltage V1 corresponding to the frequency F1 are set. In other words, the processing element 101 has a plurality of operation modes Mi defined as a set (Fi, Vi) of power supply voltages Vi that normally operate the CPU 102 at a plurality of different frequencies Fi. Here, i is a natural number. The operation mode can be set from a program that executes the processing of FIG. In this case, in step S503 in FIG. 5, one operation mode is selected from the plurality of operation modes Mi.

ステップS503では、電力管理コントローラ611は、上記と同様に、図7の最適周波数導出表521を参照し、得られたダイナミック電力Pdを用いて、次式の線形補間により、最適周波数fを導出する。
f=F(i)+{F(i+1)−F(i)}×{Pd−P(i)}/{P(i+1)−P(i)}
In step S503, the power management controller 611 refers to the optimum frequency derivation table 521 in FIG. 7 and derives the optimum frequency f by linear interpolation of the following equation using the obtained dynamic power Pd, similarly to the above. .
f = F (i) + {F (i + 1) -F (i)} * {Pd-P (i)} / {P (i + 1) -P (i)}

次に、電力管理コントローラ611は、動作モードとして最適周波数fより周波数が低く最も最適周波数fに近い周波数Fiの動作モードMiを選択し、選択した動作モードMiの周波数Fi及び電源電圧Viを設定する。   Next, the power management controller 611 selects an operation mode Mi having a frequency Fi that is lower than the optimum frequency f and closest to the optimum frequency f as an operation mode, and sets the frequency Fi and the power supply voltage Vi of the selected operation mode Mi. .

次に、ステップS504では、電力管理コントローラ611は、図7の最適周波数導出表521を参照し、選択した動作モードMiの周波数Fi及び電源電圧Viにおけるプロセッシングエレメント101の変更後電力Ppを読み出す。そして、電力管理コントローラ611は、その変更後電力Ppを基に、上記と同様に、最適稼働プロセッシングエレメント数Nを求める。   Next, in step S504, the power management controller 611 reads the changed power Pp of the processing element 101 at the frequency Fi and the power supply voltage Vi of the selected operation mode Mi with reference to the optimum frequency derivation table 521 of FIG. And the power management controller 611 calculates | requires the optimal operation processing element number N like the above based on the electric power Pp after the change.

仮に、周波数fが動作モードMiの周波数fiと動作モードMi+1の周波数fi+1の間の周波数だった場合、動作モードMiと動作モードMi+1のどちらで動作させた方が性能が出るかは特性によってどちらの場合も考えられるため、事前には決められない。本実施形態では、周波数が低い側の動作モードを選択し、選択した動作モードにおける変更後電力Ppを読み出し、総電力が計算システム100の制約電力を超えないことを保証している。なお、周波数fより周波数が低い動作モードで動作させるので、変更後の実際の電力は変更後電力Ppより小さくなるため、本来の最適稼働プロセッシングエレメント数Nは変更後電力Ppを用いて求めた稼働プロセッシングエレメント数Nより大きくなる。最適稼働プロセッシングエレメント数よりやや少ない稼働プロセッシングエレメント数で動作することになるため、計算システム100の電力が制約電力を超えることはない。このように、変更後電力Ppを基に稼働プロセッシングエレメント数Nを求めることにより、簡便に動作モードMi及び稼働プロセッシングエレメント数Nを決定することができる。動作モードM1〜Mmの周波数F1〜Fmのステップが十分細かければ、処理を簡略化することによる性能劣化も小さくなる。   If the frequency f is a frequency between the frequency fi of the operation mode Mi and the frequency fi + 1 of the operation mode Mi + 1, which of the operation mode Mi and the operation mode Mi + 1 performs better depends on the characteristics. In some cases, it cannot be decided in advance. In the present embodiment, the operation mode on the lower frequency side is selected, the changed power Pp in the selected operation mode is read, and the total power does not exceed the constraint power of the calculation system 100. Since the actual power after the change is smaller than the changed power Pp because the operation is performed in the operation mode whose frequency is lower than the frequency f, the original optimum operation processing element number N is the operation obtained using the changed power Pp. It becomes larger than the number N of processing elements. Since the operation is performed with the number of operation processing elements slightly smaller than the optimal number of operation processing elements, the power of the computing system 100 does not exceed the constraint power. Thus, by obtaining the number N of operating processing elements based on the changed power Pp, the operation mode Mi and the number N of operating processing elements can be easily determined. If the steps of the frequencies F1 to Fm of the operation modes M1 to Mm are sufficiently fine, performance degradation due to simplification of processing is reduced.

次に、他の方法を説明する。例えば、図7の最適周波数導出表521の最後列の変更後電力をダイナミック電力とスタティック電力に分けて記録しておく。ここで、上の方法で最適周波数を求めるために用いた各動作モードの変更後電力をPpo1とし、変更後のダイナミック電力をPpd1とし、変更後のスタティック電力をPps1とする。また、目的とする動作モードでのダイナミック電力をPpo2とし、変更後のダイナミック電力をPpd2とし、変更後のスタティック電力をPps2とする。   Next, another method will be described. For example, the changed power in the last column of the optimum frequency derivation table 521 in FIG. 7 is recorded separately for dynamic power and static power. Here, the changed power of each operation mode used for obtaining the optimum frequency by the above method is Ppo1, the changed dynamic power is Ppd1, and the changed static power is Pps1. In addition, the dynamic power in the target operation mode is Ppo2, the changed dynamic power is Ppd2, and the changed static power is Pps2.

この場合、目的とした動作モードでの電力Ppは、次式により導出する。
Pp=Ppo1×Ppd2/Ppo2+Pps2
In this case, the power Pp in the intended operation mode is derived from the following equation.
Pp = Ppo1 × Ppd2 / Ppo2 + Pps2

電力Ppは、目的の動作モードにおける変更後のダイナミック電力の変動比Ppd2/Ppo2を用いて、元のダイナミック電力Ppo1を補正することにより、前述の簡便な変更後電力の導出よりも、電力の精度を上げて、より無駄の小さい最適稼働プロセッシングエレメント数Nを求めることができる。また、ダイナミック電力の変換係数Ppd2/Ppo2の部分を予め求めて表に格納して利用してもよい。   The power Pp is obtained by correcting the original dynamic power Ppo1 using the dynamic power fluctuation ratio Ppd2 / Ppo2 after the change in the target operation mode, so that the power accuracy is more accurate than the above-described simple derivation of the changed power. The number N of optimum operation processing elements with less waste can be obtained. Alternatively, the dynamic power conversion coefficient Ppd2 / Ppo2 may be obtained in advance and stored in a table.

また、前述の簡便な方法では、動作モードは周波数が小さい側の動作モードを選択していたが、上記のようにプロセッシングエレメント電力の精度を向上させるため、得られた周波数fを挟む両側の動作モードMiの周波数Fiを用いて、次式により性能Gsを計算し、性能が高い側の動作モードを選択してもよい。
Gs∝N×Fi
In the above-described simple method, the operation mode with the smaller frequency is selected as the operation mode. However, in order to improve the accuracy of the processing element power as described above, the operation on both sides sandwiching the obtained frequency f is performed. Using the frequency Fi of the mode Mi, the performance Gs may be calculated by the following equation, and the operation mode with the higher performance may be selected.
Gs∝N × Fi

次に、本実施形態の効果を説明する。計算システム100が並列処理プログラムを実行した時の並列演算部分の性能特性が図12のようになっていたとする。稼働プロセッシングエレメント数1208は、計算システム100全体の消費電力が規定の制約電力を超えない範囲で最大となるように調整する。横軸は、CPU102のクロック周波数を表す。計算システム性能1201は、右側の縦軸に表す。稼働プロセッシングエレメント数1208は、左側の縦軸に表す。計算システム性能1201は、式(3)で表されるように、周波数fに対して極大点203を一つ持つ曲線になる。稼働プロセッシングエレメント数1208は、周波数fが高くなるにつれて、プロセッシングエレメント101単体の消費電力が上昇するため、減少する特性となる。本実施形態では、計算システム100の全プロセッシングエレメント数1206を17000個としているため、稼働プロセッシングエレメント数1208は、全プロセッシングエレメント数1206を超えるグラフ左側では17000個で横ばいとなっており、対応する計算システム性能1201は、稼働プロセッシングエレメント数1208が増やせないため、周波数fを低くした時の性能が急激に減っている。   Next, the effect of this embodiment will be described. Assume that the performance characteristics of the parallel operation portion when the computing system 100 executes the parallel processing program are as shown in FIG. The number of operating processing elements 1208 is adjusted so that the power consumption of the entire computing system 100 is maximized within a range that does not exceed the prescribed constraint power. The horizontal axis represents the clock frequency of the CPU 102. The calculation system performance 1201 is represented on the right vertical axis. The number of active processing elements 1208 is represented on the left vertical axis. The calculation system performance 1201 is a curve having one maximum point 203 with respect to the frequency f, as represented by Expression (3). The number of operating processing elements 1208 has a characteristic of decreasing as the frequency f increases, because the power consumption of the processing element 101 itself increases. In this embodiment, since the total number of processing elements 1206 of the calculation system 100 is 17000, the number of active processing elements 1208 is flat at 17000 on the left side of the graph exceeding the total number of processing elements 1206, and the corresponding calculation Since the system performance 1201 cannot increase the number of active processing elements 1208, the performance when the frequency f is lowered is drastically reduced.

計算システム100の全プロセッシングエレメント101を動作させた場合は、周波数が1.0[a.u.]近辺のところが計算システム制約電力下で周波数最大となる動作点1202となる。これに対し、本実施形態では、計算システム性能1201から得られる最適動作点1203を予め求めて最適周波数導出表521にテーブル化して利用するため、計算システム性能1201は周波数1204が1.6[a.u.]付近の動作点1203となる。本実施形態の動作点1203の計算システム性能1207は、全プロセッシングエレメント動作時の動作点1202の計算システム性能に対して、8.0[a.u.]から9.5[a.u.]への約17%の改善となる。この時、稼働プロセッシングエレメント数1208は、17000個から約12000個程度に減少する。これより、本実施形態により計算システム性能が改善されることが分かる。   When all the processing elements 101 of the computing system 100 are operated, the frequency is 1.0 [a. u. In the vicinity, the operating point 1202 at which the frequency is maximum under the calculation system constrained power is obtained. On the other hand, in the present embodiment, since the optimum operating point 1203 obtained from the computing system performance 1201 is obtained in advance and tabulated in the optimum frequency derivation table 521, the computing system performance 1201 has a frequency 1204 of 1.6 [a .u.] near the operating point 1203. The computing system performance 1207 at the operating point 1203 of this embodiment is 8.0 [au] to 9.5 [au] with respect to the computing system performance at the operating point 1202 when all the processing elements are operating. This is an improvement of about 17%. At this time, the number of active processing elements 1208 decreases from 17000 to about 12000. From this, it can be seen that the performance of the computing system is improved by this embodiment.

なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

100 計算システム
101 プロセッシングエレメント
102 CPU
103 ローカルメモリ
104 ネットワーク
100 computing system 101 processing element 102 CPU
103 local memory 104 network

Claims (8)

複数のプロセッシングエレメントと、
前記複数のプロセッシングエレメントのうちの少なくとも1個のプロセッシングエレメントの電力を基に、前記プロセッシングエレメントの周波数及び電源電圧を設定する第1の設定部と、
前記周波数、前記電源電圧及び制約電力を基に、前記プロセッシングエレメントの稼働数を設定する第2の設定部と
を有することを特徴とする計算システム。
Multiple processing elements,
A first setting unit configured to set a frequency and a power supply voltage of the processing element based on power of at least one processing element of the plurality of processing elements;
A calculation system comprising: a second setting unit that sets an operation number of the processing element based on the frequency, the power supply voltage, and the constraint power.
前記第2の設定部は、前記複数のプロセッシングエレメントのすべてを稼働するよりも性能が高くなるように、前記プロセッシングエレメントの稼働数を設定することを特徴とする請求項1記載の計算システム。   The calculation system according to claim 1, wherein the second setting unit sets the number of operation of the processing elements so that performance is higher than that of operating all of the plurality of processing elements. 前記第1の設定部は、性能が最大となるように前記周波数及び前記電源電圧を設定することを特徴とする請求項1又は2記載の計算システム。   The calculation system according to claim 1, wherein the first setting unit sets the frequency and the power supply voltage so that performance is maximized. 前記第1の設定部は、複数の周波数及び電源電圧の組みのうち、性能が最大となる組みの前記周波数及び前記電源電圧を設定することを特徴とする請求項1〜3のいずれか1項に記載の計算システム。   The said 1st setting part sets the said frequency and said power supply voltage of the group that performance becomes the maximum among the combinations of a some frequency and power supply voltage, The any one of Claims 1-3 characterized by the above-mentioned. The calculation system described in. 前記第2の設定部は、前記周波数及び前記電源電圧を基に前記プロセッシングエレメントの電力を導出し、前記導出したプロセッシングエレメントの電力及び前記制約電力を基に、前記プロセッシングエレメントの稼働数を設定することを特徴とする請求項1〜4のいずれか1項に記載の計算システム。   The second setting unit derives the power of the processing element based on the frequency and the power supply voltage, and sets the number of operation of the processing element based on the derived power of the processing element and the constraint power. The calculation system according to claim 1, wherein: 前記複数のプロセッシングエレメントのうちの少なくとも1個は、
メモリと、
バッファを有し、前記メモリを制御するメモリ制御回路と、
前記バッファのフル率を検出する検出回路とを有し、
前記第1の設定部は、前記バッファのフル率を基に、前記周波数を設定することを特徴とする請求項1〜5のいずれか1項に記載の計算システム。
At least one of the plurality of processing elements is
Memory,
A memory control circuit having a buffer and controlling the memory;
A detection circuit for detecting a full rate of the buffer;
The calculation system according to claim 1, wherein the first setting unit sets the frequency based on a full rate of the buffer.
さらに、前記複数のプロセッシングエレメントに接続されるネットワークを有し、
前記複数のプロセッシングエレメントのうちの少なくとも1個は、
バッファを有し、前記ネットワークの入出力を制御する入出力制御回路と、
前記バッファのフル率を検出する検出回路とを有し、
前記第1の設定部は、前記バッファのフル率を基に、前記周波数を設定することを特徴とする請求項1〜6のいずれか1項に記載の計算システム。
And a network connected to the plurality of processing elements,
At least one of the plurality of processing elements is
An input / output control circuit having a buffer and controlling input / output of the network;
A detection circuit for detecting a full rate of the buffer;
The calculation system according to claim 1, wherein the first setting unit sets the frequency based on a full rate of the buffer.
複数のプロセッシングエレメントを有する計算システムの電力管理方法であって、
前記複数のプロセッシングエレメントのうちの少なくとも1個のプロセッシングエレメントの電力を基に、前記プロセッシングエレメントの周波数及び電源電圧を設定し、
前記周波数、前記電源電圧及び制約電力を基に、前記プロセッシングエレメントの稼働数を設定することを特徴とする計算システムの電力管理方法。
A power management method for a computing system having a plurality of processing elements, comprising:
Based on the power of at least one processing element of the plurality of processing elements, the frequency and power supply voltage of the processing element are set,
A power management method for a computing system, wherein the number of operating processing elements is set based on the frequency, the power supply voltage, and the restricted power.
JP2013060736A 2013-03-22 2013-03-22 COMPUTER SYSTEM AND ITS POWER MANAGEMENT METHOD Expired - Fee Related JP6083278B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013060736A JP6083278B2 (en) 2013-03-22 2013-03-22 COMPUTER SYSTEM AND ITS POWER MANAGEMENT METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013060736A JP6083278B2 (en) 2013-03-22 2013-03-22 COMPUTER SYSTEM AND ITS POWER MANAGEMENT METHOD

Publications (2)

Publication Number Publication Date
JP2014186522A true JP2014186522A (en) 2014-10-02
JP6083278B2 JP6083278B2 (en) 2017-02-22

Family

ID=51834038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013060736A Expired - Fee Related JP6083278B2 (en) 2013-03-22 2013-03-22 COMPUTER SYSTEM AND ITS POWER MANAGEMENT METHOD

Country Status (1)

Country Link
JP (1) JP6083278B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092856A1 (en) * 2014-12-12 2016-06-16 日本電気株式会社 Information processing device, information processing system, task processing method, and storage medium for storing program
JP2018500673A (en) * 2014-12-22 2018-01-11 インテル コーポレイション Holistic global performance and power management
JP2020524336A (en) * 2017-06-19 2020-08-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated Optimizing power efficiency for throughput-based workloads

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005085164A (en) * 2003-09-10 2005-03-31 Sharp Corp Control method for multiprocessor system, and multiprocessor system
JP2006344162A (en) * 2005-06-10 2006-12-21 Mitsubishi Electric Corp Parallel computer
WO2012001776A1 (en) * 2010-06-29 2012-01-05 富士通株式会社 Multicore system, method of scheduling and scheduling program
WO2012108058A1 (en) * 2011-02-10 2012-08-16 富士通株式会社 Scheduling method, design support method, and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005085164A (en) * 2003-09-10 2005-03-31 Sharp Corp Control method for multiprocessor system, and multiprocessor system
JP2006344162A (en) * 2005-06-10 2006-12-21 Mitsubishi Electric Corp Parallel computer
WO2012001776A1 (en) * 2010-06-29 2012-01-05 富士通株式会社 Multicore system, method of scheduling and scheduling program
WO2012108058A1 (en) * 2011-02-10 2012-08-16 富士通株式会社 Scheduling method, design support method, and system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092856A1 (en) * 2014-12-12 2016-06-16 日本電気株式会社 Information processing device, information processing system, task processing method, and storage medium for storing program
JP2016115065A (en) * 2014-12-12 2016-06-23 日本電気株式会社 Information processor, information processing system, task processing method, and program
JP2018500673A (en) * 2014-12-22 2018-01-11 インテル コーポレイション Holistic global performance and power management
US10884471B2 (en) 2014-12-22 2021-01-05 Intel Corporation Holistic global performance and power management
JP2021140825A (en) * 2014-12-22 2021-09-16 インテル コーポレイション Holistic Global Performance and Power Management
JP7222029B2 (en) 2014-12-22 2023-02-14 インテル コーポレイション Holistic global performance and power management
US11740673B2 (en) 2014-12-22 2023-08-29 Intel Corporation Holistic global performance and power management
US12093104B1 (en) 2014-12-22 2024-09-17 Intel Corporation Holistic global performance and power management
JP2020524336A (en) * 2017-06-19 2020-08-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated Optimizing power efficiency for throughput-based workloads
JP7359698B2 (en) 2017-06-19 2023-10-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Optimizing power efficiency for throughput-based workloads

Also Published As

Publication number Publication date
JP6083278B2 (en) 2017-02-22

Similar Documents

Publication Publication Date Title
US9977699B2 (en) Energy efficient multi-cluster system and its operations
Marathe et al. A run-time system for power-constrained HPC applications
US8793512B2 (en) Method and apparatus for thermal control of processing nodes
JP5564564B2 (en) Method and apparatus for non-uniformly changing the performance of a computing unit according to performance sensitivity
KR101655137B1 (en) Core-level dynamic voltage and frequency scaling in a chip multiporcessor
EP2596413B1 (en) Managing current and power in a computing system
US8443209B2 (en) Throttling computational units according to performance sensitivity
KR101476568B1 (en) Providing per core voltage and frequency control
US8447994B2 (en) Altering performance of computational units heterogeneously according to performance sensitivity
US20130246820A1 (en) Method for adaptive performance optimization of the soc
US10025361B2 (en) Power management across heterogeneous processing units
EP3649536B1 (en) Core frequency management using effective utilization for power-efficient performance
EP3237998B1 (en) Systems and methods for dynamic temporal power steering
KR20100138954A (en) Power-aware thread scheduling and dynamic use of processors
KR101655030B1 (en) Dynamic voltage frequency scaling method using slack-distribution based on task-characteristics, execution program thereof method and recorded medium of the program
JP6083278B2 (en) COMPUTER SYSTEM AND ITS POWER MANAGEMENT METHOD
Zhang et al. Performance & energy tradeoffs for dependent distributed applications under system-wide power caps
Wang et al. Evaluating the energy consumption of openmp applications on haswell processors
Wang et al. Achieving fair or differentiated cache sharing in power-constrained chip multiprocessors
US11853111B2 (en) System and method for controlling electrical current supply in a multi-processor core system via instruction per cycle reduction
JP2010039923A (en) Information processor
US9864423B2 (en) Mitigating component performance variation
Kim et al. Dynamic frequency scaling for embedded systems with memory intensive applications
Islam et al. Learning based power management for periodic real-time tasks
US20240272699A1 (en) Power management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170109

R150 Certificate of patent or registration of utility model

Ref document number: 6083278

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees