JP4082439B2 - 並列計算機 - Google Patents

並列計算機 Download PDF

Info

Publication number
JP4082439B2
JP4082439B2 JP2006527723A JP2006527723A JP4082439B2 JP 4082439 B2 JP4082439 B2 JP 4082439B2 JP 2006527723 A JP2006527723 A JP 2006527723A JP 2006527723 A JP2006527723 A JP 2006527723A JP 4082439 B2 JP4082439 B2 JP 4082439B2
Authority
JP
Japan
Prior art keywords
processor
task
subtasks
processing time
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.)
Expired - Fee Related
Application number
JP2006527723A
Other languages
English (en)
Other versions
JPWO2006011189A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP4082439B2 publication Critical patent/JP4082439B2/ja
Publication of JPWO2006011189A1 publication Critical patent/JPWO2006011189A1/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

この発明は、単一のタスクを複数の実行単位に分割して、各実行単位を複数のプロセッサで並列に処理する並列計算機に係るものであり、並列計算機全体の処理能力を維持する一方で、消費電力を節約する技術に関する。
さらにこの発明は、各タスクに課された処理完了時間に関する制約を満たしつつ、並列計算機全体の消費電力を節約する技術に関する。
携帯電話やノートパソコンを始めとする携帯情報機器は軽量であることが求められる。しかしながら、これらの機器では、長時間に亘り動作周波数の高いプロセッサを駆動するために大容量バッテリを内蔵することが多い。容量の大きいバッテリは重量もかさむため、携帯情報機器を軽量化する上で大きな問題となる。
バッテリの容量を小さくして軽量化する一方で、持続時間を延長するために、処理の種類や内容に応じてプロセッサの動作周波数を変更する技術が知られている。これは、プロセッサを低い動作周波数で動作させることによって、消費電力を節約することができるという原理に基づいている。
ところで携帯情報機器においても、マルチメディアデータ処理のように時間的制約を有する処理を行う要求があり、さらには組み込みシステムのように実時間処理が要求される場合が多い。このように処理時間に制約を有する処理を目的としながら動作周波数を適宜変更する省電力技術として、例えば日本国特開2002−99432(以下、特許文献1とする)が知られている。
この技術は、処理時間に制約のある各タスクの処理時間要求を満たすかどうかを判断しながらタスクのスケジューリングを行っていき、さらに全体のタスクの処理時間要求に余裕がある場合にはプロセッサの動作周波数や電源電圧を変更して省電力化するというものである。
また処理を高速化する技法としては、プロセッサを高い動作周波数で動作させることの他に、複数のプロセッサを組み合わせて並列処理する方法もよく用いられる。このようなマルチプロセッサシステムを構成する各プロセッサの動作周波数を制御することで省電力化を図る技術としては、例えば日本国特開2002−215599(以下、特許文献2とする)が知られている。
特許文献2における方法は、複数のプロセッサを用いて複数のタスクを処理する上において、一部のプロセッサが他のプロセッサよりも早く処理を完了する場合に、そのプロセッサの動作周波数や電源電圧を他のプロセッサの処理完了時間に応じて低く抑えることで、消費電力の低減を図るものである。
しかし、特許文献2における方法で基準となるのは他のプロセッサの処理完了時間であって、処理自体の時間的制約が基準となるものではない。ゆえに特許文献2に示される方法を処理に時間的制約を有するシステムに適用することはできない。
一方、特許文献1における方法は、単一のプロセッサから構成されたシステムを前提とするものであり、マルチプロセッサシステムに適用する場合は、最小処理単位であるタスク相互の間に依存関係が全くないか、依存関係による影響を無視することができる、という条件を満たさなければ適用することができないことが明らかである。
並列計算機の分野では、各プロセッサが協調して単一の問題(タスク)を解決する並列演算アルゴリズムが広く研究されてきている。しかしながら、特許文献1の方法、あるいは特許文献1の方法と特許文献2の方法とを組み合わせても、これらの研究成果を利用することができないのである。
この発明はこのような課題を解決するためになされたもので、消費電力の低減を図りつつ要求された処理時間内に単一のタスクを並列処理によって完了させる計算機を提供することを目的としている。
この発明に係る並列計算機は、タスクを複数の処理単位に分割して、分割された処理単位を並列に実行する並列計算機において、
上記タスクを個別プロセッサで実行可能な複数の処理単位に分割し、分割された処理単位を複数のサブタスクとして出力するタスク分割手段と、
上記タスク分割手段により分割されたサブタスクの属性情報を保持するサブタスク属性情報ファイルと、
消費電力量を外部から制御しうるように構成され、上記タスク分割手段により分割されたサブタスクを実行する複数のプロセッサと、
上記サブタスク属性情報ファイルが保持するサブタスクの属性情報に基づいて、上記タスク分割手段により分割されたサブタスクを上記複数のプロセッサに分配してそのサブタスクの実行を指示するとともに上記複数のプロセッサの消費電力量を制御するプロセッサ制御手段と、
を備えたものである。
なお上記において、サブタスクという概念には、タスクを構成する命令コード列の一部を分割してなる部分的命令コード列は含まれることはいうまでもないが、これにとどまるものではなく、タスクを構成する命令コード自体を分割するのではなく、タスクの処理対象であるデータを複数に分割することで処理単位を複数に分けたものであってもよい。
このように、この発明に係る並列計算機によれば、タスクから分割されたサブタスクの属性情報に基づいてサブタスクを複数のプロセッサに分配しながらそれぞれのプロセッサの消費電力量を制御することとしたので、タスクの実行時間の制約を満たしつつ、消費電力量の削減を達成することができる。
この発明の実施の形態1に係る並列計算機の構成を示すブロック図、 この発明の実施の形態1に係る並列計算機のプロセッサの特性を示す図、 この発明の実施の形態1に係る並列計算機のフローチャート、 この発明の実施の形態1に係る実行方式を選択する方法を説明するための図、 各種実行方式を選択する上で、考慮される境界値の関係を示した図、 プロセッサ数と消費電力との関係を示した図、である。
実施の形態1.
第1図は、この発明の実施の形態1による並列計算機の構成を示すブロック図である。図において、タスク入力端10は、この並列計算機に処理させるタスクを投入する入力端である。ここで、タスクとは中央演算装置(Central Processing Unit:以下、CPUと記する)内部における仕事の単位をいう。またここでいう仕事とは、計算機の命令コードを複数個組み合わせて構成される所定の処理の単位であって、計算機のオペレータやシステム管理者からみて分かりやすく、あるいは扱いやすくなるように、という観点から、タスクの大きさが定められることが多い。しかしどのような処理単位で1つのタスクを構成するようにしても、この発明の特徴が失われることはないのである。
また図においては、タスク入力端10を設けることによって、外部からタスクを入力するような構成を想定している。しかしながら、この計算機がオペレーティングシステムの制御の元に、自律的に外部の記憶装置に記憶されているタスクを取得するような構成としてもよい。このような構成を有する計算機システムはきわめてありふれているので、ここで改めて説明を要するものではない。
タスク分割手段11は、タスク入力端10から投入された単一のタスクを複数のサブタスクに分割する部位である。
サブタスク属性情報ファイル12は、各サブタスクについての付加情報を記憶するファイルであって、ランダムアクセスメモリ(Random Access Memory:RAM)や固定ディスク装置その他の記憶装置や記憶素子、あるいは記憶回路によって記憶されるデータである。なお、サブタスク属性情報ファイル12だけが物理的に単独で存在している必要はなく、例えばタスク入力端10から投入されるタスクのプログラム実行可能ファイル(命令コードと静的データとが記憶されているバイナリ形式のプログラムファイル)中に記憶するようにしておき、これをサブタスク属性情報ファイル12として扱うような構成を採用してもよいのである。
プロセッサ制御手段としての制御用プロセッサ13は、タスク分割手段11が分割したサブタスクを、サブタスク属性情報ファイル12を参照しながら、演算用プロセッサ14−1〜14−Nからなる複数のプロセッサに分配した上で、サブタスクが分配されたプロセッサにサブタスクの処理を指示する部位である。加えて、制御用プロセッサ13は、演算用プロセッサ14−1〜14−Nの消費電力を制御する特徴を有しており、タスクの実行時間の制約を満たしつつ消費電力の低減化を図るのである。
なお、サブタスクの構成としてはタスクの命令コード列を、より小さなステップ数からなる命令コード列に分割する構成と、タスクの処理対象となるデータを、より小さなサイズのデータに分割する構成とが考えられる。命令コード列を分割してサブタスクを構成する場合には、サブタスクを実行する、と表現すべきであり、データを分割してサブタスクを構成する場合にはサブタスクを処理する、と表現すべきであるが、ここでは表記を簡潔にするために、一律に「サブタスクを処理する」という表現を用いることとする。しかし「サブタスクを処理する」という表現には「サブタスクを実行する」という意味も含むものとする。
演算用プロセッサ14−1〜14−Nは、タスク分割手段11によって分割された各サブタスクを処理する演算装置又は回路である。さらに演算用プロセッサ14−1〜14−Nは外部から消費電力を制御できるようになっている。消費電力を制御する方法としては、演算用プロセッサ14−1〜14−N自体が直接的に消費電力を変更するようなインターフェースを備えており、このインターフェースを介して消費電力を変更する、というようになっていてもよいし、さらには、外部から入力されるクロック信号に基づいて各サブタスクの命令コードをデコードして実行するようになっている場合に、このクロック信号の変更を通じて消費電力を変更する、というものでも構わない。
第2図は、演算用プロセッサ14−1〜プロセッサ14−Nの特性の例を示した図である。図のように演算用プロセッサ14−1〜プロセッサ14−Nは”高速動作状態”、”標準動作状態”、”遊休状態”の少なくとも3つの動作状態を選べるようになっている。高速動作状態にある場合、演算用プロセッサ14−1〜プロセッサ14−Nは、380MHzの動作周波数によって、1.8Vの電圧で動作し、0.5Wの消費電力を消費する。また、標準動作状態においては、演算用プロセッサ14−1〜プロセッサ14−Nは、152MHzの動作周波数と1.0Vの電圧で動作し、その消費電力は0.053Wとなっている。さらには、遊休状態で動作する場合、動作周波数は33MHzであり、電圧は1.0V、消費電力は0,0115Wとなっている。
この図に示される特性からも分かるように、電子回路では一般に、動作周波数を高くするにつれて、単位時間あたりの消費電力が高くなることが知られている。消費電力Pと動作周波数F、および電源電圧Vとの関係は、リーク電力を無視した場合、式(1)によって与えられる。ここで、tは信号遷移率であり、Cは静電容量である。
P=t・C・F・V (1)
なお、演算用プロセッサ14−1〜14−Nは、例示として”高速動作状態”、”標準動作状態”、”遊休状態”からなる3つの動作状態を推移するな構成を有しているが、この発明において使用することのできるプロセッサはこのような例に限定されるものではない。
計算機が置かれる環境の気温によってクロックの速度は変動しうるので、実用的な市販プロセッサは外部クロックの変動に対するマージンを有している。このような市販プロセッサは外部クロックを高速にするとその分速く動作するようになり、低速にするとその分遅く動作するようになる。そこで、上述の例に示したようなプロセッサとは異なり、積極的に複数の動作状態をサポートしていない市販プロセッサを用いた場合であっても、外部クロック変動に対するマージンを積極的に利用することで、この発明の特徴を利用することが可能となるのである。最近では、消費電力を低減することができるプロセッサはモバイル用途で広く使用されており、技術的にも公知となっているので、ここではこれ以上詳細には触れないこととする。
なお演算用プロセッサ14−1〜14−Nは、それぞれが例えば独立したLSI部品であると限定的に解釈してはならない。例えばベクトルプロセッサは単体の演算装置でありながら、複数の演算を並列実行することができる。第1図に示した計算機の構成はこのようなものも含むのである。また制御用プロセッサ13と演算用プロセッサ14−1〜14−Nとを、パソコンやワークステーションのような完成されたコンピュータで置き換えることも可能なことはいうまでもない。すなわち、この発明は複数のコンピュータを組み合わせた並列演算システムにも適用可能である。
なお、タスク分割手段11は独立した制御回路又は制御装置として構成してもよいし、制御用プロセッサ13によって実行されるコンピュータプログラムとして構成するようにしても構わない。
また、制御用プロセッサ13を一般的なプロセッサアーキテクチャにおけるフェッチ回路及びデコーダとみなし、タスクとサブタスクとを、そのプロセッサにおける機械語レベルの命令コードとマイクロコードとみなせば、第1図に示したシステム全体が単一のプロセッサを表すものとみなすこともできる。この場合、ベクトル演算による配列処理をタスクとみなし、配列の各要素の処理を複数のサブタスクとみなすこととなる。さらにタスク分解手段11に相当するのはベクトル化コンパイラと呼ばれるベクトル演算命令を生成する最適化処理に対応したコンパイラ(言語処理プロセッサ)と、ベクトル演算命令をマイクロコードにデコードするデコーダとなるであろう。このようなコンパイラ技術はすでに公知である。またこのようなプロセッサアーキテクチャのレベルで定まる処理単位ではなく、プロセスとスレッドの関係をタスクとサブタスクの関係に対応させて考えてもよい。この場合は、システムの設計に基づいてタスクとサブタスクとの関係が柔軟に定義される。このように、第1図の構成はさまざまなレベルで適用することができるのである。
続いて、この発明の実施の形態1による並列計算機の動作について説明する。第3図は、この並列計算機の動作を示すフローチャートである。タスク入力端10から、実行すべきタスクが投入されると、タスク分割手段11はタスクをサブタスクに分割する(ステップS101)。続いて制御用プロセッサ13は、タスクの処理制限時間Tを取得する(ステップS102)。処理制限時間Tはシステムによって予め定められる値である。
例えばプロセスとスレッドの場合は、利用者あるいはシステムの目的からTが決定される。システムが一定時間(サンプリング時間)ごとに発生する入力信号(例えば何らかの観測値など)の信号処理を行うことを目的としているのであれば、これら信号を取得する周期であるサンプリング時間が処理制限時間Tに該当するであろう。
また、外部仕様からは処理制限時間が定まらずに、並列計算機の構成から処理制限時間Tが決定される場合もある。例えば、外部クロックで1クロック内にほとんどの命令を完了するようなプロセッサを構成する場合、1外部クロックに相当する長さの時間が処理制限時間Tになる。
続いて、制御用プロセッサ13は、演算用プロセッサ14−1〜14−Nを高速動作状態に設定した場合のタスクの処理時間tminを算出する(ステップST103)。この処理を実現するためには、各サブタスクの処理完了見込み時間が予め分かっていることが要求される。そこで、例えば演算用プロセッサ14−1〜14−Nのいずれかのプロセッサによる各サブタスクの高速動作状態と標準状態における処理時間を予め計測しておき、サブタスク属性情報ファイルに記憶させておく。そして制御用プロセッサ13は、サブタスクの種類に応じてそのサブタスクの処理時間を取得し、タスクの処理時間tminを算出するのである。
なお、サブタスクの処理時間を高速動作状態と標準動作状態のいずれか一方のみについてのみ測定しておき、測定した処理時間の動作状態の動作周波数と他方の動作状態の動作周波数との比率を乗じて、他方の処理時間を概算するようにしても構わない。
この結果、tminが処理制限時間Tを下回る場合(ステップST104:Yes)は演算用プロセッサ14−1〜14−Nの並列処理能力が、処理すべきサブタスクの処理量を上回ることを意味しており、処理能力に余裕があるのでステップST105以降の消費電力節約処理に移行する。
一方、tminが処理制限時間Tを下回ることがない場合は、消費電力節約よりも処理の高速化に重点を置く必要があるので、演算用プロセッサ14−1〜14−Nを高速動作状態に設定する(ステップST106:実行方式1)。そしてステップST111に進む。なおステップST111以降の処理については後述する。
ステップST105において、制御用プロセッサ13は、演算用プロセッサ14−1〜14−Nのいずれか一つを標準動作状態に設定し、標準動作状態に設定したプロセッサのみですべてのサブタスクを実行した場合のタスクの処理時間tstdを算出する。この場合もステップST103におけるtminの算出と同じようにサブタスクの処理時間に基づいてtstdが算出される。そしてこのtstdがTを上回る場合(ST107:Yes)は、演算用プロセッサ14−1〜14−Nのいずれか一つのプロセッサのみによる処理では処理制限時間T以内にタスクを完了させるという要求を満たすことができないので、ステップST109以降の複数のプロセッサを用いた並列処理に進む。
一方、tstdがTを上回ることがない場合、1つのプロセッサのみでも処理制限時間T以内にタスクを完了させるという要求を満たしうるので、演算用プロセッサ14−1〜14−Nのうちのいずれか一つのプロセッサ、例えば演算用プロセッサ14−1を標準動作状態に設定する(ステップST108)。加えて、演算用プロセッサ14−1を除いた他のプロセッサ、すなわち演算用プロセッサ14−2〜14−Nを遊休状態に設定する。
こうすることにより、所定の処理制限時間以内にタスクの処理を完了させるという実時間処理に対する要求を満足させながら、消費電力の削減をも同時に達成できるのである。
一方、tstdがTを上回る場合、サブタスクの性質と各演算用プロセッサの性質(動作周波数、消費電力)に基づいて、次のいずれかの処理方式(実行方式3と実行方式4)を選択し、その処理方式に基づいてサブタスク処理に用いる演算用プロセッサの個数nと動作周波数を算出する。(ステップST109)。
実行方式3
演算用プロセッサ14−1〜14−Nのうちの一つの演算用プロセッサを選択し、選択した演算用プロセッサの動作周波数を高速動作状態の動作周波数βに設定して、この演算用プロセッサによりすべてのサブタスクを実行する。選択された演算用プロセッサ以外の演算用プロセッサは遊休状態に設定される。
実行方式4
演算用プロセッサ14−1〜14−Nのうちのn個の演算用プロセッサを選択し、選択した演算用プロセッサの動作周波数を標準動作状態の動作周波数αとして、選択されたn個(2≦n≦N)の演算用プロセッサにより実行する。選択されたn個の演算用プロセッサ以外の演算用プロセッサは遊休状態に設定される。
実行方式5
演算用プロセッサ14−1〜14−Nのうちのm個(m<n)の演算用プロセッサを選択し、選択したプロセッサの動作周波数を高速動作状態の動作周波数βとして、選択したm個(2≦m<n≦N)のプロセッサにより実行する。選択されたm個のプロセッサ以外は遊休状態に設定する。
次に実行方式3、実行方式4、実行方式5のいずれかの実行方式を選択する方法について説明する。
第4図は、処理制約時間(T)内の実行方式3と実行方式4のタイムチャート例を示したものである。両者の違いは太線枠内部分であるため、この部分に関しての消費電力量を比較すれば良い。第4図の場合では、処理制約時間(T)は、実行方式3より実行方式4の処理時間の方が大きいため、式(2)のように示すことができる。ここで、Tc(=TS+TR)は1回の通信処理に要する時間であり、送信処理時間TSと受信処理時間TRを加えたものである。また、Tαは、1つの処理データを1つのプロセッサで動作周波数αで処理した場合の実行時間である。また、nはプロセッサ数を示す。
T=(n−1)・TC +Tα/n (2)
この場合の実行方式3による消費電力量C2[W・s]を示したものが式(3)である。ここで、式(3)の第1項は動作周波数βでデータ処理を行うのに要する消費電力量であり、残りの第2項は、遊休状態であるプロセッサ(第4図:演算用プロセッサ14−1〜演算用プロセッサ14−N)とデータ処理が終わり遊休状態となった期間のプロセッサ(第4図:演算用プロセッサ14−1)の消費電力量を示したものである。また、k=α/βである。
C2=Pβ・k・Tα + k・Pγ・Tα・(n−1)
+ n・Pγ・[Tα・(1/n−k)+(n−1)・Tc]
=Pβ・k・Tα + Pγ・[(1−k)・Tα + n・(n−1)・Tc](3)
同様に、この場合の実行方式4による消費電力量C3[W・s]を示したものが式(4)である。ここで、式(4)の第1項は通信処理に要する消費電力量と全部の遊休状態の消費電力量とを加えたものであり、第2項はデータ処理に要する消費電力量を示したものである。
C3=(n−1)・Pα・Tc + (1/n)・Pα・Tα
+(n−1)・[Pα・Tc +(1/n)・Pα・Tα+(n−2)・Pγ・Tc]
=(n−1)・[2・Pα + (n−2)・Pγ]・Tc + Pα・Tα (4)
ここでC2=C3とすると、式(3)と式(4)から式(5)を導出することができる。C2=C3を満たす場合とは、これら2つの実行方式による消費電力が等しい場合であり、C2=C3を満たす各パラメータの値が境界値となって、この境界値以外のパラメータ値をとる場合に、これらの実行方式のいずれか一方が有利となるのである。ここで、ρはデータ処理に対する通信処理の処理時間の比率(Tc/Tα)を表すものとする。
ρ={k・Pβ−Pα + Pγ・(1−k)}/{2・(n−1)(Pα−Pγ)} (5)
この式(5)に基づいて求めたρと、実行方式2により選定した省電力実行のためのρ3とを比較すれば実行方式3と4の優劣が判定でき、ρ<ρ3であれば実行方式3を、ρ>ρ3であれば実行方式4を適用すればよいことが分かる。なお、ここまでの議論は、第4図に基づいて実行方式3よりも実行方式4の処理時間の方が大きい場合に関するものであるが、逆の場合でも、式(3)と式(4)は異なるものになるが、同じ式(5)が導出される。但し、n=2,3の場合は、送信処理時間Tsと受信処理時間TRの大小関係によっては、例えば、第4図で示した実行方式4の演算用プロセッサ14−1にも遊休状態におかれてしまう場合がある。しかし、Ts=TRと仮定すれば、n=2,3の場合でもρは式(5)によって与えられる。
第5図は、式(5)の右辺における各パラメータに、第2図の各値を与えた場合の演算用プロセッサの個数(n≧2)に対するρの値である。実行方式3と4、そして1と4の優劣は、対象とするタスクを解析し、実行方式4での省電力量のための最適なプロセッサ数とその場合のρの値が求まれば、第5図より判定できる。
また、第6図は実行方式3が選定/実行された場合の実行方式4に対する消費電力量の比率(E3/E4)を、適当なρ(≦0.05)に関して示したものである。なお、ρ≦0.05であればプロセッサ数が2〜20の範囲内では常に並列処理による効果が得られる。この結果(第6図)より、ρの値が一定の場合、プロセッサ数が多いほどこの比率は小さくなるが、逆にρが小さくなればこの比率は大きくなることが確認できる。したがって、演算用プロセッサの個数が増えるにつれρが小さくなるとすると、その状態の間はこの比率の下げ率はより小さくなることになる。
このように通信処理と処理時間の比率、そして演算用プロセッサの動作周波数と消費電力に基づいて第5図のようなプロセッサ数とρの関係を予め求めておき、これを例えばサブタスク属性情報ファイル12のような記憶領域に記憶させておく。そしてステップS109において、制御用プロセッサ13において式(5)の関係から実行方式3及び実行方式4のいずれかの実行方式を選択するのである。
なお、上記の例では、サブタスク間の依存関係として、サブタスクを演算用プロセッサ14−1〜14−Nに分配するための通信処理の例を説明したが、その他の依存関係に拡張して式(3)〜式(5)に相当する関係を導き出すことは容易である。
また、実行方式3と5の選定に関しては、両方式とも同じ動作周波数であるため、両方式とも制限時間内に完了するのであれば、実行方式3が選定されることになる。使用するプロセッサ数が少ない方が省電力実行できるためである。
さらに、実行方式4と5の選定に関しては、実行方式4の方が実行方式5より処理時間を要するとした場合、実行方式5の消費電力量C5は、次のようになる。
C5=(m−1)・[2・Pβ+(m−2)・Pγ]・k・Tc+Pβ・Tβ
+Pγ・{Tc・[n・(n−1)−k・m・(m−1)]+Tα・(1−k)}(6)
ここで、式(6)の第1項と第2項は、処理を割り付けられたプロセッサの消費電力量であり、第3項と第4項は、遊休状態のプロセッサと、処理を割り付けられたが処理が完了して待ち状態であるため、遊休状態となっているプロセッサの消費電力量を示したものである。
したがって、実行方式4と実行方式5の消費電力量の差C5−C3は、
C5−C3=Tc・{2・k・(m−1)(Pβ−Pγ)−2・(n−1)・(Pα−Pγ)}
+Tα・{k・(Pβ−Pγ)−(Pα−Pγ)} (7)
となる。この式(7)を用いて、実行方式4と実行方式5との優劣を判定すればよい。なお、実行方式5の方が実行方式4よりも処理時間を要するとした場合も、式(6)は異なるが同じ式(7)が導出されることになる。
最後に制御用プロセッサ13は、ステップS109において決定した実行方式に基づいて演算用プロセッサ14−1〜14−Nにサブタスクを分配し、サブタスクの実行を指示する(ステップST110)。
このように、この発明の実施の形態1の並列計算機によれば、タスクをサブタスクに分割し、サブタスクの依存関係に基づいて実行方式1〜実行方式4のいずれかの実行方式を選択してタスクを並列実行することとしたので、タスクの処理制約時間を満たしつつ複数のプロセッサにおける消費電力の総計を低減することができるのである。
なお上述の説明において、制御用プロセッサ13はサブタスクの分配を行う専用のプロセッサであるとしたが、制御用プロセッサ13は演算用プロセッサ14−1〜14−Nに比べて負荷が低い場合もあるので、演算用プロセッサ14−1〜14−Nの機能を兼用させるように構成してもよい。
この発明は、複数の計算機をクラスタ構成とした並列計算機システム若しくは複数の演算命令処理部を有する並列処理プロセッサなど、並列演算を目的とする計算機処理システムに広く適用することが可能である。

