JP2011186531A - Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム - Google Patents

Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム Download PDF

Info

Publication number
JP2011186531A
JP2011186531A JP2010047959A JP2010047959A JP2011186531A JP 2011186531 A JP2011186531 A JP 2011186531A JP 2010047959 A JP2010047959 A JP 2010047959A JP 2010047959 A JP2010047959 A JP 2010047959A JP 2011186531 A JP2011186531 A JP 2011186531A
Authority
JP
Japan
Prior art keywords
load
core
threads
power consumption
thread
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
JP2010047959A
Other languages
English (en)
Other versions
JP5531679B2 (ja
Inventor
Hirotaka Arai
拡貴 荒井
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010047959A priority Critical patent/JP5531679B2/ja
Priority to US13/036,495 priority patent/US9116689B2/en
Publication of JP2011186531A publication Critical patent/JP2011186531A/ja
Application granted granted Critical
Publication of JP5531679B2 publication Critical patent/JP5531679B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

【課題】CPUコア内に1つでも負荷の高いスレッドがある場合であっても、そのスレッドを有するCPUコアを省電力状態に移行する。
【解決手段】複数のコアにおいて動作中のスレッドの負荷を測定し、前記測定の結果から「高負荷スレッド」の数と、「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える。
【選択図】図1

Description

本発明は、簡単な機能の追加のみで、SMT(Simultaneous Multithreading)対応CPU(Central Processing Unit)を有する情報処理装置において有効な消費電力の低減を実現することに関する。
消費電力を低減させるために、負荷が低い場合に省電力状態に移行する機能を持つCPUがある。このような省電力状態へ移行するCPUについての技術の一例が特許文献1に記載されている(特許文献1の特に明細書段落番号[0002]〜[0012]参照)。そして、特許文献1の記載の技術では省電力制御自己診断装置が、省電力状態に遷移する際に、その回数をフラグとして記憶し、当該フラグの回数が0であって一度も省電力状態に遷移していない場合はCPUの動作率が高いと判断する。そして、そのように判断した場合は警告を通知することによりCPUの動作率が高い場面を検出させることができる。
特開2009−163523号公報
上述したように、消費電力を低減させるために、負荷が低い場合に省電力状態に移行する機能を持つCPUがある。また、そのような機能を有すCPUであって更に複数のCPUコアを有するCPUもある。
しかし、そのような複数のCPUコアを有するCPUに、単一のCPUにおいて複数のスレッドを同時に動作させる機能であるSMT機能を使用した場合には或る問題が生じていた。その問題とは、CPUコア内に1つでも負荷の高いスレッドがあると、そのスレッドを有するCPUコアは省電力状態に移行できないということである。
そこで、本発明はCPUコア内に負荷の高いスレッドがある場合であっても、そのスレッドを有するCPUコアを省電力状態に移行することが可能なSMT対応CPUを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラムを提供することを目的とする。
本発明の第1の観点によれば、演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減方法において、前記複数のコアにおいて動作中のスレッドの負荷を測定し、前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にあるスレッドである「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、ことを特徴とする消費電力低減方法が提供される。
本発明の第2の観点によれば、演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減装置において、前記複数のコアにおいて動作中のスレッドの負荷を測定し、前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にあるスレッドである「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、ことを特徴とする消費電力低減装置が提供される。
本発明の第3の観点によれば、演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減プログラムにおいて、前記複数のコアにおいて動作中のスレッドの負荷を測定し、前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にある「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、消費電力低減装置としてコンピュータを機能させることを特徴とする消費電力低減プログラムが提供される。
本発明によれば、各スレッドの入れ替えが適切に行えることから複数のCPUコアを有するCPUにおいてSMT機能を使用した場合、CPUコア内に1つでも負荷の高いスレッドがあると、そのスレッドを有するCPUコアは省電力状態に移行できないという問題を解決することが可能となる。
本発明の実施形態の基本的構成を表す図である。 本発明の実施形態の基本的動作を表す図(1/2)である。 本発明の実施形態の基本的動作を表す図(2/2)である。 本発明の実施形態の構成例の1つを表す図である。 本発明の実施形態の構成例の1つを表す図である。 本発明の実施形態におけるCPU内のスレッドの負荷の測定について示すイメージ図である。
まず、本発明の実施形態の概略を説明する。本発明の実施形態は、概略、まずそれぞれのCPUコア内のスレッドの負荷を測定する。そして、CPUコアにおいて一部だけ負荷の高いスレッドが存在するかどうか、またジョブを移行させる移行先の低負荷スレッドを持つCPUコアがあるかどうかを確認し、存在する場合は、負荷の高いスレッドと移行先の低負荷スレッドを入れ替えることにより低負荷状態となったCPUコアを省電力状態に移行させる。
その結果、CPUを適切に省電力状態に移行することができ、情報処理装置の消費電力を低減させることが可能となっているというものである。
次に、本発明の実施形態について図面を用いて詳細に説明する。
図1を参照すると、本発明の実施形態であるCPU100は、CPUコア110及びCPUコア120を有する。そして、CPUコア110及びCPUコア120はそれぞれ複数のスレッド111、スレッド112とスレッド121、スレッド122を同時に実行する機能を有する。なお、CPUは本発明における「演算処理装置」に相当する。また、CPUコアは本発明における「コア」に相当する。
なお、今回は説明の便宜上1つのCPUに2つのCPUコアがあり、各CPUコアにそれぞれ2つ、スレッドを同時に実行する機能が有る場合を示しているがこれはあくまで例示である。本実施形態の構成はこれに限定されるものではない。例えば図3を参照するとわかるように1つのCPUにm個(任意の個数)のCPUコアが有ってもよい。また、1つのCPUコアにn個(任意の個数)のスレッドを同時に実行する機能が有ってもよい。
また、各CPUコア内の「n」は単にnという同一の符号をそれぞれに付しているだけであり、それぞれの「n」が同一の個数の場合もあるがそれぞれ全く違う個数となる場合もある。
更に、図4を参照するとわかるように、1つの情報処理装置(図4では情報処理装置1000を図示する。)にN個(任意の個数)のCPUが有ってもよい。また、各CPUは、コンピュータ読み取り可能な記録媒体である記録部200からプログラムを読み込んで動作をする。
次に、本実施形態の動作を、図1のブロック図、図2−1及び2−2のフローチャート並びに図5のイメージ図を参照して説明する。
図2−1、2−2は、本発明における、CPU100の負荷を測定し、省電力状態に移行させるときの動作フローを示す。
本発明では実施形態が下記を実施することで消費電力を低減する。なお各動作の処理を行う主体は各CPU内の各コアの何れが行ってもよい。また、測定対象のCPUではない他のハードウェア又はソフトウェアが処理を行うようにしてもよい。
(1) まず、情報処理装置が有するCPU内のスレッドの負荷を測定する(ステップA301)。ここで、スレッドの負荷とは、或る一定期間においてスレッドが実行されたCPUサイクル数を指すものとする。この点について、図5を参照して説明する。図5に示すようにCPUサイクル毎に各スレッドの内部資源の利用状況が刻々と変化していく。そして、このような状況下で或る一定期間においてスレッドが実行されたCPUサイクル数をカウントすることによりスレッドの負荷が測定できる。なお、この一定期間をどの程度の長さとするのかはユーザが任意に定めることが可能である。また、本発明の要旨を逸脱しない範囲であるならば、他の方法を用いてスレッドの負荷を測定することも可能である。
次に、各スレッドの負荷測定が完了したか確認し、完了するまでステップA301における測定を繰り返す(ステップA302)。
(2) CPUコア毎にコア内の高負荷スレッド数(負荷>負荷上限閾値)と低負荷スレッド数(負荷<負荷下限閾値)を調べる(ステップA303、ステップA304)。なお、負荷上限閾値、負荷下限閾値はユーザが任意の値を指定することができる。また、高負荷スレッド数と低負荷スレッド数とは、何れを先に調べてもよい。よってステップA303とステップA304の順序を入れ替えてもよい。
(3) 次に、省電力状態へと移行させる候補CPUコアを特定する(ステップA305)。これは、条件(高負荷スレッド数<高負荷スレッド数閾値、且つ、低負荷スレッド数>低負荷スレッド数閾値)により判断する。なお、高負荷スレッド数閾値、低負荷スレッド数閾値はユーザが任意の値を指定することができる。条件を満たす候補CPUコアが存在する場合はステップA306に進む(ステップA305においてYES)。一方条件を満たす候補CPUコアが存在しない場合はステップA309に移行する(ステップA305においてNO)。
(4) 候補CPUコアを省電力状態に移行することができるかどうかを調べる(ステップA305)。これは、条件(他のCPUコアの低負荷スレッド数の総数≧候補CPUコアの高負荷スレッド数)により判断する。条件を満たす場合はステップA307に進む(ステップA306においてYES)。一方、条件を満たさない場合はステップA309に移行する(ステップA305においてNO)。
(5) 候補CPUコアの高負荷スレッドと他のCPUの低負荷スレッドを入れ替えて、候補CPUを低負荷状態にする(ステップA307)。
(6) 候補CPUコアを省電力状態へ移行させる(ステップA308)。
(7) 全CPUの確認が完了したか確認する(ステップA309)。完了したのであれば終了する(ステップA309においてYES)。一方、未完了であればステップA303へ移行する(ステップA309においてNO)。
以上の動作により、CPUは適切に省電力状態に移行し、情報処理装置の消費電力低減を実現することが出来る。
以上説明したように、本発明の実施形態においては、以下に記載するような効果を奏する。
第1の効果は、簡易な機能追加のみで、SMT対応CPUを有する情報処理装置の消費電力低減の実現が可能となっていることである。その理由はスレッドの入れ替えを適切に行えるためである。
第2の効果は、情報処理装置の構成変更や実行されるソフトウェアの特性に応じた消費電力低減が可能となっていることである。その理由は、スレッドの負荷状態を判断する閾値や期間といった種々の条件をユーザが変更できるためである。
なお、本発明の実施形態である情報処理装置の消費電力低減装置は、ハードウェアにより実現することもできるが、コンピュータをその情報処理装置の消費電力低減装置として機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
また、本発明の実施形態による情報処理装置の消費電力低減方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) 演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減方法において、
前記複数のコアにおいて動作中のスレッドの負荷を測定し、
前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にあるスレッドである「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、
自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、
前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、
ことを特徴とする消費電力低減方法。
(付記2) 付記1に記載の消費電力低減方法において、
前記スレッドの入れ替えを行った後に前記候補コアを省電力状態に移行させることを特徴とする消費電力低減方法。
(付記3) 付記1又は2に記載の消費電力低減方法において、
前記候補コアを選択する際に、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアであって、且つ、自身に存在する低負荷スレッドの数が予め定めた低負荷スレッド数の閾値を超えているコアを前記候補コアとして選択することを特徴とする消費電力低減方法。
(付記4) 付記1乃至3の何れか1項に記載の消費電力低減方法において、
任意に定めた負荷上限閾値を超える負荷を掛けているスレッドを前記高負荷スレッドと判断し、任意に定めた負荷下限閾値未満の負荷を掛けているスレッドを前記低負荷スレッドと判断することを特徴とする消費電力低減方法。
(付記5) 付記1乃至4の何れか1項に記載の消費電力低減方法において、
前記演算処理装置を複数備えた情報処理装置内の、複数の当該演算処理装置を対象として前記消費電力低減方法を行うことを特徴とする消費電力低減方法。
(付記6) 演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減装置において、
前記複数のコアにおいて動作中のスレッドの負荷を測定し、
前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にあるスレッドである「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、
自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、
前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、
ことを特徴とする消費電力低減装置。
(付記7) 付記6に記載の消費電力低減装置において、
前記スレッドの入れ替えを行った後に前記候補コアを省電力状態に移行させることを特徴とする消費電力低減装置。
(付記8) 付記6又は7に記載の消費電力低減装置において、
前記候補コアを選択する際に、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアであって、且つ、自身に存在する低負荷スレッドの数が予め定めた低負荷スレッド数の閾値を超えているコアを前記候補コアとして選択することを特徴とする消費電力低減装置。
(付記9) 付記6乃至8の何れか1項に記載の消費電力低減装置において、
任意に定めた負荷上限閾値を超える負荷を掛けているスレッドを前記高負荷スレッドと判断し、任意に定めた負荷下限閾値未満の負荷を掛けているスレッドを前記低負荷スレッドと判断することを特徴とする消費電力低減装置。
(付記10) 複数の演算処理装置と、消費電力低減装置とを備えた情報処理装置において、
当該消費電力低減装置が付記6乃至9の何れか1項に記載の消費電力低減装置であることを特徴とする情報処理装置。
(付記11) 演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減プログラムにおいて、
前記複数のコアにおいて動作中のスレッドの負荷を測定し、
前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にある「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、
自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、
前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、
消費電力低減装置としてコンピュータを機能させることを特徴とする消費電力低減プログラム。
(付記12) 付記11に記載の消費電力低減プログラムにおいて、前記消費電力低減装置として機能させられる前記コンピュータは、
前記スレッドの入れ替えを行った後に前記候補コアを省電力状態に移行させることを特徴とする消費電力低減プログラム。
(付記13) 付記11又は12に記載の消費電力低減プログラムにおいて、前記消費電力低減装置として機能させられる前記コンピュータは、
前記候補コアを選択する際に、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアであって、且つ、自身に存在する低負荷スレッドの数が予め定めた低負荷スレッド数の閾値を超えているコアを前記候補コアとして選択することを特徴とする消費電力低減プログラム。
(付記14) 付記11乃至13の何れか1項に記載の消費電力低減プログラムにおいて、前記消費電力低減装置として機能させられる前記コンピュータは、
任意に定めた負荷上限閾値を超える負荷を掛けているスレッドを前記高負荷スレッドと判断し、任意に定めた負荷下限閾値未満の負荷を掛けているスレッドを前記低負荷スレッドと判断することを特徴とする消費電力低減プログラム。
(付記15) 付記11乃至14の何れか1項に記載の消費電力低減プログラムにおいて、前記消費電力低減装置として機能させられる前記コンピュータは、
前記演算処理装置を複数備えた情報処理装置内の、複数の当該演算処理装置を対象として動作することを特徴とする消費電力低減プログラム。
100、N00 CPU
110、120、1n0 CPUコア
111、112、11n、121、122、12n、1m1、1m2、1mn スレッド
200 記憶部
1000 情報処理装置

