特許第5791050号(P5791050)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社NTTドコモの特許一覧 ▶ 国立大学法人 東京大学の特許一覧

<>
  • 特許5791050-分散処理システム及び分散処理方法 図000002
  • 特許5791050-分散処理システム及び分散処理方法 図000003
  • 特許5791050-分散処理システム及び分散処理方法 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5791050
(24)【登録日】2015年8月14日
(45)【発行日】2015年10月7日
(54)【発明の名称】分散処理システム及び分散処理方法
(51)【国際特許分類】
   G06F 9/50 20060101AFI20150917BHJP
【FI】
   G06F9/46 465D
【請求項の数】6
【全頁数】12
(21)【出願番号】特願2012-37752(P2012-37752)
(22)【出願日】2012年2月23日
(65)【公開番号】特開2012-190448(P2012-190448A)
(43)【公開日】2012年10月4日
【審査請求日】2014年8月11日
(31)【優先権主張番号】特願2011-38341(P2011-38341)
(32)【優先日】2011年2月24日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】鈴木 亮平
(72)【発明者】
【氏名】永田 智大
(72)【発明者】
【氏名】鈴木 誠
(72)【発明者】
【氏名】森川 博之
(72)【発明者】
【氏名】高木 潤一郎
(72)【発明者】
【氏名】オオカワ エリキ マツモト
(72)【発明者】
【氏名】李 睿智
(72)【発明者】
【氏名】今泉 英明
(72)【発明者】
【氏名】ブロジ ギョーム
【審査官】 田中 幸雄
(56)【参考文献】
【文献】 特開2007−102666(JP,A)
【文献】 米国特許出願公開第2007/0282979(US,A1)
【文献】 大野善之ほか,データインテンシブコンピューティングの省電力化に向けたGPUノードの活用,電子情報通信学会技術研究報告 ,日本,社団法人電子情報通信学会,2010年 7月28日,Vol. 110, No. 167,1−6頁,CPSY2010-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
(57)【特許請求の範囲】
【請求項1】
データ処理を行う複数の処理ノード、及び前記処理ノードで行われるデータ処理の管理を行う管理ノードを備えた分散処理システムであって、
前記処理ノードは、
当該処理ノードの識別情報を含む識別信号を前記管理ノードに送信する識別信号送信手段と、
前記管理ノードから前記識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、当該処理ノードを前記省電力モードへ移行させる電源管理手段と、
データ処理に用いられるデータを記憶するデータ記憶手段と、
前記管理ノードから返信された前記返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、前記データ処理実行指示に基づいて、前記データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行手段と、を備え、
前記管理ノードは、
前記データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する前記処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段と、
前記識別信号に含まれる識別情報に対応するデータ情報を前記データ情報記憶手段から取得するデータ情報取得手段と、
前記取得されたデータ情報に基づいて、前記識別信号を送信した前記処理ノードのデータ記憶手段が、実行すべきデータ処理に用いられるデータを記憶しているか否かを判断する判断手段と、
前記判断手段によって、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していると判断された場合には、前記返信信号に前記データ処理実行指示を付加し、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していないと判断された場合には、前記返信信号に前記省電力移行指示を付加する返信信号生成手段と、
前記返信信号生成手段で生成された返信信号を、前記識別信号を送信した処理ノードへ返信する返信信号送信手段と、を備える、
ことを特徴とする分散処理システム。
【請求項2】
前記識別信号を送信した前記処理ノードが前記省電力モードを維持すべき時間を示すスリープ時間を算出するスリープ時間算出手段を、更に備え、
前記返信信号生成手段は、前記判断手段によって実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していないと判断された場合、前記スリープ時間算出手段で算出された前記スリープ時間を前記返信信号に更に付加し、
前記電源管理手段は、前記返信信号に含まれる前記スリープ時間に基づいて前記処理ノードを前記省電力モードへ移行させる、
ことを特徴とする請求項1に記載の分散処理システム。
【請求項3】
前記識別信号送信手段から前記識別信号が送信されたときに実行すべきデータ処理がない場合、前記返信信号生成手段は、前記返信信号に前記省電力移行指示及び前記スリープ時間を付加することを特徴とする請求項2に記載の分散処理システム。
【請求項4】
前記スリープ時間は、前記複数の処理ノードが前記省電力モードから異なるタイミングで復帰するように設定されていることを特徴とする請求項2又は3に記載の分散処理システム。
【請求項5】
前記識別信号として、前記処理ノードがデータ処理可能であるか否かを示すハートビート信号を用いることを特徴とする請求項1〜4のいずれか一項に記載の分散処理システム。
【請求項6】
データ処理を行う複数の処理ノード、及び前記処理ノードで行われるデータ処理の管理を行う管理ノードを備え、前記処理ノードは、当該処理ノードに備えられたデータ記憶手段に記憶されたデータを用いてデータ処理を行い、前記管理ノードは、前記データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する前記処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段を備えた分散処理システムで実行される分散処理方法であって、
前記処理ノードが、当該処理ノードの識別情報を含む識別信号を前記管理ノードに送信する識別信号送信ステップと、
前記管理ノードから前記識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、前記処理ノードが、当該処理ノードを前記省電力モードへ移行させる電源管理ステップと、
前記管理ノードから返信された前記返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、前記処理ノードが、前記データ処理実行指示に基づいて、前記データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行ステップと、
前記管理ノードが、前記識別信号に含まれる識別情報に対応するデータ情報を前記データ情報記憶手段から取得するデータ情報取得ステップと、
前記取得されたデータ情報に基づいて、前記管理ノードが、前記識別信号を送信した前記処理ノードのデータ記憶手段に、実行すべきデータ処理に用いられるデータが記憶されているか否かを判断する判断ステップと、
前記判断ステップにおいて、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していると判断された場合には、前記管理ノードが、前記返信信号に前記データ処理実行指示を付加し、実行すべきデータ処理に用いられるデータを前記データ記憶手段が記憶していないと判断された場合には、前記管理ノードが、前記返信信号に前記省電力移行指示を付加する返信信号生成ステップと、
前記管理ノードが、前記返信信号生成ステップで生成された返信信号を、前記識別信号を送信した処理ノードへ返信する返信信号送信ステップと、
を含むことを特徴とする分散処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の処理ノードを用いて分散して処理を行う分散処理システム及び分散処理方法に関する。
【背景技術】
【0002】
従来、複数の処理ノードに処理対象となるデータを分散して配置し、処理ノードを管理する管理ノードがデータの配置等を考慮して処理するタスクを処理ノードに指示し、この指示に基づいて処理ノードがタスクを実行することで、大規模データを効率的に処理する分散処理システムがある。このような分散処理システムとして、例えば、非特許文献1に記載された技術を用いたものがある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】http://hadoop.apache.org/
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の分散処理システムは、使用できる計算資源を最大限利用できるようにするため、処理ノードの電力使用量は制御されておらず消費電力が常に多くなり、分散処理システムの消費電力を抑えることが困難であるといった問題があった。
【0005】
そこで本発明は、処理ノードの消費電力を抑えることができる分散処理システム及び分散処理システム方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る分散処理システムは、データ処理を行う複数の処理ノード、及び処理ノードで行われるデータ処理の管理を行う管理ノードを備えた分散処理システムであって、処理ノードは、当該処理ノードの識別情報を含む識別信号を管理ノードに送信する識別信号送信手段と、管理ノードから識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、当該処理ノードを省電力モードへ移行させる電源管理手段と、データ処理に用いられるデータを記憶するデータ記憶手段と、管理ノードから返信された返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、データ処理実行指示に基づいて、データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行手段と、を備え、管理ノードは、データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段と、識別信号に含まれる識別情報に対応するデータ情報をデータ情報記憶手段から取得するデータ情報取得手段と、取得されたデータ情報に基づいて、識別信号を送信した処理ノードのデータ記憶手段が、実行すべきデータ処理に用いられるデータを記憶しているか否かを判断する判断手段と、判断手段によって、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していると判断された場合には、返信信号にデータ処理実行指示を付加し、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していないと判断された場合には、返信信号に省電力移行指示を付加する返信信号生成手段と、返信信号生成手段で生成された返信信号を、識別信号を送信した処理ノードへ返信する返信信号送信手段と、を備える、ことを特徴とする。
【0007】
また、本発明に係る分散処理方法は、データ処理を行う複数の処理ノード、及び処理ノードで行われるデータ処理の管理を行う管理ノードを備え、処理ノードは、当該処理ノードに備えられたデータ記憶手段に記憶されたデータを用いてデータ処理を行い、管理ノードは、データ記憶手段に記憶されたデータの内容を表すデータ情報に、当該データを記憶する処理ノードの識別情報を対応付けて記憶するデータ情報記憶手段を備えた分散処理システムで実行される分散処理方法であって、処理ノードが、当該処理ノードの識別情報を含む識別信号を管理ノードに送信する識別信号送信ステップと、管理ノードから識別信号に対して返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合、処理ノードが、当該処理ノードを省電力モードへ移行させる電源管理ステップと、管理ノードから返信された返信信号に、データ処理の実行を指示するデータ処理実行指示が含まれている場合、処理ノードが、データ処理実行指示に基づいて、データ記憶手段に記憶されたデータを用いてデータ処理を行う処理実行ステップと、管理ノードが、識別信号に含まれる識別情報に対応するデータ情報をデータ情報記憶手段から取得するデータ情報取得ステップと、取得されたデータ情報に基づいて、管理ノードが、識別信号を送信した処理ノードのデータ記憶手段に、実行すべきデータ処理に用いられるデータが記憶されているか否かを判断する判断ステップと、判断ステップにおいて、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していると判断された場合には、管理ノードが、返信信号にデータ処理実行指示を付加し、実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していないと判断された場合には、管理ノードが、返信信号に省電力移行指示を付加する返信信号生成ステップと、管理ノードが、返信信号生成ステップで生成された返信信号を、識別信号を送信した処理ノードへ返信する返信信号送信ステップと、を含むことを特徴とする。
【0008】
これらの発明では、管理ノードから返信された返信信号に、省電力モードへの移行を指示する省電力移行指示が含まれている場合には、処理ノードが省電力モードに移行し、返信信号にデータ処理の実行を指示するデータ処理実行指示が含まれている場合には、データ処理実行指示に基づいて、処理ノードでデータ処理が行われる。また、管理ノードは、実行すべきデータ処理に用いられるデータを処理ノードのデータ記憶手段が記憶していると判断した場合には、返信信号にデータ処理実行指示を付加し、実行すべきデータ処理に用いるデータをデータ記憶手段が記憶していないと判断した場合には、返信信号に省電力移行指示を付加し、データ処理実行指示或いは省電力移行指示が付加された返信信号を、識別信号を送信した処理ノードへ返信する。このように、処理ノードが、実行すべきデータ処理で用いられるデータを記憶しているか否かに応じて、省電力モードへの移行を制御することができるため、省電力モードへの移行を適切に行うことが可能となり、処理ノードの消費電力を抑えることができる。
【0009】
また、識別信号を送信した処理ノードが省電力モードを維持すべき時間を示すスリープ時間を算出するスリープ時間算出手段を、更に備え、返信信号生成手段は、判断手段によって実行すべきデータ処理に用いられるデータをデータ記憶手段が記憶していないと判断された場合、スリープ時間算出手段で算出されたスリープ時間を返信信号に更に付加し、電源管理手段は、返信信号に含まれるスリープ時間に基づいて処理ノードを省電力モードへ移行させる、ことが好ましい。この場合には、スリープ時間算出手段で算出されたスリープ時間の間、処理ノードが省電力モードへ移行するため、処理ノードの消費電力をより抑えることができる。
【0010】
また、識別信号送信手段から識別信号が送信されたときに実行すべきデータ処理がない場合、返信信号生成手段は、返信信号に省電力移行指示及びスリープ時間を付加することが好ましい。このように、実行すべきデータ処理が無い場合には、スリープ時間の間、処理ノードが省電力モードへ移行するため、処理ノードの消費電力を、より好適に抑えることができる。
【0011】
また、スリープ時間は、複数の処理ノードが省電力モードから異なるタイミングで復帰するように設定されていることが好ましい。この場合には、多数の処理ノードが省電力モードから同時に復帰することが抑制される。即ち、多数の処理ノードが省電力モードから同時に復帰した際の突入電力やピーク電力等を抑えることができる。従って、分散処理システムの好適な作動を実現することができる。
【0012】
また、識別信号として、処理ノードがデータ処理可能であるか否かを示すハートビート信号を用いることが好ましい。この場合には、ハートビート信号を識別信号として用いることが可能となり、識別信号を送信する機能を容易に実現することができる。
【発明の効果】
【0013】
本発明によれば、処理ノードの消費電力を抑えることができる。
【図面の簡単な説明】
【0014】
図1】実施形態に係る分散処理システムの全体構成図である。
図2】処理ノードで実行される処理の流れを示すフローチャートである。
図3】管理ノードで実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0015】
添付図面を参照しながら本発明に係る分散処理システム及び分散処理方法の実施形態を説明する。
【0016】
[分散処理システムの全体構成]
図1は、分散処理システムの全体構成を示す図である。図1に示すように、分散処理システム1は、処理ノード10と、管理ノード20とを含んで構成される。なお、図1では、便宜上、処理ノード10を3台のみ図示したが、実際には、3台に限定されることなく、1台以上の処理ノード10が備えられていればよい。また、処理ノード10と管理ノード20とは、それぞれ別体の装置であってもよく、或いは、処理ノード10のうちの1台と管理ノード20とが一体の装置として構成されていてもよい。
【0017】
処理ノード10は、それぞれ、分散処理システム1で処理するタスク(データ処理)を実行するものであり、管理ノード20は、各処理ノード10において実行されるタスクを管理するものである。
【0018】
まず、処理ノード10の詳細について説明する。なお、図1に示す各処理ノード10はそれぞれ同じ構成であり、図1中、最も左側の処理ノード10を用いて構成の詳細を説明する。処理ノード10は、ハートビート送信部(識別信号送信手段)11と、電源管理部(電源管理手段)12と、タスク実行部(処理実行手段)13と、データ記憶部(データ記憶手段)14とを含んで構成される。
【0019】
ハートビート送信部11は、処理ノード10がタスクの処理が可能であることを示すハートビート信号(識別信号)を、管理ノード20に送信する。このハートビート信号には、自身(処理ノード10)の識別情報(例えば、IPアドレス等)が含まれている。また、ハートビート信号は、管理ノード20に対して所定の周期(例えば、10分間隔等)で送信される。
【0020】
また、ハートビート送信部11は、送信したハートビート信号に対して管理ノード20から返信されたリクエスト信号(返信信号)を受信する。このリクエスト信号には、省電力状態(省電力モード)への移行を指示する省電力移行指示、及び、自身(処理ノード10)が省電力状態を維持すべき時間を示すスリープ時間が含まれている。或いは、リクエスト信号には、タスクの実行を指示するタスク実行指示(データ処理実行指示)が含まれている。このリクエスト信号の詳細について、詳しくは後述する。
【0021】
また、ハートビート送信部11は、リクエスト信号を参照し、省電力移行指示が含まれている場合には、電源管理部12に対して省電力状態への移行を指示する。一方、タスク実行指示が含まれている場合には、タスク実行部13に対してタスクの実行を指示すると共に、電源管理部12に対して省電力状態から通常状態への起動指示を行う。
【0022】
電源管理部12は、ハートビート送信部11からの省電力移行指示に基づいて、自ノード(処理ノード10)を省電力状態に移行させる。また、電源管理部12は、予め定められたスリープ時間が経過すると、省電力状態から通常状態(省電力状態ではなく、タスクの実行処理が可能な状態)へ移行し、ハートビート送信部11を通じてハートビート信号を管理ノード20へ送信する。ここで、省電力状態とは、機能的には、省電力状態の時間と省電力状態から復帰する時刻の管理のみが実行されている状態とする。また、省電力状態とは、ハードウェア的には、例えば、スリープ状態等があり、CPUのクロック動作が停止し、メモリのみが作動(通電)している状態がある。このように、処理ノード10が省電力状態になると、処理ノード10内での消費電力が少なくなる。
【0023】
タスク実行部13は、ハートビート送信部11からのタスク実行指示に基づいて、データ記憶部14に記憶されたデータを用いてタスクを実行する。タスクの実行結果は、ハートビート送信部11に送られ、ハートビート送信部11から管理ノード20へ送信される。
【0024】
データ記憶部14は、分散処理システム1において実行するタスクのうち、当該処理ノード10が受け持つタスクを実行する際に必要なデータを記憶するものである。このように、各処理ノード10には、それぞれ自身が実行するタスクに必要なデータが保持されており、データの処理を複数台の処理ノード10に分散させて実行することができる。
【0025】
次に、管理ノード20の詳細について説明する。管理ノード20は、処理ノード管理部(データ情報記憶手段)21と、タスクスケジューラ部22とを含んで構成される。
【0026】
処理ノード管理部21は、各処理ノード10のデータ記憶部14が記憶するデータの内容を表すデータ情報と、当該データを記憶する処理ノード10の識別情報(例えば、処理ノード10のIPアドレス等)とを対応付けて記憶する。このように、処理ノード管理部21に記憶された情報によって、各処理ノード10がどのデータを記憶しているかを把握することができる。
【0027】
タスクスケジューラ部22は、分散処理システム1によって実行するタスクを管理するものであり、各処理ノード10に対して順次、タスクを実行させるためのリクエスト信号を送信する。このため、タスクスケジューラ部22は、データ情報取得部(データ情報取得手段)221と、判断部(判断手段)222と、リクエスト信号生成部(返信信号生成手段)223と、リクエスト信号送信部(返信信号送信手段)224と、スリープ時間算出部(スリープ時間算出手段)225とを含んで構成される。
【0028】
データ情報取得部221は、リクエスト信号送信部224が受信したハートビート信号に含まれる識別情報に基づいて、処理ノード管理部21から、識別情報に対応するデータ情報を取得する。なお、データ情報取得部221が処理ノード管理部21からデータ情報を取得する処理は、分散処理システム1において実行すべきタスクがある場合にのみ行われる。ここで、データ情報取得部221は、分散処理システム1で実行すべきタスクの有無を把握しているものとする。
【0029】
判断部222は、データ情報取得部221で取得されたデータ情報に基づいて、ハートビート信号を送信した処理ノード10のデータ記憶部14が、タスクの実行時に用いられるデータを記憶しているか否かを判断する。ここで、判断部222は、次に実行を指示するタスクと、そのタスクの実行時に用いられるデータの内容とを予め把握しているものとする。
【0030】
スリープ時間算出部225は、各処理ノード10が省電力状態を維持すべき時間を示すスリープ時間を算出する。具体的には、単位時間内にハートビート信号を送信した処理ノード10がNノードであった場合、一例として、予め定められたスリープ時間Tに、T/N×iを加算した時間をスリープ時間とする。ここで、iの値は、ハートビート信号の受信順番(1,2,3,…,N)とする。また、スリープ時間算出部225は、リクエスト信号生成部223からの算出依頼に基づいてスリープ時間を算出する。スリープ時間算出部225は、算出したスリープ時間をリクエスト信号生成部223へ出力する。
【0031】
リクエスト信号生成部223は、ハートビート送信部11から送信されたハートビート信号に対して返信するリクエスト信号を生成するものである。また、判断部222によって、タスクの実行時に用いられるデータをデータ記憶部14が記憶していると判断された場合、リクエスト信号生成部223は、リクエスト信号に、タスクの実行を指示するタスク実行指示を付加する。また、判断部222によって、タスクの実行時に用いられるデータをデータ記憶部14が記憶していないと判断された場合、リクエスト信号生成部223は、スリープ時間算出部225に対してスリープ時間の算出依頼を行う。そして、リクエスト信号生成部223は、スリープ時間算出部225からスリープ時間を取得すると、リクエスト信号に、省電力状態への移行を指示する省電力移行指示、及び、スリープ時間を付加する。
【0032】
また、リクエスト信号生成部223は、リクエスト信号送信部224がハートビート信号を受信したときに、データ情報取得部221によって実行すべきタスクが無いと判断された場合、スリープ時間算出部225に対してスリープ時間の算出依頼を行う。そして、リクエスト信号生成部223は、スリープ時間算出部225からスリープ時間を取得すると、ハートビート信号に対して返信するリクエスト信号に省電力移行指示、及び、スリープ時間を付加する。
【0033】
また、リクエスト信号生成部223は、リクエスト信号にタスク実行指示を付加する場合、図示しない記憶部に記憶されたSTAND_BYフラグの値をリセットする、即ち、STAND_BYフラグを、処理ノード10が通常状態である場合を示す値に設定する。一方、リクエスト信号に省電力移行指示を付加する場合、STAND_BYフラグの値をセットする、即ち、STAND_BYフラグを、処理ノード10が省電力状態である場合を示す値に設定する。これにより、管理ノード20側において、処理ノード10が通常状態であるか、或いは、省電力状態であるかを把握することができる。
【0034】
リクエスト信号送信部224は、ハートビート送信部11から送信されたハートビート信号を受信する。また、リクエスト信号送信部224は、リクエスト信号生成部223で生成された、タスク実行指示、或いは、省電力移行指示及びスリープ時間が付加されたリクエスト信号を、ハートビート信号を送信した処理ノード10に対して送信する。
【0035】
[処理ノード及び管理ノードのハードウェア構成]
処理ノード10及び管理ノード20のハードウェア構成は、通常の情報処理装置の基本構成、即ち、CPU、RAM、ROM、キーボードやマウス等の入力デバイス、外部との通信を行う通信デバイス、情報を記憶する記憶デバイス、及び、ディスプレイ等の出力デバイス等を必要に応じて備えている。
【0036】
[処理ノードで行われる処理の流れ]
次に、処理ノード10で行われる処理の流れを説明する。図2は、処理ノードで行われる処理の流れを示すフローチャートである。ハートビート送信部11は、所定の周期で、ハートビート信号を管理ノード20に送信する(ステップS101:識別信号送信ステップ)。管理ノード20は、ハートビート信号を受信すると、上述のようにリクエスト信号を生成し、生成したリクエスト信号を処理ノード10へ返信する。
【0037】
ハートビート送信部11は、管理ノード20から送信されたリクエスト信号を受信し(ステップS102)、リクエスト信号にタスク実行指示が付加されているか、或いは、省電力移行指示及びスリープ時間が付加されているかについての判断を行う(ステップS103)。
【0038】
リクエスト信号に省電力移行指示及びスリープ時間が付加されている場合(ステップS103:省電力移行指示)、電源管理部12は、処理ノード10をスリープ時間の間、省電力状態に移行させる(ステップS104:電源管理ステップ)。スリープ時間の経過後、ハートビート送信部11が管理ノード20へハートビート信号を送信し、上述のステップS101の処理へ戻る。
【0039】
一方、リクエスト信号にタスク実行指示が付加されている場合(ステップS103:タスク実行指示)、タスク実行部13は、タスク実行指示に基づき、データ記憶部14に記憶されたデータを用いてタスクを実行する(ステップS105:処理実行ステップ)。タスクの実行後、ハートビート送信部11が管理ノード20へハートビート信号を送信し、上述のステップS101の処理へ戻る。
【0040】
[管理ノードで行われる処理の流れ]
次に、管理ノード20で行われる処理の流れを説明する。図3は、管理ノード20で行われる処理の流れを示すフローチャートである。リクエスト信号送信部224は、処理ノード10のハートビート送信部11から送信されたハートビート信号を受信する(ステップS201)。データ情報取得部221は、分散処理システム1において実行すべきタスクが有るか否かを判断する(ステップS202)。
【0041】
実行すべきタスクが無いと判断された場合(ステップS202:NO)、リクエスト信号生成部223は、スリープ時間算出部225にスリープ時間の算出依頼を行う。そして、スリープ時間算出部225がスリープ時間の算出依頼に基づいてスリープ時間を算出し、算出したスリープ時間をリクエスト信号生成部223へ出力する(ステップ203)。リクエスト信号生成部223は、スリープ時間算出部225からスリープ時間を取得すると、ハートビート信号に対して返信するリクエスト信号に省電力移行指示、及び、スリープ時間を付加する(ステップS204:返信信号生成ステップ)。そして、リクエスト信号送信部224は、リクエスト信号生成部223で生成されたリクエスト信号を、ハートビート信号を送信した処理ノード10に対して返信する(ステップS205:返信信号送信ステップ)。
【0042】
また、ステップS202において、実行すべきタスクが有ると判断された場合(ステップS202:YES)、データ情報取得部221は、ハートビート信号に含まれる識別情報に基づいて、処理ノード管理部21から、識別情報に対応するデータ情報を取得する(ステップS206:データ情報取得ステップ)。そして、判断部222が、データ情報取得部221で取得されたデータ情報に基づいて、ハートビート信号を送信した処理ノード10のデータ記憶部14が、タスクの実行時に用いられるデータを記憶しているか否かを判断する(ステップS207:判断ステップ)。
【0043】
データ記憶部14がタスクの実行時に用いられるデータを記憶していないと判断された場合(ステップS207:NO)、上述したステップS203以降の処理を行う。一方、データ記憶部14がタスクの実行時に用いられるデータを記憶していると判断された場合(ステップS207:YES)、リクエスト信号生成部223は、リクエスト信号に、タスクの実行を指示するタスク実行指示を付加する(ステップS208:返信信号生成ステップ)。そして、リクエスト信号送信部224は、タスク実行指示が付加されたリクエスト信号を、ハートビート信号を送信した処理ノード10に対して返信する(ステップS205)。
【0044】
[実施形態の作用・効果]
本実施形態は以上のように構成され、判断部222によって、タスクの実行に用いるデータが処理ノード10のデータ記憶部14に記憶されていると判断された場合、リクエスト信号生成部223は、リクエスト信号にタスク実行指示を付加する。一方、判断部222によって、タスクの実行に用いるデータがデータ記憶部14に記憶されていないと判断された場合、リクエスト信号生成部223は、リクエスト信号に省電力移行指示を付加する。これにより、リクエスト信号にタスク実行指示が含まれている場合、処理ノード10のタスク実行部13はタスクを実行し、リクエスト信号に省電力移行指示が含まれている場合、電源管理部12は、処理ノード10を省電力状態へ移行させる。このように、処理ノード10が、タスク実行で用いられるデータを記憶しているか否か、即ち、各処理ノード10へのデータの配置に応じて、処理ノード10の省電力状態への移行を制御することができる。このため、省電力状態への移行を適切に行うことが可能となり、処理ノード10の消費電力を抑えることができる。
【0045】
また、判断部222によって、実行すべきデータ処理に用いられるデータをデータ記憶部14が記憶していないと判断された場合、リクエスト信号生成部223はスリープ時間を返信信号に更に付加する。電源管理部12は、返信信号に含まれるスリープ時間に基づいて処理ノード10を省電力状態へ移行させる。これにより、スリープ時間算出部225で算出されたスリープ時間の間、処理ノード10が省電力状態へ移行するため、処理ノード10の消費電力をより抑えることができる。
【0046】
また、リクエスト信号送信部224がハートビート信号を受信したときに、実行すべきタスクが無い場合、リクエスト信号生成部223が、リクエスト信号に省電力移行指示を付加する。これにより、実行すべきタスクが無い場合には処理ノード10を省電力状態に移行させることができ、処理ノードの消費電力を、より好適に抑えることができる。
【0047】
また、スリープ時間算出部225が算出するスリープ時間は、複数のノードが省電力状態から異なるタイミングで復帰するように設定されている。具体的には、一例として、予め定められたスリープ時間Tに、T/N×iを加算した時間をスリープ時間とする。この場合には、多数の処理ノード10が省電力状態から同時に復帰することが抑制される。即ち、多数の処理ノード10が省電力状態から同時に復帰した際の突入電力やピーク電力等を抑えることができる。従って、分散処理システム1の好適な作動を実現することができる。
【0048】
処理ノード10から管理ノード20へ送信される信号として、既存の技術であるハートビート信号を用いることにより、上述した処理ノード10を省電力状態へ移行させるためのシステム(分散処理システム1)を、容易に実現することができる。
【0049】
以上、本発明を実施形態に基づき具体的に説明したが、本発明は上記実施形態に限定されるものではない。例えば、ハートビート送信部11がハートビート信号を送信する周期を、処理ノード10の状態に応じて変化させることもできる。具体的には、図2のステップS104において省電力状態へ移行した後、次にハートビート信号を送信するまでの時間を、通常の周期よりも長く(例えば、通常の周期の3倍等)する。このように、処理ノード10が省電力状態である場合に、次にハートビート信号を送信するまでの周期を長くすることにより、処理ノード10の省電力状態が長く維持され、処理ノード10の消費電力を、より抑えることができる。
【0050】
また、処理ノード10から管理ノード20へ送信される信号として、ハートビート信号を用いたが、このハートビート信号以外にも、処理ノード10の識別情報を含む信号であれば、他の信号を用いてもよい。
【0051】
また、スリープ時間算出部225で算出されたスリープ時間の経過後に、処理ノード10を省電力状態から復帰させるものとしたが、これ以外にも、例えば、スリープ時間算出部225を設けずに、所定時間の経過後に省電力状態から復帰する構成であってもよい。
【符号の説明】
【0052】
1…分散処理システム、10…処理ノード、11…ハートビート送信部(識別信号送信手段)、12…電源管理部(電源管理手段)、13…タスク実行部(処理実行手段)、14…データ記憶部(データ記憶手段)、20…管理ノード、21…処理ノード管理部(データ情報記憶手段)、22…タスクスケジューラ部、221…データ情報取得部(データ情報取得手段)、222…判断部(判断手段)、223…リクエスト信号生成部(返信信号生成手段)、224…リクエスト信号送信部(返信信号送信手段)、225…スリープ時間算出部(スリープ時間算出手段)。
図1
図2
図3