JP2014521131A - マルチプロセッサシステム、および、その省エネルギー化方法 - Google Patents

マルチプロセッサシステム、および、その省エネルギー化方法 Download PDF

Info

Publication number
JP2014521131A
JP2014521131A JP2013558851A JP2013558851A JP2014521131A JP 2014521131 A JP2014521131 A JP 2014521131A JP 2013558851 A JP2013558851 A JP 2013558851A JP 2013558851 A JP2013558851 A JP 2013558851A JP 2014521131 A JP2014521131 A JP 2014521131A
Authority
JP
Japan
Prior art keywords
task
sleep
multiprocessor system
original
processors
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
JP2013558851A
Other languages
English (en)
Other versions
JP5742971B2 (ja
Inventor
ウェイ スン
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
Publication of JP2014521131A publication Critical patent/JP2014521131A/ja
Application granted granted Critical
Publication of JP5742971B2 publication Critical patent/JP5742971B2/ja
Active 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
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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

【課題】マルチプロセッサシステムにおける電力消費を抑制し、タスクの平均応答時間を制御すること。
【解決手段】マルチプロセッサシステムは、複数のプロセッサと、スリープタスクの発生率と各スリープタスクの時間長を許容遅延時間に基づいて決定する計数測定計算(CMC)ユニットと、上記時間長を有するスリープタスクを上記発生率で発生させ、発生させたスリープタスクをオリジナルタスクのトラフィックに挿入するスリープタスク発生器と、上記トラフィック内のオリジナルタスクおよびスリープタスクを複数のプロセッサに割り当てるスケジューラと、を備え、各スリープタスクは該タスクが割当てられた複数のプロセッサの1つをスイッチオフする。
【選択図】図1

Description

本発明は、マルチプロセッサシステム、および、マルチプロセッサシステムにおける省エネルギー化方法に関し、特に、複数のローカルキューを有するマルチプロセッサシステム(分散キューアーキテクチャ)、または、グローバルキューを有するマルチプロセッサシステム(グローバルキューアーキテクチャ)に関する。
近年、電力消費およびエネルギー消費は深刻な問題となっている。特に、バッテリを備えた電子装置、低価格のデータセンター、および、低炭素環境では、重大な問題となる。省電力の主要な手法の1つであるダイナミック電力管理(ないし動的電力管理)(DPM:Dynamic Power Management)は、電子部品を選択的に低電力状態にすることにより、システムレベルで電力消費を削減することを目指している(非特許文献1)。
L. Benini and G. De Micheli, "Dynamic Power Management: Design Techniques and CAD Tools," Kluwer, 1997 A. Karlin, M. Manesse, L. McGeoch, and S. Owicki, "Competitive Randomized Algorithms for Nonuniform Problems," Algorithmca, pp.542-571, 1994 D. Ramanathan, R. Gupta, "System Level Online Power Management Algorithms," Design, Automation and Test in Europe, pp.606-611, 2000 C-H. Hwang and A. Wu, "A Predicativee System Shutdown Method for Energy Saving of Event-Driven Computation," International Conference on Computer Aided Design, pp.28-32, 1997 M. Srivastava, A. Chandrakasan, R. Brodersen, "Predicative System Shutdown and Other Architectural Techniques for Energy Efficient Programmable Computation," IEEE Transactions on VLSI Systems, vol.4, no.1, pp.42-55, March 1996 L. Benini, G. Paleologo, A. Bogliolo, and G. De Micheli, "Policy Optimization for Dynamic Power Management," IEEE Transactions on Computer-Aided Design, vol.18, no.6, pp.813-833, June 1999 Q. Qiu and M. Pedram, "Dynamic Power Management Based on Continuous-Time Markov Decision Processes," Design Automation Conference, pp.555-561, 1999 T. Simunic, "Dynamic Management of Power Consumption," Power Aware Computing edited by R. Graybill and R. Melhem, 2002
上記の非特許文献の全開示内容は引用により本書に繰り込み記載されているものとする。以下の分析は、本発明の観点から与えられる。
低電力状態ではエネルギー消費は最小となるものの、状態間の遷移において余分な時間とエネルギーが必要とされる。したがって、DPM(ダイナミック電力管理)を使いこなすためには、システムレベルでの複雑な電力管理ポリシが必要となる。さもないと、性能および効率がいずれも低下してしまう。
最も一般的なシステムレベルの電力管理ポリシは、多くのオペレーティングシステムに実装されているタイムアウトポリシ(timeout policy)(非特許文献2、3)である。このポリシの欠点は、タイムアウトイベントを待っている間に電力とエネルギーが浪費されることである。
対話型端末用に開発された予測ポリシ(非特許文献4および5)は、アイドル期間が十分長く継続すると予測器が推定すると、部品がアイドル状態になるとすぐに低電力状態へ遷移するように強制する。ただし、不正確な推定を行った場合には、性能とエネルギーの両方について明らかに不利益が生じる。
確率モデルに基づくポリシは、最適な結果を保証することを可能にする。確率モデルは、システムの振る舞いを表す分布を使用する(非特許文献6〜8)。換言すれば、その精度と最適性は、システムの振る舞いがその分布に適合するか否かに強く依存する。例えば、到着時間間隔および実行時間は、すべてのマルコフモデルで仮定する指数分布に従わないおそれがある。さらに、ほとんどの確率モデルに基づくポリシは、定常的である(すなわち、任意の時点で同一のポリシが適用される)。
したがって、関連技術において、電力消費を抑制し、タスクの平均応答時間を制御することが可能なマルチプロセッサシステム、およびマルチプロセッサシステムにおけるエネルギー消費の節減方法を提供することが望まれる。
本発明の第1の視点によれば、以下に示すマルチプロセッサシステムが提供される。すなわち、マルチプロセッサシステムは、複数のプロセッサと、スリープタスクの発生率と各スリープタスクの時間長を許容遅延時間に基づいて決定する計数測定計算(CMC)ユニットと、前記時間長を有するスリープタスクを前記発生率で発生させ、前記発生させたスリープタスクをオリジナルタスクのトラフィックに挿入するスリープタスク発生器と、前記トラフィック内のオリジナルタスクおよびスリープタスクを前記複数のプロセッサに割り当てるスケジューラと、を備え、各スリープタスクは該スリープタスクが割当てられた前記複数のプロセッサの1つをスイッチオフする。
本発明の第2の視点によれば、以下の工程を含むマルチプロセッサシステムにおける省エネルギー化方法が提供される。すなわち、省エネルギー化方法は、スリープタスクの発生率と各スリープタスクの時間長を許容遅延時間に基づいて決定する工程と、前記時間長を有する前記スリープタスクを前記発生率で発生させる工程と、オリジナルタスクのトラフィックに前記発生させたスリープタスクを挿入する工程と、前記トラフィック内の前記オリジナルタスクおよび前記スリープタスクを複数のプロセッサに割り当てる工程と、を含み、各スリープタスクは該スリープタスクが割り当てられた前記複数のプロセッサの1つをスイッチオフする。
さらに、他の視点によれば、前記した視点による方法を実装するためのプログラム、または、前記した視点によるマルチプロセッサシステムを駆動/実行するためのプログラムが提供される。また、プログラムは、プログラム製品となるコンピュータ読み取り可能な記憶媒体(computer-readable non-transient medium)に記録するようにしてもよい。
本発明のマルチプロセッサシステム、および、マルチプロセッサにおける省エネルギー化方法によれば、マルチプロセッサシステムにおける電力消費が抑制され、かつ、タスクの平均応答時間を制御することが可能になる。
一実施形態による分散キューアーキテクチャのマルチプロセッサシステムを示すブロック図である。 一実施形態によるグローバルキューアーキテクチャのマルチプロセッサシステムを示すブロック図である。 一実施形態における分散キューアーキテクチャ用スケジューラの動作を示すフロー図である。 一実施形態におけるグローバルキューアーキテクチャ用スケジューラの動作を示すフロー図である。 一実施形態におけるCMCユニットおよびスリープタスク発生器の動作を示すフロー図である。
本明細書において、以下の用語が用いられる。
1.状態「On」:プロセッサがフルスピードで動作するアクティブ状態
2.状態「Off」:プロセッサが完全スリープまたは低スピードで動作する低電力状態
3.遷移:「On」から「Off」、または「Off」から「On」の状態遷移
4.遷移時間:状態遷移に必要とされる時間
5.遷移エネルギー:状態遷移に必要とされるエネルギー
6.タスク:計算の集まり
なお、本発明では、中量または多量のタスクトラフィックを対象とする。なぜなら、少量のトラフィックは問題なく扱うことができるからである。
マルチプロセッサシステムにおいて、タスクはセントラルスケジューラに到着し、その後、セントラルスケジューラから出発する。基本的に、このようなシステムは待ち行列モデルで近似的に表すことができ、平衡状態における性能が関心事となる。
本発明によるマルチプロセッサシステムにおいて、マルチプロセッサシステム内のいくつかのプロセッサを賢くスイッチオフすることでエネルギー消費を削減できるような電力管理が行われる。本発明は、電力消費を節減するために、タスクの平均応答時間を制御しつつ、いくつかのプロセッサを適宜スイッチオフする、すなわち、いくつかのプロセッサを状態「オフ」にすることを目指すものである。ここで、状態遷移の頻度は低く維持される。なぜなら、状態遷移では余分な時間とエネルギーが必要とされるからである。
本発明によるマルチプロセッサシステムにおいて、スリープタスク、すなわち、単にプロセッサをスイッチオフするだけの仮想タスクが生成され、オリジナルタスクのトラフィックに挿入される。マルチプロセッサシステムにおいて、以下の2つのステップが実行される。第1に、ある期間内のスリープタスクの量が待ち行列モデルにより決定される。第2に、挿入されたスリープタスクは、オリジナルタスクの応答時間を大幅に増加させることなく、かつ、頻繁に状態遷移が生ずることを避けるように、プロセッサに適宜割り当てられる。
ここで、本発明の概要を説明する。ここで、付される参照符号は単に説明の理解を助けるためのものである。なお、本発明は、図面に記載された形態に限定されるものではない。図1および図2を参照すると、本発明によるマルチプロセッサシステムは、複数のプロセッサ(101、201)と、スリープタスクの発生率および各スリープタスクの時間長を許容遅延時間に基づいて決定する計数測定計算(CMC:Counting, Measuring and Calculating)ユニット(103、203)と、上記時間長を有するスリープタスクを上記発生率で発生させ、発生させたスリープタスクをオリジナルタスクのトラフィックに挿入するスリープタスク発生器(105、205)と、上記トラフィック内のオリジナルタスクおよびスリープタスクの双方を複数のプロセッサに割り当てるスケジューラ(104、202)とを備え、各巣レープタスクは該スリープタスクが割当てられた複数のプロセッサの1つをスイッチオフする。
本発明のマルチプロセッサによれば、マルチプロセッサシステムにおける電力消費が抑制され、かつ、タスクの平均応答時間を制御することが可能になる。
本開示において、以下に示すものを含む種々の形態が可能である。ただし、それに限定されるものではない。
(形態1)
本発明の第1の視点によるマルチプロセッサシステムが提供される。
(形態2)
前記マルチプロセッサシステムにおいて、前記CMCユニットは、オリジナルタスクおよびスリープタスクの到着時間間隔と実行時間が所定の待ち行列モデルの分布に従うように、前記発生率と前記時間長を決定するようにしてもよい。
(形態3)
前記マルチプロセッサシステムにおいて、前記CMCユニットは、オリジナルタスクの平均応答時間に応じて許容遅延時間を決定するようにしてもよい。
(形態4)
前記マルチプロセッサシステムにおいて、前記スケジューラは、前記複数のプロセッサにおけるオン状態とオフ状態の間の遷移を減少させるようにしてもよい。
(形態5)
前記マルチプロセッサシステムにおいて、前記スリープタスクは、タスクが割り当てられた前記複数のプロセッサの1つをスイッチオフするだけの仮想タスクであってもよく、前記スリープタスクは、前記オリジナルタスクと同一の統計量を有するようにしてもよい。
(形態6)
前記マルチプロセッサシステムは、各々のローカルキューが前記オリジナルタスクおよび前記スリープタスクの少なくとも一部を保持する複数のローカルキューをさらに備えるようにしてもよい。
(形態7)
前記マルチプロセッサシステムにおいて、前記複数のプロセッサの中に空き状態のプロセッサがある場合、前記スケジューラは前記空き状態のプロセッサに新タスクを送り、前記複数のプロセッサの中に空き状態のプロセッサがない場合、前記スケジューラは、前記複数のローカルキューのうちの最終のタスクが新タスクと同一のタイプであるキューに該新タスクを送出するようにしてもよい。
(形態8)
前記マルチプロセッサシステムは、前記オリジナルタスクおよび前記スリープタスクを保持するグローバルキューを代わりに備えるようにしてもよい。
(形態9)
前記マルチプロセッサシステムにおいて、タスクが前記複数のプロセッサの1つで終了した場合、前記スケジューラは前記グローバルキュー内の同一のタイプの最早のタスクを該プロセッサに送出するようにしてもよい。
(形態10)
前記マルチプロセッサシステムにおいて、前記CMCユニットは、終了したオリジナルタスクの実行時間を測定し、前記オリジナルタスクの数を計数し、ある期間内における前記オリジナルタスクの到着率と分布を計算するようにしてもよい。
(形態11)
前記マルチプロセッサシステムにおいて、前記CMCユニットは、前記オリジナルタスクおよび前記スリープタスクの到着時間間隔が所定の分布に従うように、前記発生率を決定するようにしてもよい。
(形態12)
前記マルチプロセッサシステムにおいて、前記CMCユニットは、前記オリジナルタスクの到着率の測定結果に応じて、前記スリープタスクの発生率を決定するようにしてもよい。
(形態13)
前記マルチプロセッサシステムにおいて、前記CMCユニットは、直近に終了したタスクの測定結果に応じて、前記スリープタスクの時間長を決定するようにしてもよい。
(形態14)
本発明の第2の視点によれば、マルチプロセッサシステムにおける省エネルギー化方法が提供される。
(形態15)
前記マルチプロセッサシステムにおける省エネルギー化方法において、前記オリジナルタスクおよび前記スリープタスクの到着時間間隔と実行時間が待ち行列モデルの所定の分布に従うように、前記発生率および前記時間長が決定されるようにしてもよい。
(形態16)
前記マルチプロセッサシステムにおける省エネルギー化方法は、前記オリジナルタスクの平均応答時間に応じて前記許容遅延時間を決定する工程をさらに含むようにしてもよい。
(形態17)
前記マルチプロセッサシステムにおける省エネルギー化方法は、前記複数のプロセッサにおけるオン状態とオフ状態の間の遷移を減少させるようにする工程をさらに含むようにしてもよい。
(形態18)
前記マルチプロセッサシステムにおける省エネルギー化方法において、前記スリープタスクは、前記タスクが割り当てられた前記複数のプロセッサの1つをスイッチオフするだけの仮想タスクであってもよく、前記スリープタスクは前記オリジナルタスクと同一の統計量を有するようにしてもよい。
(形態19)
前記した形態による方法を実装するためのプログラム、あるいは、前記した形態によるマルチプロセッサシステムを駆動/実行するためのプログラムが提供される。該プログラムは、プログラム製品となるコンピュータ読み取り可能な(non-transientな)記憶媒体に記録するようにしてもよい。該プログラムは、上記方法の工程を少なくとも部分的に実行したり、上記システムの要素を動作させたりするのに使用される。
<実施形態1>
一実施形態によるマルチプロセッサシステムについて、図面を参照して説明する。
図1は、分散キューアーキテクチャのマルチプロセッサシステムを示すブロック図である。図1を参照すると、マルチプロセッサシステムは、複数のプロセッサ101と、複数のローカルキュー102と、計数測定計算(CMC:Counting, Measuring and Calculating)ユニット103と、スリープタスク発生器105と、スケジューラ104を備えている。CMCユニット103は、スリープタスクの発生率と各スリープタスクの時間長を決定する。スリープタスク105は、上記時間長を有するスリープタスクを上記発生率で発生し、発生したスリープタスクをオリジナルタスクのトラフィックに挿入する。スケジューラ104は、トラフィック内のオリジナルタスクおよびスリープタスクをローカルキュー102に割り当てる。
図2は、グローバルキューアーキテクチャのマルチプロセッサを示すブロック図である。図2を参照すると、マルチプロセッサは、複数のプロセッサ201と、グローバルキュー204と、計数測定計算(CMC)ユニット203と、スリープタスク発生器205と、スケジューラ202を備えている。CMCユニット203は、スリープタスクの発生率と各スリープタスクの時間長を決定する。スリープタスク発生器205は、上記時間長を有するスリープタスクを上記発生率で発生し、発生したスリープタスクをオリジナルタスクのトラフィックに挿入する。スケジューラ202は、グローバルキュー204内のオリジナルタスクおよびスリープタスクをプロセッサ201に割り当てる。
従来システムのソフトウェアのアーキテクチャを少しだけ変更する必要がある。本実施形態において、2つの設計、すなわち、分散キューアーキテクチャ(図1)とグローバルキューアーキテクチャ(図2)が提供される。少なくとも2つの要素が従来技術のアーキテクチャに追加される。1つはスリープタスク発生器(図1の105、図2の205)であり、もう1つは測定および計算の要素、すなわち、計数測定計算(CMC)ユニット(図1の103、図2の203)である。さらに、スケジューラ(図1の104、図2の202)は、オリジナルタスクとスリープタスクを適切に処理するように拡張する必要がある。図1および図2は、2種類のアーキテクチャを示している。図1および図2において、実線はタスクパスを表し、破線は情報収集パスを表している。
図1および図2に示すマルチプロセッサシステムは、以下に説明するように動作する。
ステップ1.CMCユニット103および203は、待ち行列モデルによりタスクの平均応答時間を計算する。アプリケーションと上記システムに対して、待ち行列モデルを構築することができる。Webシステムやネットワークスイッチのような長期間動作するアプリケーションでは平衡状態が存在し、かかる計算が可能となる。
ステップ2.CMCユニット103および203は、オリジナルタスクの平均応答時間に対して許容遅延時間を設定する。次に、ステップ1のモデルによりタスクの新しい到着率が得られる。
ステップ3.CMCユニット103および203は、ある期間内にシステムに到着するタスク数を計数し、当該期間内に終了したタスクの実行時間を測定する。この期間を時間ウインドウと呼ぶ。分散キューアーキテクチャにおいて、CMCユニット103はプロセッサ101とローカルキュー102を監視する。グローバルキューアーキテクチャにおいて、CMCユニット203は、プロセッサ201とグローバルキュー204を監視する。
ステップ4.ステップ2による新しい到着率、および、ステップ3によるデータに基づいて、CMCユニット103および203は、スリープタスクの発生率を計算し、発生するスリープタスクの時間長を決定する(図5のステップS502〜S505)。計算例は、M/M/1のクラスタに基づいている。なぜなら、本発明では、中量または多量の負荷のみを検討対象とするからである。多量の負荷の場合には、各々がM/M/1であるm個のプロセッサのクラスタは、M/M/mの1つのシステムにほぼ等価になる。オリジナルタスクの到着率がL1であることが既知であると仮定すると、タスクの平均応答時間は、1/(u−(L1/m))となる。ここで、uはプロセッサのサービス割合である。因子dの遅延時間が許容され、新しい到着率がLの場合、次式が成り立つ。d/(u−(L1/m))=1/(u−(L/m))。したがって、Lを計算することができる。スリープタスクの到着率をL2と表す。このとき、L2=L−L1となる。オリジナルタスクの実行時間は、指数分布に従わないかもしれない。そこで、スリープタスクの長さは、このギャップを埋めるように生成される。すなわち、オリジナルタスクとスリープタスクの両方の実行時間が、最終的に指数分布に従うように強制される。さらに、タスクの到着間隔も、スリープタスクの挿入時点を調整することにより、ある指数分布に従うように強制される。
ステップ5.スリープタスク発生器105および205は、発生したスリープタスクをオリジナルタスクのトラフィックに挿入する(図5のステップS506)。次に、タスクのトラフィックは、それ以前に確立したモデルに適合するように調整される。
ステップ6.スケジューラ104および202は、オリジナルタスクおよびスリープタスクをあるスケジューリングアルゴリズムにより割り当てる。本実施形態において、分散キューアーキテクチャおよびグローバルアーキテクチャに対し、図3および図4の2つのスケジューリングアルゴリズムがそれぞれ提供される。2つのスケジューリングアルゴリズムは、いずれも、不必要な状態遷移を避けることをその狙いとする。
上記スケジューリングアルゴリズムの変形例が存在する。変形例では、プロセッサ状態を変更することが可能な最終時点のパラメータが定義される。言い換えると、このパラメータはプロセッサが同一の状態に留まっている最長時間を定義する。
以下に、本実施形態をより詳細に説明する。
1.待ち行列モデルは、平均応答時間がモデル化されるものであればよい。しかしながら、計算の複雑さの点で、M/M/1のクラスタが選択される。なぜなら、第1に、M/M/1キューのクラスタは、M/M/m待ち行列システムと等価であり、第2に、スリープタスクの挿入により、タスクの到着間隔と実行時間がある指数分布に従うように強制することができるからである。M/M/1キューのクラスタに基づく計算は、他のものよりもずっと簡単である。
2.元のシステムとアプリケーションの平均応答時間は、既知であると仮定する。元の平均応答時間が未知の場合には、モデルに適合し、平均応答時間を計算するために、一連の測定が行われるべきである。
3.図1の分散キューアーキテクチャにおいて、CMCユニット103は、システムにおけるタスクの数とタスクの実行時間を計数するために、プロセッサ101およびローカルキュー102の監視を続ける。図2のグローバルキューアーキテクチャにおいて、CMCユニット203は、プロセッサ201とグローバルキュー204の監視を続ける。期間とウインドウが設定される。ウインドウ内のタスクの数とタスクの実行時間は、タスクの到着率および平均実行時間を計算するために用いられ、タスクの到着率と平均実行時間は、スリープタスクの発生率とスリープタスクの時間長を決定するために用いられる。時間が経過するに従って、現在時刻に追随するようにウインドウも移動する。
4.スケジューラ104および202はオリジナルタスクに対するのと同様の方法で、挿入されたタスクを扱う。各プロセッサにおいて、直前に終了したタスクがスリープタスクである場合、プロセッサは、オリジナルタスクが到着するまで「off」状態のままである。逆の場合も、同様である。
5.スリープタスク発生器105および205は、次のスリープタスクの発生時刻と時間長を、CMCユニット103および203の結果により計算する。
6.分散キューアーキテクチャおよびグローバルキューアーキテクチャのスケジューリングアルゴリズムが、それぞれ、図3および図4に例示されている。
(1)2つのアルゴリズムは、いずれもイベント起動型である。イベントトリガが、アルゴリズム、すなわち、ステップS301およびS401において生成される。
(2)アルゴリズムの次の動作を決めるために、ステップS302およびS402において2種類のイベントが認識される。
(3)分散型キューアーキテクチャでは、ステップS303およびS304のように、プロセッサが空き状態であるか否かがタスク割り当てを決定するための鍵となる。
(4)このアルゴリズムは、ステップS306、S310、S408、S409のように、つねに空き状態のプロセッサに最早のタスクを送出しようとする。
(5)このアルゴリズムは、ステップS308、S311、S407のように、不必要な状態遷移を避けるために、つねに、直前に終了したタスクと同一のタイプのタスクを送出しようとする。
(6)分散キューアーキテクチャ用のアルゴリズムは、ステップS308およびS309のように、所定の負荷バランスを維持しようとする。
図3を参照すると、分散キューアーキテクチャにおいて、スケジューラ104はタスクイベント待ちとなる(ステップS301)。新タスクが到着した場合(ステップS302のA)、スケジューラ104はプロセッサPが空き状態であるか否かを判定する(ステップS303)。プロセッサPが空き状態の場合(ステップS303のY)、スケジューラ104はその新タスクをプロセッサPに送出する(ステップS306)。プロセッサPが空き状態でない場合(ステップS303のN)、スケジューラ104は、あるキューQの最終タスクが新タスクと同タイプであるか否かを判定する(ステップS305)。キューQの最終タスクが新タスクと同一のタイプである場合(ステップS305のY)、スケジューラ104はその新タスクをそのキューQに送出する(ステップS308)。キューQの最終タスクがその新タスクと同一のタイプでない場合(ステップS305のN)、スケジューラ104はその新タスクを最短のキューに送出する(ステップS309)。
タスクがプロセッサPから出発する場合(ステップS302のD)、スケジューラ104は、プロセッサPが空き状態であるか否かを判定する(ステップS304)。プロセッサPが空き状態の場合(ステップS304のY)、スケジューラ104は、他のキューの中にその出発するタスクと同一のタイプのタスクTがあるか否かを判定する。タスクTがある場合(ステップS307のY)、スケジューラ104はタスクTをプロセッサPに移動する(ステップS311)。タスクTがない場合(ステップS307のN)、スケジューラは他のキューからの最早のタスクをプロセッサPに移動する(ステップS310)。
図4を参照すると、グローバルキューアーキテクチャにおいて、スケジューラ202はタスクイベント待ちとなる(ステップS401)。タスクTが出発すると(ステップS402のD)、すなわち、プロセッサPがタスクTを終了すると(ステップS403)、スケジューラ202はグローバルキュー204内にタスクTと同一のタイプのタスクT’があるか否かを判定する(ステップS405)。タスクT’がある場合(ステップS405のY)、スケジューラ202はタスクT’をプロセッサPに送出する(ステップS407)。タスクT’がない場合(ステップS405のN)、スケジューラ202はグローバルキュー204内の最早のタスクをプロセッサPに送出する(ステップS408)。
新タスクTが到着すると(ステップS402のA、S404)、スケジューラ202はプロセッサPが空き状態か否かを判定する(ステップS406)。プロセッサPが空き状態の場合(ステップS406のY)、スケジューラ202はタスクTをプロセッサPに送出する(ステップS409)。プロセッサPが空き状態でない場合(ステップS406のN)、スケジューラ202はタスクTをグローバルキュー204の末尾に追加する(ステップS410)。
7.スリープタスクを発生して挿入するメカニズムを図5に示す。CMCユニット103および203は、ステップS501〜S504を実行し、その間、スリープタスク発生器105および205はステップS505を実行する。
本願発明の従来技術に対する差異の1つは、プロセッサをスイッチオフする時間の総計を予め決めておき、その後、タイムスロット、スリープタスクがオリジナルタスクと一緒にスケジューリングされることである。従来技術では、プロセッサを何時スイッチオフするか、および、どれだけ期間スイッチオフするかは、現在の時点において決定される。
実施形態による効果は以下のように要約されるが、それに限定されるものではない。
1.本実施形態によるマルチプロセッサシステムは、従来技術よりも高い信頼性が得られる。なぜなら、どのようなモデルを考えた場合であっても、スリープタスクを発生することで、全タスクの到着率および実行時間は選択された待ち行列モデルに適合するように強制されるからである。したがって、モデルに基づく計算がより高精度になる。換言すれば、全タスクの平均応答時間を正確に把握することが可能となる。
2.本実施形態によるマルチプロセッサシステムは、他の従来システムよりも簡単になる。計算は選択された待ち行列モデルに基づいて行われ、より複雑な計算を採用する必要はない。スリープタスクの発生やスリープタスクのスケジューリング等の新たに生ずる動作は、容易に実装することができる。
3.タスクのスケジューリングは、複数のスリープタスクを結合することで、これらのスリープタスクがまとまって動作し、不要な状態遷移が回避されるようにする。
なお、本発明の全開示(請求の範囲)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
101 プロセッサ
102 ローカルキュー
103 計数測定計算(CMC)ユニット
104 スケジューラ
105 スリープタスク発生器
201 プロセッサ
202 スケジューラ
203 計数測定計算(CMC)ユニット
204 グローバルキュー
205 スリープタスク発生器

Claims (18)

  1. 複数のプロセッサと、
    スリープタスクの発生率と各スリープタスクの時間長を許容遅延時間に基づいて決定する計数測定計算(CMC)ユニットと、
    前記時間長を有するスリープタスクを前記発生率で発生させ、前記発生させたスリープタスクをオリジナルタスクのトラフィックに挿入するスリープタスク発生器と、
    前記トラフィック内のオリジナルタスクおよびスリープタスクを前記複数のプロセッサに割り当てるスケジューラと、を備え、
    各スリープタスクは、該スリープタスクが割当てられた前記複数のプロセッサの1つをスイッチオフする、マルチプロセッサシステム。
  2. 前記CMCユニットは、オリジナルタスクおよびスリープタスクの到着時間間隔と実行時間が所定の待ち行列モデルの分布に従うように、前記発生率と前記時間長を決定する、請求項1に記載のマルチプロセッサシステム。
  3. 前記CMCユニットは、オリジナルタスクの平均応答時間に応じて前記許容遅延時間を決定する、請求項1または2に記載のマルチプロセッサシステム。
  4. 前記スケジューラは、前記複数のプロセッサにおけるオン状態とオフ状態の間の遷移を減少させるようにする、請求項1ないし3のいずれか1項に記載のマルチプロセッサシステム。
  5. 前記スリープタスクは、当該タスクが割り当てられた前記複数のプロセッサの1つをスイッチオフするだけの仮想タスクであり、
    前記スリープタスクは、前記オリジナルタスクと同一の統計量を有する、請求項1ないし4のいずれか1項に記載のマルチプロセッサ。
  6. 各々のローカルキューが前記オリジナルタスクおよび前記スリープタスクの少なくとも一部を保持する複数のローカルキューをさらに備える、請求項1ないし5のいずれか1項に記載のマルチプロセッサ。
  7. 前記複数のプロセッサの中に空き状態のプロセッサがある場合、前記スケジューラは前記空き状態のプロセッサに新タスクを送出し、
    前記複数のプロセッサの中に空き状態のプロセッサがない場合、前記スケジューラは、前記複数のローカルキューのうちの最終のタスクが新タスクと同一のタイプであるキューに該新タスクを送出する、請求項6に記載のマルチプロセッサシステム。
  8. 前記オリジナルタスクおよび前記スリープタスクを保持するグローバルキューをさらに備える、請求項1ないし5のいずれか1項に記載のマルチプロセッサシステム。
  9. タスクが前記複数のプロセッサの1つで終了した場合、前記スケジューラは前記グローバルキュー内の同一のタイプの最早のタスクを該プロセッサに送出する、請求項8に記載のマルチプロセッサシステム。
  10. 前記CMCユニットは、終了したオリジナルタスクの実行時間を測定し、前記オリジナルタスクの数を計数し、ある期間内における前記オリジナルタスクの到着率と分布を計算する、請求項1ないし9のいずれか1項に記載のマルチプロセッサシステム。
  11. 前記CMCユニットは、前記オリジナルタスクおよび前記スリープタスクの到着時間間隔が所定の分布に従うように、前記発生率を決定する、請求項1ないし10のいずれか1項に記載のマルチプロセッサシステム。
  12. 前記CMCユニットは、前記オリジナルタスクの到着率の測定結果に応じて、前記スリープタスクの発生率を決定する、請求項1ないし11のいずれか1項に記載のマルチプロセッサシステム。
  13. 前記CMCユニットは、直近に終了したタスクの測定結果に応じて、前記スリープタスクの時間長を決定する、請求項1ないし12のいずれか1項に記載のマルチプロセッサシステム。
  14. スリープタスクの発生率と各スリープタスクの時間長を許容遅延時間に基づいて決定する工程と、
    前記時間長を有する前記スリープタスクを前記発生率で発生させる工程と、
    オリジナルタスクのトラフィックに前記発生させたスリープタスクを挿入する工程と、
    前記トラフィック内の前記オリジナルタスクおよび前記スリープタスクを複数のプロセッサに割り当てる工程と、を含み、
    各スリープタスクは、該スリープタスクが割り当てられた前記複数のプロセッサの1つをスイッチオフする、マルチプロセッサシステムにおける省エネルギー化方法。
  15. 前記オリジナルタスクおよび前記スリープタスクの到着時間間隔と実行時間が待ち行列モデルの所定の分布に従うように、前記発生率と前記時間長が決定される、請求項14に記載のマルチプロセッサシステムにおける省エネルギー化方法。
  16. 前記オリジナルタスクの平均応答時間に応じて前記許容遅延時間を決定する工程をさらに含む、請求項14または15に記載のマルチプロセッサシステムにおける省エネルギー化方法。
  17. 前記複数のプロセッサにおけるオン状態とオフ状態の間の遷移を減少させるようにする工程をさらに含む、請求項14ないし16のいずれか1項に記載のマルチプロセッサシステムにおける省エネルギー化方法。
  18. 前記スリープタスクは、当該タスクが割り当てられた前記複数のプロセッサの1つをスイッチオフするだけの仮想タスクであり、
    前記スリープタスクは、前記オリジナルタスクと同一の統計量を有する、請求項14ないし17のいずれか1項に記載のマルチプロセッサシステムにおける省エネルギー化方法。
JP2013558851A 2011-06-29 2011-06-29 マルチプロセッサシステム、および、その省エネルギー化方法 Active JP5742971B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/003733 WO2013001576A1 (en) 2011-06-29 2011-06-29 Multiprocessor system and method of saving energy therein

Publications (2)

Publication Number Publication Date
JP2014521131A true JP2014521131A (ja) 2014-08-25
JP5742971B2 JP5742971B2 (ja) 2015-07-01

Family

ID=47423525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013558851A Active JP5742971B2 (ja) 2011-06-29 2011-06-29 マルチプロセッサシステム、および、その省エネルギー化方法

Country Status (3)

Country Link
US (1) US9323319B2 (ja)
JP (1) JP5742971B2 (ja)
WO (1) WO2013001576A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170097615A (ko) * 2014-12-22 2017-08-28 인텔 코포레이션 네트워크 디바이스에서의 수신된 패킷의 처리와 연관된 전력 관리 기법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258759A1 (en) * 2013-03-06 2014-09-11 Lsi Corporation System and method for de-queuing an active queue
US20150355942A1 (en) * 2014-06-04 2015-12-10 Texas Instruments Incorporated Energy-efficient real-time task scheduler
CN105242966A (zh) * 2015-09-28 2016-01-13 华东师范大学 一种面向自主获能异构系统的非精确实时任务调度方法
CN105373430A (zh) * 2015-10-13 2016-03-02 惠州Tcl移动通信有限公司 一种动态分配编译机的系统及其方法
CN106933325B (zh) * 2017-02-10 2019-10-11 华侨大学 一种固定优先级io设备能耗管理方法
CN106951056B (zh) * 2017-03-20 2019-08-30 华侨大学 Cpu和io设备低能耗调度方法
KR102491068B1 (ko) * 2017-11-17 2023-01-19 에스케이하이닉스 주식회사 메모리 장치에 대한 태스크들을 스케줄링하는 반도체 장치 및 이를 포함하는 시스템

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239665A (ja) * 1988-03-19 1989-09-25 Fujitsu Ltd マルチプロセッサの負荷分散方式
JPH086681A (ja) * 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH10283204A (ja) * 1997-04-04 1998-10-23 Konica Corp マルチタスク処理方法、マルチタスク処理装置、および、タスクを記録した記録媒体
JP2002055731A (ja) * 2000-08-11 2002-02-20 Sony Corp 電力制御方法及び記録再生装置
JP2003337713A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd プロセッサの制御方法
WO2010001555A1 (ja) * 2008-06-30 2010-01-07 パナソニック株式会社 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
JP2010271930A (ja) * 2009-05-21 2010-12-02 Toshiba Corp マルチコアプロセッサシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195765B1 (en) * 1998-01-05 2001-02-27 Electronic Data Systems Corporation System and method for testing an application program
US6167330A (en) * 1998-05-08 2000-12-26 The United States Of America As Represented By The Secretary Of The Air Force Dynamic power management of systems
JP3663968B2 (ja) 1999-04-14 2005-06-22 日本電気株式会社 マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体
JP3705022B2 (ja) * 1999-07-09 2005-10-12 株式会社日立製作所 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム
US7398410B2 (en) * 2005-07-08 2008-07-08 National Tsing Hua University Processor employing a power managing mechanism and method of saving power for the same

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239665A (ja) * 1988-03-19 1989-09-25 Fujitsu Ltd マルチプロセッサの負荷分散方式
JPH086681A (ja) * 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH10283204A (ja) * 1997-04-04 1998-10-23 Konica Corp マルチタスク処理方法、マルチタスク処理装置、および、タスクを記録した記録媒体
JP2002055731A (ja) * 2000-08-11 2002-02-20 Sony Corp 電力制御方法及び記録再生装置
JP2003337713A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd プロセッサの制御方法
WO2010001555A1 (ja) * 2008-06-30 2010-01-07 パナソニック株式会社 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
JP2010271930A (ja) * 2009-05-21 2010-12-02 Toshiba Corp マルチコアプロセッサシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170097615A (ko) * 2014-12-22 2017-08-28 인텔 코포레이션 네트워크 디바이스에서의 수신된 패킷의 처리와 연관된 전력 관리 기법
JP2018507457A (ja) * 2014-12-22 2018-03-15 インテル コーポレイション ネットワークデバイスにおける受信パケットの処理と関連する電力管理のための技術
KR102284467B1 (ko) * 2014-12-22 2021-08-03 인텔 코포레이션 네트워크 디바이스에서의 수신된 패킷의 처리와 연관된 전력 관리 기법

Also Published As

Publication number Publication date
WO2013001576A1 (en) 2013-01-03
JP5742971B2 (ja) 2015-07-01
US9323319B2 (en) 2016-04-26
US20140129864A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
JP5742971B2 (ja) マルチプロセッサシステム、および、その省エネルギー化方法
Yao et al. Power cost reduction in distributed data centers: A two-time-scale approach for delay tolerant workloads
Liu et al. On arbitrating the power-performance tradeoff in SaaS clouds
Yang et al. Stackelberg game approach for energy-aware resource allocation in data centers
US20140278333A1 (en) Systems, methods, and media for modeling transient thermal behavior
CN104871114A (zh) 用于集成电路的空闲阶段预测
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
TWI503742B (zh) 多核心處理器系統及其排程方法
Żotkiewicz et al. Minimum dependencies energy-efficient scheduling in data centers
WO2016040811A1 (en) Heuristic processsor power management in operating systems
EP2551767B1 (en) Method and device for adjusting clock interrupt cycle
Ying et al. Optimizing energy, locality and priority in a mapreduce cluster
CN102902344A (zh) 基于随机任务的云计算系统能耗优化方法
Postema et al. An anylogic simulation model for power and performance analysis of data centres
Hussin et al. Efficient energy management using adaptive reinforcement learning-based scheduling in large-scale distributed systems
Hu et al. Improve the energy efficiency of datacenters with the awareness of workload variability
Kadupitiya et al. Scispot: Scientific computing on temporally constrained cloud preemptible vms
Yao et al. A dual delay timer strategy for optimizing server farm energy
Quaglia et al. Grain sensitive event scheduling in time warp parallel discrete event simulation
Niu et al. Leakage-aware scheduling for embedded real-time systems with (m, k)-constraints
Yin et al. Grid resource management policies for load-balancing and energy-saving by vacation queuing theory
JP2014206805A (ja) 制御装置
Siyoum et al. Resource-efficient real-time scheduling using credit-controlled static-priority arbitration
Medhat et al. Energy-efficient multiple producer-consumer
van den Berg et al. Evaluating load balancing policies for performance and energy-efficiency

Legal Events

Date Code Title Description
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: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150420

R150 Certificate of patent or registration of utility model

Ref document number: 5742971

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150