Claims (10)

  1. 演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減方法において、
    前記複数のコアにおいて動作中のスレッドの負荷を測定し、
    前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にあるスレッドである「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、
    自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、
    前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、
    ことを特徴とする消費電力低減方法。
  2. 請求項1に記載の消費電力低減方法において、
    前記スレッドの入れ替えを行った後に前記候補コアを省電力状態に移行させることを特徴とする消費電力低減方法。
  3. 請求項1又は2に記載の消費電力低減方法において、
    前記候補コアを選択する際に、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアであって、且つ、自身に存在する低負荷スレッドの数が予め定めた低負荷スレッド数の閾値を超えているコアを前記候補コアとして選択することを特徴とする消費電力低減方法。
  4. 請求項1乃至3の何れか1項に記載の消費電力低減方法において、
    任意に定めた負荷上限閾値を超える負荷を掛けているスレッドを前記高負荷スレッドと判断し、任意に定めた負荷下限閾値未満の負荷を掛けているスレッドを前記低負荷スレッドと判断することを特徴とする消費電力低減方法。
  5. 請求項1乃至4の何れか1項に記載の消費電力低減方法において、
    前記演算処理装置を複数備えた情報処理装置内の、複数の当該演算処理装置を対象として前記消費電力低減方法を行うことを特徴とする消費電力低減方法。
  6. 演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減装置において、
    前記複数のコアにおいて動作中のスレッドの負荷を測定し、
    前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にあるスレッドである「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、
    自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、
    前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、
    ことを特徴とする消費電力低減装置。
  7. 請求項6に記載の消費電力低減装置において、
    前記スレッドの入れ替えを行った後に前記候補コアを省電力状態に移行させることを特徴とする消費電力低減装置。
  8. 請求項6又は7に記載の消費電力低減装置において、
    前記候補コアを選択する際に、自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアであって、且つ、自身に存在する低負荷スレッドの数が予め定めた低負荷スレッド数の閾値を超えているコアを前記候補コアとして選択することを特徴とする消費電力低減装置。
  9. 請求項6乃至8の何れか1項に記載の消費電力低減装置において、
    任意に定めた負荷上限閾値を超える負荷を掛けているスレッドを前記高負荷スレッドと判断し、任意に定めた負荷下限閾値未満の負荷を掛けているスレッドを前記低負荷スレッドと判断することを特徴とする消費電力低減装置。
  10. 演算処理を行う複数のコアを備えた演算処理装置の消費電力を低減させるための消費電力低減プログラムにおいて、
    前記複数のコアにおいて動作中のスレッドの負荷を測定し、
    前記測定の結果から負荷が高い状態にあるスレッドである「高負荷スレッド」の数と、負荷が低い状態にある「低負荷スレッド」の数をそれぞれ調べることにより、前記コアのそれぞれに前記高負荷スレッド及び前記低負荷スレッドがそれぞれいくつ存在するのか調べ、
    自身に存在する高負荷スレッドの数が予め定めた高負荷スレッド数の閾値未満のコアがあった場合は、当該コアを候補コアとして選択し、
    前記候補コア以外のコアに存在する低負荷スレッド数の総数が、前記候補コアに存在する高負荷スレッドの数以上である場合は、前記候補コアに存在する高負荷スレッドと前記候補コア以外のコアに存在する低負荷スレッドを入れ替える、
    消費電力低減装置としてコンピュータを機能させることを特徴とする消費電力低減プログラム。