Claims (2)

  1. タスクを複数のサブタスクに分割して、分割されたサブタスクを実行する並列計算機において、
    上記タスクをプロセッサで実行可能な複数のサブタスクに分割するタスク分割手段と、
    上記プロセッサの動作周波数に基づくサブタスクの処理時間に関する情報を保持するサブタスク情報ファイルと、
    上記タスク分割手段により分割されたサブタスクを実行する複数のプロセッサと、
    上記プロセッサの動作周波数に基づくサブタスクの処理時間に関する情報と、予め定められる上記タスクの処理制限時間と、上記複数のプロセッサ間の通信処理に要する時間に関する情報と、上記プロセッサの動作周波数に基づく消費電力量に関する情報とに基づいて、プロセッサの数と動作周波数とを選択し、上記タスク分割手段により分割されたサブタスクをプロセッサに分配するプロセッサ制御手段と、
    を備え、
    上記プロセッサ制御手段は、上記サブタスク情報ファイルからプロセッサの動作周波数に基づくサブタスクの処理時間に関する情報を取得して、標準動作状態よりも高速に動作する高速動作状態にした全てのプロセッサで全てのサブタスクを処理した場合のタスク処理時間を算出し、そのタスク処理時間がタスクの処理制限時間よりも長い場合には、上記全てのプロセッサに上記全てのサブタスクを分配する
    ことを特徴とする並列計算機。
  2. タスクを複数のサブタスクに分割して、分割されたサブタスクを実行する並列計算機において、
    上記タスクをプロセッサで実行可能な複数のサブタスクに分割するタスク分割手段と、
    上記プロセッサの動作周波数に基づくサブタスクの処理時間に関する情報を保持するサブタスク情報ファイルと、
    上記タスク分割手段により分割されたサブタスクを実行する複数のプロセッサと、
    上記プロセッサの動作周波数に基づくサブタスクの処理時間に関する情報と、予め定められる上記タスクの処理制限時間と、上記複数のプロセッサ間の通信処理に要する時間に関する情報と、上記プロセッサの動作周波数に基づく消費電力量に関する情報とに基づいて、プロセッサの数と動作周波数とを選択し、上記タスク分割手段により分割されたサブタスクをプロセッサに分配するプロセッサ制御手段と、
    を備え、
    上記プロセッサ制御手段は、上記サブタスク情報ファイルからプロセッサの動作周波数に基づくサブタスクの処理時間に関する情報を取得して、標準動作状態よりも高速に動作する高速動作状態にした全てのプロセッサで全てのサブタスクを処理した場合のタスク処理時間を算出し、そのタスク処理時間がタスクの処理制限時間よりも短く、標準状態にした1つのプロセッサで全てのサブタスクを処理した場合のタスク処理時間を算出し、そのタスク処理時間がタスクの処理制限時間よりも長い場合には、上記プロセッサの動作周波数に基づくサブタスクの処理時間に関する情報と、プロセッサの動作周波数に基づく消費電力量に関する情報と、複数のプロセッサ間の通信処理に要する時間に関する情報とに基づき消費電力量を計算して、消費電力量を抑えるようにプロセッサの数と動作周波数とを選択し、上記サブタスクをプロセッサに分配する
    ことを特徴とする並列計算機。
JP2006527723A 2004-07-26 2004-07-26 並列計算機 Expired - Fee Related JP4082439B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/010610 WO2006011189A1 (ja) 2004-07-26 2004-07-26 並列計算機

Publications (2)

Publication Number Publication Date
JP4082439B2 true JP4082439B2 (ja) 2008-04-30
JPWO2006011189A1 JPWO2006011189A1 (ja) 2008-05-01

Family

ID=35785948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006527723A Expired - Fee Related JP4082439B2 (ja) 2004-07-26 2004-07-26 並列計算機

Country Status (2)

Country Link
JP (1) JP4082439B2 (ja)
WO (1) WO2006011189A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101385000A (zh) * 2006-02-17 2009-03-11 高通股份有限公司 用于多处理器应用程序支持的***及方法
JP4789777B2 (ja) 2006-11-07 2011-10-12 株式会社ソニー・コンピュータエンタテインメント タスクの分配方法および情報処理装置
US7941681B2 (en) * 2007-08-17 2011-05-10 International Business Machines Corporation Proactive power management in a parallel computer
US8479215B2 (en) * 2009-08-18 2013-07-02 International Business Machines Corporation Decentralized load distribution to reduce power and/or cooling costs in an event-driven system
US8276004B2 (en) * 2009-12-22 2012-09-25 Intel Corporation Systems and methods for energy efficient load balancing at server clusters
JP6126386B2 (ja) * 2013-01-22 2017-05-10 キヤノン株式会社 情報処理装置
CN112882819B (zh) * 2019-11-29 2022-03-08 上海商汤智能科技有限公司 芯片工作频率的设置方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185589A (ja) * 1996-01-05 1997-07-15 Toshiba Corp 情報処理システムと情報処理システムの省電力方法
JPH09218861A (ja) * 1996-02-08 1997-08-19 Fuji Xerox Co Ltd スケジューラ
US6141762A (en) * 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
EP1330699B1 (en) * 2000-10-31 2010-12-22 Millennial Net, Inc Networked processing system with optimized power efficiency

Also Published As

Publication number Publication date
WO2006011189A1 (ja) 2006-02-02
JPWO2006011189A1 (ja) 2008-05-01

Similar Documents

Publication Publication Date Title
US11243806B2 (en) System on chip including a multi-core processor and task scheduling method thereof
CN100504790C (zh) 用于使用处理任务调度实现热量管理的方法和设备
Shmueli et al. Backfilling with lookahead to optimize the packing of parallel jobs
Bicer et al. Time and cost sensitive data-intensive computing on hybrid clouds
US9619240B2 (en) Core-level dynamic voltage and frequency scaling in a chip multiprocessor
US8381004B2 (en) Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
JP6169547B2 (ja) チップ上のマルチコアシステムの全域チップ電力を管理する方法およびその装置
JP4909588B2 (ja) 情報処理装置及び再構成デバイスの利用方法
KR101529802B1 (ko) 효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치
KR100681199B1 (ko) 코어스 그레인 어레이에서의 인터럽트 처리 방법 및 장치
TWI503742B (zh) 多核心處理器系統及其排程方法
US20110161637A1 (en) Apparatus and method for parallel processing
US20100138837A1 (en) Energy based time scheduler for parallel computing system
US9740266B2 (en) Apparatus and method for controlling multi-core of electronic device
US9329666B2 (en) Power throttling queue
US20210109795A1 (en) Latency-Aware Thread Scheduling
EP3149594B1 (en) Method and apparatus for cache access mode selection
JP4082439B2 (ja) 並列計算機
Alsafrjalani et al. Tasat: Thermal-aware scheduling and tuning algorithm for heterogeneous and configurable embedded systems
Choi et al. {EnvPipe}: Performance-preserving {DNN} training framework for saving energy
JP2010277171A (ja) タスク割当装置、および、タスク割当方法
CN114780481A (zh) 用于深度学习的可重构处理单元
JP2007172322A (ja) 分散処理型マルチプロセッサシステム、制御方法、マルチプロセッサ割り込み制御装置及びプログラム
JP2007213265A (ja) 動作合成装置および動作合成方法、ディジタル回路の製造方法、動作合成制御プログラム、可読記録媒体
US8555097B2 (en) Reconfigurable processor with pointers to configuration information and entry in NOP register at respective cycle to deactivate configuration memory for reduced power consumption

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080204

R151 Written notification of patent or utility model registration

Ref document number: 4082439

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees