(57)【特許請求の範囲】
【請求項１】
データ処理を行う複数の処理ノード、及び前記処理ノードで行われるデータ処理の管理を行う管理ノードを備えた分散処理システムであって、
前記処理ノードは、
当該処理ノードの識別情報を含む識別信号を前記管理ノードに送信する識別信号送信手段と、
前記管理ノードから前記識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、当該処理ノードを前記省電力モードへ移行させる電源管理手段と、
データ処理に用いられるデータを記憶するデータ記憶手段と、
前記管理ノードから返信された前記返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、前記データ処理実行指示に基づいて、前記データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行手段と、を備え、
前記管理ノードは、
前記データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する前記処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段と、
前記識別信号に含まれる識別情報に対応するデータ情報を前記データ情報記憶手段から取得するデータ情報取得手段と、
前記取得されたデータ情報に基づいて、前記識別信号を送信した前記処理ノードのデータ記憶手段が、実行すべきデータ処理に用いられるデータを記憶しているか否かを判断する判断手段と、
前記判断手段によって、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していると判断された場合には、前記返信信号に前記データ処理実行指示を付加し、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していないと判断された場合には、前記返信信号に前記省電力移行指示を付加する返信信号生成手段と、
前記返信信号生成手段で生成された返信信号を、前記識別信号を送信した処理ノードへ返信する返信信号送信手段と、を備える、
ことを特徴とする分散処理システム。
【請求項２】
前記識別信号を送信した前記処理ノードが前記省電力モードを維持すべき時間を示すスリープ時間を算出するスリープ時間算出手段を、更に備え、
前記返信信号生成手段は、前記判断手段によって実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していないと判断された場合、前記スリープ時間算出手段で算出された前記スリープ時間を前記返信信号に更に付加し、
前記電源管理手段は、前記返信信号に含まれる前記スリープ時間に基づいて前記処理ノードを前記省電力モードへ移行させる、
ことを特徴とする請求項１に記載の分散処理システム。
【請求項３】
前記識別信号送信手段から前記識別信号が送信されたときに実行すべきデータ処理がない場合、前記返信信号生成手段は、前記返信信号に前記省電力移行指示及び前記スリープ時間を付加することを特徴とする請求項２に記載の分散処理システム。
【請求項４】
前記スリープ時間は、前記複数の処理ノードが前記省電力モードから異なるタイミングで復帰するように設定されていることを特徴とする請求項２又は３に記載の分散処理システム。
【請求項５】
前記識別信号として、前記処理ノードがデータ処理可能であるか否かを示すハートビート信号を用いることを特徴とする請求項１〜４のいずれか一項に記載の分散処理システム。
【請求項６】
データ処理を行う複数の処理ノード、及び前記処理ノードで行われるデータ処理の管理を行う管理ノードを備え、前記処理ノードは、当該処理ノードに備えられたデータ記憶手段に記憶されたデータを用いてデータ処理を行い、前記管理ノードは、前記データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する前記処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段を備えた分散処理システムで実行される分散処理方法であって、
前記処理ノードが、当該処理ノードの識別情報を含む識別信号を前記管理ノードに送信する識別信号送信ステップと、
前記管理ノードから前記識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、前記処理ノードが、当該処理ノードを前記省電力モードへ移行させる電源管理ステップと、
前記管理ノードから返信された前記返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、前記処理ノードが、前記データ処理実行指示に基づいて、前記データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行ステップと、
前記管理ノードが、前記識別信号に含まれる識別情報に対応するデータ情報を前記データ情報記憶手段から取得するデータ情報取得ステップと、
前記取得されたデータ情報に基づいて、前記管理ノードが、前記識別信号を送信した前記処理ノードのデータ記憶手段に、実行すべきデータ処理に用いられるデータが記憶されているか否かを判断する判断ステップと、
前記判断ステップにおいて、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していると判断された場合には、前記管理ノードが、前記返信信号に前記データ処理実行指示を付加し、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していないと判断された場合には、前記管理ノードが、前記返信信号に前記省電力移行指示を付加する返信信号生成ステップと、
前記管理ノードが、前記返信信号生成ステップで生成された返信信号を、前記識別信号を送信した処理ノードへ返信する返信信号送信ステップと、
を含むことを特徴とする分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理ノードを用いて分散して処理を行う分散処理システム及び分散処理方法に関する。
【背景技術】
【０００２】
従来、複数の処理ノードに処理対象となるデータを分散して配置し、処理ノードを管理する管理ノードがデータの配置等を考慮して処理するタスクを処理ノードに指示し、この指示に基づいて処理ノードがタスクを実行することで、大規模データを効率的に処理する分散処理システムがある。このような分散処理システムとして、例えば、非特許文献１に記載された技術を用いたものがある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】http://hadoop.apache.org/
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の分散処理システムは、使用できる計算資源を最大限利用できるようにするため、処理ノードの電力使用量は制御されておらず消費電力が常に多くなり、分散処理システムの消費電力を抑えることが困難であるといった問題があった。
【０００５】
そこで本発明は、処理ノードの消費電力を抑えることができる分散処理システム及び分散処理システム方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る分散処理システムは、データ処理を行う複数の処理ノード、及び処理ノードで行われるデータ処理の管理を行う管理ノードを備えた分散処理システムであって、処理ノードは、当該処理ノードの識別情報を含む識別信号を管理ノードに送信する識別信号送信手段と、管理ノードから識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、当該処理ノードを省電力モードへ移行させる電源管理手段と、データ処理に用いられるデータを記憶するデータ記憶手段と、管理ノードから返信された返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、データ処理実行指示に基づいて、データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行手段と、を備え、管理ノードは、データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段と、識別信号に含まれる識別情報に対応するデータ情報をデータ情報記憶手段から取得するデータ情報取得手段と、取得されたデータ情報に基づいて、識別信号を送信した処理ノードのデータ記憶手段が、実行すべきデータ処理に用いられるデータを記憶しているか否かを判断する判断手段と、判断手段によって、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していると判断された場合には、返信信号にデータ処理実行指示を付加し、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していないと判断された場合には、返信信号に省電力移行指示を付加する返信信号生成手段と、返信信号生成手段で生成された返信信号を、識別信号を送信した処理ノードへ返信する返信信号送信手段と、を備える、ことを特徴とする。
【０００７】
また、本発明に係る分散処理方法は、データ処理を行う複数の処理ノード、及び処理ノードで行われるデータ処理の管理を行う管理ノードを備え、処理ノードは、当該処理ノードに備えられたデータ記憶手段に記憶されたデータを用いてデータ処理を行い、管理ノードは、データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段を備えた分散処理システムで実行される分散処理方法であって、処理ノードが、当該処理ノードの識別情報を含む識別信号を管理ノードに送信する識別信号送信ステップと、管理ノードから識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、処理ノードが、当該処理ノードを省電力モードへ移行させる電源管理ステップと、管理ノードから返信された返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、処理ノードが、データ処理実行指示に基づいて、データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行ステップと、管理ノードが、識別信号に含まれる識別情報に対応するデータ情報をデータ情報記憶手段から取得するデータ情報取得ステップと、取得されたデータ情報に基づいて、管理ノードが、識別信号を送信した処理ノードのデータ記憶手段に、実行すべきデータ処理に用いられるデータが記憶されているか否かを判断する判断ステップと、判断ステップにおいて、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していると判断された場合には、管理ノードが、返信信号にデータ処理実行指示を付加し、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していないと判断された場合には、管理ノードが、返信信号に省電力移行指示を付加する返信信号生成ステップと、管理ノードが、返信信号生成ステップで生成された返信信号を、識別信号を送信した処理ノードへ返信する返信信号送信ステップと、を含むことを特徴とする。
【０００８】
これらの発明では、管理ノードから返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合には、処理ノードが省電力モードに移行し、返信信号にデータ処理の実行を指示するデータ処理実行指示が含まれている場合には、データ処理実行指示に基づいて、処理ノードでデータ処理が行われる。また、管理ノードは、実行すべきデータ処理に用いられるデータを処理ノードのデータ記憶手段が記憶していると判断した場合には、返信信号にデータ処理実行指示を付加し、実行すべきデータ処理に用いるデータをデータ記憶手段が記憶していないと判断した場合には、返信信号に省電力移行指示を付加し、データ処理実行指示或いは省電力移行指示が付加された返信信号を、識別信号を送信した処理ノードへ返信する。このように、処理ノードが、実行すべきデータ処理で用いられるデータを記憶しているか否かに応じて、省電力モードへの移行を制御することができるため、省電力モードへの移行を適切に行うことが可能となり、処理ノードの消費電力を抑えることができる。
【０００９】
また、識別信号を送信した処理ノードが省電力モードを維持すべき時間を示すスリープ時間を算出するスリープ時間算出手段を、更に備え、返信信号生成手段は、判断手段によって実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していないと判断された場合、スリープ時間算出手段で算出されたスリープ時間を返信信号に更に付加し、電源管理手段は、返信信号に含まれるスリープ時間に基づいて処理ノードを省電力モードへ移行させる、ことが好ましい。この場合には、スリープ時間算出手段で算出されたスリープ時間の間、処理ノードが省電力モードへ移行するため、処理ノードの消費電力をより抑えることができる。
【００１０】
また、識別信号送信手段から識別信号が送信されたときに実行すべきデータ処理がない場合、返信信号生成手段は、返信信号に省電力移行指示及びスリープ時間を付加することが好ましい。このように、実行すべきデータ処理が無い場合には、スリープ時間の間、処理ノードが省電力モードへ移行するため、処理ノードの消費電力を、より好適に抑えることができる。
【００１１】
また、スリープ時間は、複数の処理ノードが省電力モードから異なるタイミングで復帰するように設定されていることが好ましい。この場合には、多数の処理ノードが省電力モードから同時に復帰することが抑制される。即ち、多数の処理ノードが省電力モードから同時に復帰した際の突入電力やピーク電力等を抑えることができる。従って、分散処理システムの好適な作動を実現することができる。
【００１２】
また、識別信号として、処理ノードがデータ処理可能であるか否かを示すハートビート信号を用いることが好ましい。この場合には、ハートビート信号を識別信号として用いることが可能となり、識別信号を送信する機能を容易に実現することができる。
【発明の効果】
【００１３】
本発明によれば、処理ノードの消費電力を抑えることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る分散処理システムの全体構成図である。
【図２】処理ノードで実行される処理の流れを示すフローチャートである。
【図３】管理ノードで実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
添付図面を参照しながら本発明に係る分散処理システム及び分散処理方法の実施形態を説明する。
【００１６】
［分散処理システムの全体構成］
図１は、分散処理システムの全体構成を示す図である。図１に示すように、分散処理システム１は、処理ノード１０と、管理ノード２０とを含んで構成される。なお、図１では、便宜上、処理ノード１０を３台のみ図示したが、実際には、３台に限定されることなく、１台以上の処理ノード１０が備えられていればよい。また、処理ノード１０と管理ノード２０とは、それぞれ別体の装置であってもよく、或いは、処理ノード１０のうちの１台と管理ノード２０とが一体の装置として構成されていてもよい。
【００１７】
処理ノード１０は、それぞれ、分散処理システム１で処理するタスク（データ処理）を実行するものであり、管理ノード２０は、各処理ノード１０において実行されるタスクを管理するものである。
【００１８】
まず、処理ノード１０の詳細について説明する。なお、図１に示す各処理ノード１０はそれぞれ同じ構成であり、図１中、最も左側の処理ノード１０を用いて構成の詳細を説明する。処理ノード１０は、ハートビート送信部（識別信号送信手段）１１と、電源管理部（電源管理手段）１２と、タスク実行部（処理実行手段）１３と、データ記憶部（データ記憶手段）１４とを含んで構成される。
【００１９】
ハートビート送信部１１は、処理ノード１０がタスクの処理が可能であることを示すハートビート信号（識別信号）を、管理ノード２０に送信する。このハートビート信号には、自身（処理ノード１０）の識別情報（例えば、ＩＰアドレス等）が含まれている。また、ハートビート信号は、管理ノード２０に対して所定の周期（例えば、１０分間隔等）で送信される。
【００２０】
また、ハートビート送信部１１は、送信したハートビート信号に対して管理ノード２０から返信されたリクエスト信号（返信信号）を受信する。このリクエスト信号には、省電力状態（省電力モード）への移行を指示する省電力移行指示、及び、自身（処理ノード１０）が省電力状態を維持すべき時間を示すスリープ時間が含まれている。或いは、リクエスト信号には、タスクの実行を指示するタスク実行指示（データ処理実行指示）が含まれている。このリクエスト信号の詳細について、詳しくは後述する。
【００２１】
また、ハートビート送信部１１は、リクエスト信号を参照し、省電力移行指示が含まれている場合には、電源管理部１２に対して省電力状態への移行を指示する。一方、タスク実行指示が含まれている場合には、タスク実行部１３に対してタスクの実行を指示すると共に、電源管理部１２に対して省電力状態から通常状態への起動指示を行う。
【００２２】
電源管理部１２は、ハートビート送信部１１からの省電力移行指示に基づいて、自ノード（処理ノード１０）を省電力状態に移行させる。また、電源管理部１２は、予め定められたスリープ時間が経過すると、省電力状態から通常状態（省電力状態ではなく、タスクの実行処理が可能な状態）へ移行し、ハートビート送信部１１を通じてハートビート信号を管理ノード２０へ送信する。ここで、省電力状態とは、機能的には、省電力状態の時間と省電力状態から復帰する時刻の管理のみが実行されている状態とする。また、省電力状態とは、ハードウェア的には、例えば、スリープ状態等があり、ＣＰＵのクロック動作が停止し、メモリのみが作動（通電）している状態がある。このように、処理ノード１０が省電力状態になると、処理ノード１０内での消費電力が少なくなる。
【００２３】
タスク実行部１３は、ハートビート送信部１１からのタスク実行指示に基づいて、データ記憶部１４に記憶されたデータを用いてタスクを実行する。タスクの実行結果は、ハートビート送信部１１に送られ、ハートビート送信部１１から管理ノード２０へ送信される。
【００２４】
データ記憶部１４は、分散処理システム１において実行するタスクのうち、当該処理ノード１０が受け持つタスクを実行する際に必要なデータを記憶するものである。このように、各処理ノード１０には、それぞれ自身が実行するタスクに必要なデータが保持されており、データの処理を複数台の処理ノード１０に分散させて実行することができる。
【００２５】
次に、管理ノード２０の詳細について説明する。管理ノード２０は、処理ノード管理部（データ情報記憶手段）２１と、タスクスケジューラ部２２とを含んで構成される。
【００２６】
処理ノード管理部２１は、各処理ノード１０のデータ記憶部１４が記憶するデータの内容を表すデータ情報と、当該データを記憶する処理ノード１０の識別情報（例えば、処理ノード１０のＩＰアドレス等）とを対応付けて記憶する。このように、処理ノード管理部２１に記憶された情報によって、各処理ノード１０がどのデータを記憶しているかを把握することができる。
【００２７】
タスクスケジューラ部２２は、分散処理システム１によって実行するタスクを管理するものであり、各処理ノード１０に対して順次、タスクを実行させるためのリクエスト信号を送信する。このため、タスクスケジューラ部２２は、データ情報取得部（データ情報取得手段）２２１と、判断部（判断手段）２２２と、リクエスト信号生成部（返信信号生成手段）２２３と、リクエスト信号送信部（返信信号送信手段）２２４と、スリープ時間算出部（スリープ時間算出手段）２２５とを含んで構成される。
【００２８】
データ情報取得部２２１は、リクエスト信号送信部２２４が受信したハートビート信号に含まれる識別情報に基づいて、処理ノード管理部２１から、識別情報に対応するデータ情報を取得する。なお、データ情報取得部２２１が処理ノード管理部２１からデータ情報を取得する処理は、分散処理システム１において実行すべきタスクがある場合にのみ行われる。ここで、データ情報取得部２２１は、分散処理システム１で実行すべきタスクの有無を把握しているものとする。
【００２９】
判断部２２２は、データ情報取得部２２１で取得されたデータ情報に基づいて、ハートビート信号を送信した処理ノード１０のデータ記憶部１４が、タスクの実行時に用いられるデータを記憶しているか否かを判断する。ここで、判断部２２２は、次に実行を指示するタスクと、そのタスクの実行時に用いられるデータの内容とを予め把握しているものとする。
【００３０】
スリープ時間算出部２２５は、各処理ノード１０が省電力状態を維持すべき時間を示すスリープ時間を算出する。具体的には、単位時間内にハートビート信号を送信した処理ノード１０がＮノードであった場合、一例として、予め定められたスリープ時間Ｔに、Ｔ／Ｎ×ｉを加算した時間をスリープ時間とする。ここで、ｉの値は、ハートビート信号の受信順番（１，２，３，…，Ｎ）とする。また、スリープ時間算出部２２５は、リクエスト信号生成部２２３からの算出依頼に基づいてスリープ時間を算出する。スリープ時間算出部２２５は、算出したスリープ時間をリクエスト信号生成部２２３へ出力する。
【００３１】
リクエスト信号生成部２２３は、ハートビート送信部１１から送信されたハートビート信号に対して返信するリクエスト信号を生成するものである。また、判断部２２２によって、タスクの実行時に用いられるデータをデータ記憶部１４が記憶していると判断された場合、リクエスト信号生成部２２３は、リクエスト信号に、タスクの実行を指示するタスク実行指示を付加する。また、判断部２２２によって、タスクの実行時に用いられるデータをデータ記憶部１４が記憶していないと判断された場合、リクエスト信号生成部２２３は、スリープ時間算出部２２５に対してスリープ時間の算出依頼を行う。そして、リクエスト信号生成部２２３は、スリープ時間算出部２２５からスリープ時間を取得すると、リクエスト信号に、省電力状態への移行を指示する省電力移行指示、及び、スリープ時間を付加する。
【００３２】
また、リクエスト信号生成部２２３は、リクエスト信号送信部２２４がハートビート信号を受信したときに、データ情報取得部２２１によって実行すべきタスクが無いと判断された場合、スリープ時間算出部２２５に対してスリープ時間の算出依頼を行う。そして、リクエスト信号生成部２２３は、スリープ時間算出部２２５からスリープ時間を取得すると、ハートビート信号に対して返信するリクエスト信号に省電力移行指示、及び、スリープ時間を付加する。
【００３３】
また、リクエスト信号生成部２２３は、リクエスト信号にタスク実行指示を付加する場合、図示しない記憶部に記憶されたSTAND＿BYフラグの値をリセットする、即ち、STAND＿BYフラグを、処理ノード１０が通常状態である場合を示す値に設定する。一方、リクエスト信号に省電力移行指示を付加する場合、STAND＿BYフラグの値をセットする、即ち、STAND＿BYフラグを、処理ノード１０が省電力状態である場合を示す値に設定する。これにより、管理ノード２０側において、処理ノード１０が通常状態であるか、或いは、省電力状態であるかを把握することができる。
【００３４】
リクエスト信号送信部２２４は、ハートビート送信部１１から送信されたハートビート信号を受信する。また、リクエスト信号送信部２２４は、リクエスト信号生成部２２３で生成された、タスク実行指示、或いは、省電力移行指示及びスリープ時間が付加されたリクエスト信号を、ハートビート信号を送信した処理ノード１０に対して送信する。
【００３５】
[処理ノード及び管理ノードのハードウェア構成]
処理ノード１０及び管理ノード２０のハードウェア構成は、通常の情報処理装置の基本構成、即ち、ＣＰＵ、ＲＡＭ、ＲＯＭ、キーボードやマウス等の入力デバイス、外部との通信を行う通信デバイス、情報を記憶する記憶デバイス、及び、ディスプレイ等の出力デバイス等を必要に応じて備えている。
【００３６】
［処理ノードで行われる処理の流れ］
次に、処理ノード１０で行われる処理の流れを説明する。図２は、処理ノードで行われる処理の流れを示すフローチャートである。ハートビート送信部１１は、所定の周期で、ハートビート信号を管理ノード２０に送信する（ステップＳ１０１：識別信号送信ステップ）。管理ノード２０は、ハートビート信号を受信すると、上述のようにリクエスト信号を生成し、生成したリクエスト信号を処理ノード１０へ返信する。
【００３７】
ハートビート送信部１１は、管理ノード２０から送信されたリクエスト信号を受信し（ステップＳ１０２）、リクエスト信号にタスク実行指示が付加されているか、或いは、省電力移行指示及びスリープ時間が付加されているかについての判断を行う（ステップＳ１０３）。
【００３８】
リクエスト信号に省電力移行指示及びスリープ時間が付加されている場合（ステップＳ１０３：省電力移行指示）、電源管理部１２は、処理ノード１０をスリープ時間の間、省電力状態に移行させる（ステップＳ１０４：電源管理ステップ）。スリープ時間の経過後、ハートビート送信部１１が管理ノード２０へハートビート信号を送信し、上述のステップＳ１０１の処理へ戻る。
【００３９】
一方、リクエスト信号にタスク実行指示が付加されている場合（ステップＳ１０３：タスク実行指示）、タスク実行部１３は、タスク実行指示に基づき、データ記憶部１４に記憶されたデータを用いてタスクを実行する（ステップＳ１０５：処理実行ステップ）。タスクの実行後、ハートビート送信部１１が管理ノード２０へハートビート信号を送信し、上述のステップＳ１０１の処理へ戻る。
【００４０】
［管理ノードで行われる処理の流れ］
次に、管理ノード２０で行われる処理の流れを説明する。図３は、管理ノード２０で行われる処理の流れを示すフローチャートである。リクエスト信号送信部２２４は、処理ノード１０のハートビート送信部１１から送信されたハートビート信号を受信する（ステップＳ２０１）。データ情報取得部２２１は、分散処理システム１において実行すべきタスクが有るか否かを判断する（ステップＳ２０２）。
【００４１】
実行すべきタスクが無いと判断された場合（ステップＳ２０２：ＮＯ）、リクエスト信号生成部２２３は、スリープ時間算出部２２５にスリープ時間の算出依頼を行う。そして、スリープ時間算出部２２５がスリープ時間の算出依頼に基づいてスリープ時間を算出し、算出したスリープ時間をリクエスト信号生成部２２３へ出力する（ステップ２０３）。リクエスト信号生成部２２３は、スリープ時間算出部２２５からスリープ時間を取得すると、ハートビート信号に対して返信するリクエスト信号に省電力移行指示、及び、スリープ時間を付加する（ステップＳ２０４：返信信号生成ステップ）。そして、リクエスト信号送信部２２４は、リクエスト信号生成部２２３で生成されたリクエスト信号を、ハートビート信号を送信した処理ノード１０に対して返信する（ステップＳ２０５：返信信号送信ステップ）。
【００４２】
また、ステップＳ２０２において、実行すべきタスクが有ると判断された場合（ステップＳ２０２：ＹＥＳ）、データ情報取得部２２１は、ハートビート信号に含まれる識別情報に基づいて、処理ノード管理部２１から、識別情報に対応するデータ情報を取得する（ステップＳ２０６：データ情報取得ステップ）。そして、判断部２２２が、データ情報取得部２２１で取得されたデータ情報に基づいて、ハートビート信号を送信した処理ノード１０のデータ記憶部１４が、タスクの実行時に用いられるデータを記憶しているか否かを判断する（ステップＳ２０７：判断ステップ）。
【００４３】
データ記憶部１４がタスクの実行時に用いられるデータを記憶していないと判断された場合（ステップＳ２０７：ＮＯ）、上述したステップＳ２０３以降の処理を行う。一方、データ記憶部１４がタスクの実行時に用いられるデータを記憶していると判断された場合（ステップＳ２０７：ＹＥＳ）、リクエスト信号生成部２２３は、リクエスト信号に、タスクの実行を指示するタスク実行指示を付加する（ステップＳ２０８：返信信号生成ステップ）。そして、リクエスト信号送信部２２４は、タスク実行指示が付加されたリクエスト信号を、ハートビート信号を送信した処理ノード１０に対して返信する（ステップＳ２０５）。
【００４４】
［実施形態の作用・効果］
本実施形態は以上のように構成され、判断部２２２によって、タスクの実行に用いるデータが処理ノード１０のデータ記憶部１４に記憶されていると判断された場合、リクエスト信号生成部２２３は、リクエスト信号にタスク実行指示を付加する。一方、判断部２２２によって、タスクの実行に用いるデータがデータ記憶部１４に記憶されていないと判断された場合、リクエスト信号生成部２２３は、リクエスト信号に省電力移行指示を付加する。これにより、リクエスト信号にタスク実行指示が含まれている場合、処理ノード１０のタスク実行部１３はタスクを実行し、リクエスト信号に省電力移行指示が含まれている場合、電源管理部１２は、処理ノード１０を省電力状態へ移行させる。このように、処理ノード１０が、タスク実行で用いられるデータを記憶しているか否か、即ち、各処理ノード１０へのデータの配置に応じて、処理ノード１０の省電力状態への移行を制御することができる。このため、省電力状態への移行を適切に行うことが可能となり、処理ノード１０の消費電力を抑えることができる。
【００４５】
また、判断部２２２によって、実行すべきデータ処理に用いられるデータをデータ記憶部１４が記憶していないと判断された場合、リクエスト信号生成部２２３はスリープ時間を返信信号に更に付加する。電源管理部１２は、返信信号に含まれるスリープ時間に基づいて処理ノード１０を省電力状態へ移行させる。これにより、スリープ時間算出部２２５で算出されたスリープ時間の間、処理ノード１０が省電力状態へ移行するため、処理ノード１０の消費電力をより抑えることができる。
【００４６】
また、リクエスト信号送信部２２４がハートビート信号を受信したときに、実行すべきタスクが無い場合、リクエスト信号生成部２２３が、リクエスト信号に省電力移行指示を付加する。これにより、実行すべきタスクが無い場合には処理ノード１０を省電力状態に移行させることができ、処理ノードの消費電力を、より好適に抑えることができる。
【００４７】
また、スリープ時間算出部２２５が算出するスリープ時間は、複数のノードが省電力状態から異なるタイミングで復帰するように設定されている。具体的には、一例として、予め定められたスリープ時間Ｔに、Ｔ／Ｎ×ｉを加算した時間をスリープ時間とする。この場合には、多数の処理ノード１０が省電力状態から同時に復帰することが抑制される。即ち、多数の処理ノード１０が省電力状態から同時に復帰した際の突入電力やピーク電力等を抑えることができる。従って、分散処理システム１の好適な作動を実現することができる。
【００４８】
処理ノード１０から管理ノード２０へ送信される信号として、既存の技術であるハートビート信号を用いることにより、上述した処理ノード１０を省電力状態へ移行させるためのシステム（分散処理システム１）を、容易に実現することができる。
【００４９】
以上、本発明を実施形態に基づき具体的に説明したが、本発明は上記実施形態に限定されるものではない。例えば、ハートビート送信部１１がハートビート信号を送信する周期を、処理ノード１０の状態に応じて変化させることもできる。具体的には、図２のステップＳ１０４において省電力状態へ移行した後、次にハートビート信号を送信するまでの時間を、通常の周期よりも長く（例えば、通常の周期の３倍等）する。このように、処理ノード１０が省電力状態である場合に、次にハートビート信号を送信するまでの周期を長くすることにより、処理ノード１０の省電力状態が長く維持され、処理ノード１０の消費電力を、より抑えることができる。
【００５０】
また、処理ノード１０から管理ノード２０へ送信される信号として、ハートビート信号を用いたが、このハートビート信号以外にも、処理ノード１０の識別情報を含む信号であれば、他の信号を用いてもよい。
【００５１】
また、スリープ時間算出部２２５で算出されたスリープ時間の経過後に、処理ノード１０を省電力状態から復帰させるものとしたが、これ以外にも、例えば、スリープ時間算出部２２５を設けずに、所定時間の経過後に省電力状態から復帰する構成であってもよい。
【符号の説明】
【００５２】
１…分散処理システム、１０…処理ノード、１１…ハートビート送信部（識別信号送信手段）、１２…電源管理部（電源管理手段）、１３…タスク実行部（処理実行手段）、１４…データ記憶部（データ記憶手段）、２０…管理ノード、２１…処理ノード管理部（データ情報記憶手段）、２２…タスクスケジューラ部、２２１…データ情報取得部（データ情報取得手段）、２２２…判断部（判断手段）、２２３…リクエスト信号生成部（返信信号生成手段）、２２４…リクエスト信号送信部（返信信号送信手段）、２２５…スリープ時間算出部（スリープ時間算出手段）。
【図１】
0005791050.tif 000002
【図２】
0005791050.tif 000003
【図３】
0005791050.tif 000004