JP2010047959A 2010-03-04 2010-03-04 Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム Expired - Fee Related JP5531679B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010047959A JP5531679B2 (ja) 2010-03-04 2010-03-04 Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム
US13/036,495 US9116689B2 (en) 2010-03-04 2011-02-28 Power consumption reduction method of swapping high load threads with low load threads on a candidate core of a multicore processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010047959A JP5531679B2 (ja) 2010-03-04 2010-03-04 Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム

Publications (2)

Publication Number Publication Date
JP2011186531A true JP2011186531A (ja) 2011-09-22
JP5531679B2 JP5531679B2 (ja) 2014-06-25

Family

ID=44532316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010047959A Expired - Fee Related JP5531679B2 (ja) 2010-03-04 2010-03-04 Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム

Country Status (2)

Country Link
US (1) US9116689B2 (ja)
JP (1) JP5531679B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013092874A (ja) * 2011-10-25 2013-05-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
JP2017016219A (ja) * 2015-06-29 2017-01-19 京セラドキュメントソリューションズ株式会社 電子機器および給電制御プログラム
JP2017526996A (ja) * 2014-06-10 2017-09-14 クアルコム,インコーポレイテッド プロセッサデバイス電力消費を管理するシステムおよび方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075610B2 (en) * 2011-12-15 2015-07-07 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation
US9003218B2 (en) 2012-05-21 2015-04-07 International Business Machines Corporation Power shifting in multicore platforms by varying SMT levels
KR101975288B1 (ko) 2012-06-15 2019-05-07 삼성전자 주식회사 멀티 클러스터 프로세싱 시스템 및 그 구동 방법
JP6051924B2 (ja) * 2013-02-21 2016-12-27 富士通株式会社 情報処理装置の制御方法、制御プログラム、情報処理装置
US11200058B2 (en) 2014-05-07 2021-12-14 Qualcomm Incorporated Dynamic load balancing of hardware threads in clustered processor cores using shared hardware resources, and related circuits, methods, and computer-readable media
CN106933673B (zh) * 2015-12-30 2020-11-27 阿里巴巴集团控股有限公司 调整组件逻辑线程数量的方法及装置
US9881117B1 (en) * 2016-07-07 2018-01-30 Xilinx, Inc. Predictive circuit design for integrated circuits
CN106484537B (zh) * 2016-09-30 2019-07-19 网易(杭州)网络有限公司 一种cpu核资源的分配方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005285123A (ja) * 2004-03-29 2005-10-13 Sony Computer Entertainment Inc タスクスケジューリング作成の処理を使用するタスク温度管理を達成する方法および装置
JP2007148469A (ja) * 2005-11-24 2007-06-14 Hitachi Ltd ビジネスプロセス定義を用いた事前リソース割り当て方法
JP2009093383A (ja) * 2007-10-07 2009-04-30 Alpine Electronics Inc マルチコアプロセッサ制御方法及び装置
US20100146513A1 (en) * 2008-12-09 2010-06-10 Intel Corporation Software-based Thread Remapping for power Savings

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004044745A1 (ja) 2002-11-13 2004-05-27 Fujitsu Limited マルチスレッディングプロセッサにおけるスケジューリング方法およびマルチスレッディングプロセッサ
JP4033066B2 (ja) * 2003-05-07 2008-01-16 ソニー株式会社 周波数制御装置、情報処理装置、周波数制御方法及びプログラム
JP2008191949A (ja) 2007-02-05 2008-08-21 Nec Corp マルチコアシステムおよびマルチコアシステムの負荷分散方法
US7930574B2 (en) * 2007-12-31 2011-04-19 Intel Corporation Thread migration to improve power efficiency in a parallel processing environment
JP2009163523A (ja) 2008-01-07 2009-07-23 Nec Corp 省電力制御自己診断装置、方法、プログラム及び携帯電話機
US8161493B2 (en) * 2008-07-15 2012-04-17 International Business Machines Corporation Weighted-region cycle accounting for multi-threaded processor cores
US8041976B2 (en) * 2008-10-01 2011-10-18 International Business Machines Corporation Power management for clusters of computers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005285123A (ja) * 2004-03-29 2005-10-13 Sony Computer Entertainment Inc タスクスケジューリング作成の処理を使用するタスク温度管理を達成する方法および装置
JP2007148469A (ja) * 2005-11-24 2007-06-14 Hitachi Ltd ビジネスプロセス定義を用いた事前リソース割り当て方法
JP2009093383A (ja) * 2007-10-07 2009-04-30 Alpine Electronics Inc マルチコアプロセッサ制御方法及び装置
US20100146513A1 (en) * 2008-12-09 2010-06-10 Intel Corporation Software-based Thread Remapping for power Savings

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013092874A (ja) * 2011-10-25 2013-05-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
US9058173B2 (en) 2011-10-25 2015-06-16 Fujitsu Limited Method for controlling a mobile terminal device by calculating a concurrency based on the calculated CPU utilization for a foreground or background operation executed by the device
JP2017526996A (ja) * 2014-06-10 2017-09-14 クアルコム,インコーポレイテッド プロセッサデバイス電力消費を管理するシステムおよび方法
JP2017016219A (ja) * 2015-06-29 2017-01-19 京セラドキュメントソリューションズ株式会社 電子機器および給電制御プログラム
US10108244B2 (en) 2015-06-29 2018-10-23 Kyocera Document Solutions Inc. Electronic apparatus and non-transitory computer readable medium for power consumption control of processors

Also Published As

Publication number Publication date
US9116689B2 (en) 2015-08-25
US20110219246A1 (en) 2011-09-08
JP5531679B2 (ja) 2014-06-25

Similar Documents

Publication Publication Date Title
JP5531679B2 (ja) Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム
US20140019723A1 (en) Binary translation in asymmetric multiprocessor system
JP2017516207A5 (ja)
JP2015516099A5 (ja)
JP2013206016A5 (ja)
US20120137295A1 (en) Method for displaying cpu utilization in a multi-processing system
SI2769382T1 (en) Command to calculate the distance to the specified memory limit
RU2013119123A (ru) Управление жизненным циклом приложений
US9465664B1 (en) Systems and methods for allocation of environmentally regulated slack
CN108664367B (zh) 一种基于处理器的功耗控制方法及装置
US8429114B2 (en) Method and apparatus for providing low cost programmable pattern recognition
JPWO2013088519A1 (ja) マルチコア・プロセッサ
KR20180034501A (ko) 동적 벡터 길이의 루프를 이용한 벡터 처리
US20190146567A1 (en) Processor throttling based on accumulated combined current measurements
JP2010160715A (ja) 車両用電子制御ユニット
US20130191613A1 (en) Processor control apparatus and method therefor
JP2016212554A (ja) 演算処理装置及び演算処理装置の制御方法
KR102603377B1 (ko) 데이터 처리
JP2021163398A (ja) 情報処理装置及び情報処理方法
US11061840B2 (en) Managing network interface controller-generated interrupts
US11442890B1 (en) On-circuit data activity monitoring for a systolic array
US10558500B2 (en) Scheduling heterogenous processors
JP2008003901A5 (ja)
KR20120003088A (ko) 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치
JP6365387B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140307

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: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5531679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees