(57)【要約】【課題】  電力を有効に利用する。【解決手段】  複数の計算処理装置に複数の部分計算をそれぞれ実行させる計算要求装置であって、各計算処理装置について計算処理量当たりの消費電力を示す電力処理指標情報を取得する手段２００と、複数の部分計算のそれぞれについて他の部分計算と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する手段２２５と、複数の部分計算が実行される場合に消費される電力量の条件を取得する手段２５０と、複数の部分計算のそれぞれに対応付けて、複数の計算処理装置のうち当該部分計算を実行する場合に当該条件を満たす計算処理装置を、電力処理指標情報及び消費電力指標情報に基づいて選択する手段２７５と、複数の部分計算のそれぞれを当該部分計算に対応付けて選択された計算処理装置に行わせる手段２１５と、受け取った部分計算の結果の組を出力する手段２８０とを備える計算要求装置を提供する。【選択図】図１
2005063066.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた計算処理を構成する複数の部分計算をそれぞれ実行する複数の計算処理装置と、前記複数の計算処理装置に部分計算を要求する計算要求装置とを備える分散コンピューティングシステムであって、
前記計算要求装置は、
前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段と、
前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成手段と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得手段と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択手段と、
前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段と
を有し、
前記複数の計算処理装置のそれぞれは、
前記計算要求装置から要求された部分計算を処理する部分計算処理手段と、
前記部分計算の処理結果を前記計算要求装置に送信する処理結果送信手段と
を有する分散コンピューティングシステム。
【請求項２】
前記電力処理指標情報取得手段は、各計算処理装置の前記電力処理指標情報として、当該計算処理装置のＣＰＵ、ハードディスクドライブ、及び入出力装置の少なくとも一について、所定の処理量当たりの消費電力を示す性能情報を取得し、
前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要するＣＰＵの演算量、ハードディスクドライブへのアクセス量、及び入出力装置の使用量の少なくとも一を示す処理内容情報を、前記消費電力指標情報として生成する
請求項１記載の分散コンピューティングシステム。
【請求項３】
前記計算要求装置は、
前記複数の計算処理装置のそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を取得する地域情報取得手段と、
前記複数の計算処理装置のそれぞれについて、当該計算処理装置の消費電力当たりの電力料金を示す電力料金情報を、前記地域情報に基づいて生成する電力料金情報生成手段と
を更に有し、
前記選択手段は、前記電力量条件情報を満たす計算処理装置を、更に前記電力料金情報に基づいて選択する
請求項１記載の分散コンピューティングシステム。
【請求項４】
前記電力料金情報生成手段は、前記計算処理が行われる時間帯及び前記地域情報により定まる地域のタイムゾーンに基づいて、前記複数の計算処理装置のそれぞれに対応付けて前記電気料金情報を生成し、
前記選択手段は、前記複数の部分計算のそれぞれを実行させる計算処理装置として、計算処理装置が設けられる地域における前記部分計算要求手段が前記部分計算を要求する時刻が夜間である計算処理装置を、当該時刻が昼間である計算処理装置より優先して選択する
請求項３記載の分散コンピューティングシステム。
【請求項５】
前記計算要求装置は、前記複数の計算処理装置のそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を取得する地域情報取得手段を更に有し、
前記条件情報取得手段が、前記電力量条件情報として、所定の地域に設けられた複数の計算処理装置における単位時間当たりに消費する電力の上限を定める電力上限値を取得した場合において、
前記選択手段は、前記所定の地域における複数の計算処理装置が前記複数の部分計算を処理することにより単位時間当たりに消費する電力が、前記電力上限値以下である場合に、当該複数の部分計算のそれぞれに対応付けて、前記所定の地域における複数の計算処理装置を選択する
請求項１記載の分散コンピューティングシステム。
【請求項６】
前記複数の部分計算を処理させる計算処理装置として、同一の地域における複数の計算処理装置が選択された場合に、前記部分計算要求手段は、同一の地域における一の計算処理装置に部分計算を開始させる時間及び当該地域における他の計算処理装置に部分計算を開始させる時間を異ならせるべく、前記複数の部分計算のそれぞれを実行開始させるタイミングを調節する
請求項５記載の分散コンピューティングシステム。
【請求項７】
前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算に含まれるインストラクション数を解析する計算内容解析手段を更に有し、
前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較してインストラクション数が多い場合に、当該部分計算が他の部分計算と比較して消費電力量が大きい旨を示す消費電力指標情報を生成する
請求項１記載の分散コンピューティングシステム。
【請求項８】
前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算の処理において入出力装置がアクセスされるアクセス回数を解析する計算内容解析手段を更に有し、
前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較して前記アクセス回数が多い場合に、当該部分計算が他の部分計算と比較して消費電力量が大きい旨を示す消費電力指標情報を生成する
請求項１記載の分散コンピューティングシステム。
【請求項９】
前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算の処理において入出力装置が転送する転送データのサイズを解析する計算内容解析手段を更に有し、
前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較して前記転送データのサイズが大きい場合に、当該部分計算が他の部分計算と比較して消費電力量が大きい旨を示す消費電力指標情報を生成する
請求項１記載の分散コンピューティングシステム。
【請求項１０】
前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算と同一の種類の処理であって、当該部分計算より処理時間が短い他の処理を実行した場合に消費する電力量に基づいて、消費電力指標情報を生成する
請求項１記載の分散コンピューティングシステム。
【請求項１１】
前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算が前記計算処理におけるクリティカルパスに含まれるか否かを解析する計算内容解析手段を更に有し、
前記選択手段は、前記電力量条件情報を満たす計算処理装置のうち、前記クリティカルパスに含まれない部分計算に対応付けて選択する計算処理装置と比較して、前記電力処理指標情報の示す消費電力量がより大きくかつ処理速度がより速い計算処理装置を前記クリティカルパスに含まれる部分計算に対応付けて選択する
請求項１記載の分散コンピューティングシステム。
【請求項１２】
前記計算処理装置は、前記部分計算処理手段が部分計算を処理した場合に消費した電力量を示す電力実消費量情報を、当該部分計算を識別する情報に対応付けて、前記計算要求装置に送信する実消費量送信手段を更に有し、
前記電力処理指標情報取得手段は、当該部分計算当たりの当該電力実消費量情報を、前記電力処理指標情報として前記実消費量送信手段から取得する
請求項１記載の分散コンピューティングシステム。
【請求項１３】
前記計算要求装置は、部分計算の種類と、当該部分計算の消費電力指標情報とを対応付けて格納する消費電力指標情報格納手段を更に有し、
前記複数の部分計算のそれぞれについて、当該部分計算の種類が前記消費電力指標情報格納手段に格納されている場合において、前記消費電力指標情報生成手段は、当該部分計算の種類に対応付けられた消費電力指標情報を前記消費電力指標情報格納手段から選択することにより、当該部分計算の消費電力指標情報を生成する
請求項１記載の分散コンピューティングシステム。
【請求項１４】
前記計算要求装置は、当該計算要求装置が既に行わせた計算処理の種類に、当該計算処理を行った計算処理装置の組を識別する情報を対応付けた情報を格納する要求履歴情報格納手段を更に有し、
前記部分計算要求手段は、実行するべき計算処理の種類に基づいて、計算処理の当該種類に対応付けられた計算処理装置の組を識別する情報を、前記要求履歴情報格納手段から検索し、検索した当該計算処理装置の組に当該計算処理を行わせる、
請求項１記載の分散コンピューティングシステム。
【請求項１５】
前記部分計算要求手段は、より長い処理時間を要する部分計算を、より短い処理時間を要する部分計算より早く開始させる
請求項１記載の分散コンピューティングシステム。
【請求項１６】
前記計算処理装置は、
当該計算処理装置が設けられた地域の総消費電力が、当該地域における最大供給可能電力のうち予め定められた割合に達したと判断した場合に、前記部分計算処理手段において処理する部分計算を、当該地域とは異なる地域に設けられた他の計算処理装置において実行させる部分計算再割当手段
を更に有する請求項１記載の分散コンピューティングシステム。
【請求項１７】
前記複数の計算処理装置を分類した複数の処理装置グループのそれぞれに対応して設けられ、当該処理装置グループにおける各計算処理装置の電力処理指標情報を管理する下階層管理装置と、
複数の前記下階層管理装置を分類した複数の管理装置グループのそれぞれに対応して設けられ、当該管理装置グループにおける各下階層管理装置が管理する電力処理指標情報の最大値及び最小値の間の値である電力処理総合情報を管理する上階層管理装置と
を更に備え、
前記電力処理指標情報取得手段は、前記上階層管理装置から前記電力処理総合情報を、前記下階層管理装置から前記電力処理指標情報をそれぞれ取得し、
前記選択手段は、管理する電力処理総合情報の何れかが前記電力量条件情報を満たす上階層管理装置を選択し、当該上階層管理装置により管理される下階層管理装置のうち、管理する電力処理指標情報の何れかが前記電力量条件情報を満たす下階層管理装置を選択し、当該下階層管理装置により管理される計算処理装置のうち、前記電力量条件を満たす計算処理装置を選択する
請求項１記載の分散コンピューティングシステム。
【請求項１８】
予め定められた計算処理を構成する複数の部分計算をそれぞれ実行する複数の計算処理装置と、前記複数の計算処理装置に部分計算を要求する計算要求装置とを備える分散コンピューティングシステムであって、
前記計算要求装置は、
前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得手段と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得手段と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択手段と、
前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段と
を有し、
前記複数の計算処理装置のそれぞれは、
前記計算要求装置から要求された部分計算を処理する部分計算処理手段と、
前記部分計算の処理結果を前記計算要求装置に送信する処理結果送信手段と
を有する分散コンピューティングシステム。
【請求項１９】
前記安定性情報取得手段は、各計算処理装置における前記安定性情報として、当該計算処理装置が電池又は発電機による無停電電源装置により管理されているか否かを示す情報を取得する
請求項１８記載の分散コンピューティングシステム。
【請求項２０】
前記計算要求装置は、前記複数の計算処理装置のそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を取得する地域情報取得手段を更に有し、
前記安定性情報取得手段は、各計算処理装置における前記安定性情報として、当該計算処理装置が設けられた地域に供給される電気の安定性を示す情報を取得する
請求項１８記載の分散コンピューティングシステム。
【請求項２１】
前記計算要求装置は、前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段を更に有し、
前記条件情報取得手段は、前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を更に取得し、
前記選択手段は、更に前記電力処理指標情報に基づいて、更に前記電力量条件情報を満たす計算処理装置を選択する
請求項１８記載の分散コンピューティングシステム。
【請求項２２】
複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置であって、
前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段と、
前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成手段と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得手段と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択手段と、
前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段と
を備える計算要求装置。
【請求項２３】
複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置であって、
前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得手段と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得手段と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択手段と、
前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段と
を備える計算要求装置。
【請求項２４】
複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置としてコンピュータを動作させる制御方法であって、
前記コンピュータにより、
前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得段階と、
前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成段階と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得段階と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択段階と、
前記複数の部分計算のそれぞれを、前記選択段階において当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求段階と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力段階と
を備える制御方法。
【請求項２５】
複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置として、コンピュータを動作させる制御方法であって、
前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得段階と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得段階と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択段階と、
前記複数の部分計算のそれぞれを、前記選択段階において当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求段階と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力段階と
を備える制御方法。
【請求項２６】
複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段と、
前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成手段と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得手段と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択手段と、
前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段と
して機能させるプログラム。
【請求項２７】
複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得手段と、
前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得手段と、
前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択手段と、
前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、
前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段と
して機能させるプログラム。
【請求項２８】
請求項２６又は請求項２７記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散コンピューティングシステムに関する。特に、本発明は、消費電力の低減を目的とする分散コンピューティングシステムに関する。
【背景技術】
【０００２】
近年、資源を有効に利用し、かつ自然環境に与える影響を軽減することを目的として、電力を有効に活用する技術が注目されている。従来、電力を有効に活用する技術として、消費電力を削減する省電力技術及び余剰電力を有効に利用する技術が知られている。
【０００３】
例えば、情報処理装置の消費電力を削減する省電力技術として、情報処理装置の稼動状態に応じて駆動周波数又は駆動電圧を調節する技術が用いられている。一例として、インテルコーポレーションのＳｐｅｅｄＳｔｅｐ（登録商標）、トランスメタコーポ−レーションのＬｏｎｇＲｕｎ（登録商標）、又はネットワーク上の複数の情報処理装置を一括して制御する技術（特許文献１参照）が用いられている。
【０００４】
また、余剰電力を有効に利用する技術として、電力消費を平準化する技術が提案されている。例えば、時間帯に応じた電力消費の偏りを平準化する技術として、所定の地域内において電力消費が集中した場合には、予め充電したバッテリーを優先的に使う技術（特許文献２参照）が提案されている。また、地域に応じた電力消費の偏りを平準化する方法として、余剰電力を有する地域から電気を買い取る方法（特許文献３参照）が提案されている。
【０００５】
また、近年、膨大な時間を要する計算処理又は膨大なメモリ空間を必要とする計算処理を、計算力が余剰している複数の情報処理装置により実行させるグリッドコンピューティングシステムが注目されている。
【０００６】
【特許文献１】特開２０００−２５９２９２号公報
【特許文献２】特開２００２−２７１９９２号公報
【特許文献３】特開２００２−５８１６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のグリッドコンピューティング技術によると、余剰計算力を有する情報処理装置を有効に利用することにより計算処理を高速化することができる一方、膨大な計算機リソースを並行して利用してしまう。これにより、計算処理を実行する情報処理装置が所定の地域に集中した場合には、当該地域の電力消費量が増大する。
【０００８】
上記省電力技術によると、情報処理装置は、計算の処理量が少ない場合又は処理の内容に関わらず、計算の実行速度を抑えることにより消費電力を低減する。しかしながら、処理の重要度に応じて高速に処理する等、処理の内容に応じた消費電力の調節を行うことはできないので、グリッドコンピューティング技術への適用は困難であった。また、電力消費を平準化する上記技術は、蓄電池の充電又は電気の長距離輸送等により、電力が多量に損失する場合がある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の第１の形態においては、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行する複数の計算処理装置と、複数の計算処理装置に部分計算を要求する計算要求装置とを備える分散コンピューティングシステムであって、計算要求装置は、複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段と、複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成手段と、複数の計算処理装置が複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得手段と、複数の部分計算のそれぞれに対応付けて、複数の計算処理装置のうち当該部分計算を実行する場合に電力量条件情報を満たす計算処理装置を、電力処理指標情報及び消費電力指標情報に基づいて選択する選択手段と、複数の部分計算のそれぞれを、選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、複数の計算処理装置から受け取った部分計算の結果の組を、計算処理の結果として出力する処理結果出力手段とを有し、複数の計算処理装置のそれぞれは、計算要求装置から要求された部分計算を処理する部分計算処理手段と、部分計算の処理結果を計算要求装置に送信する処理結果送信手段とを有する分散コンピューティングシステム、当該分散コンピューティングシステムを制御する制御方法、コンピュータシステムを当該分散コンピューティングシステムとして機能させるプログラム、及び当該プログラムを記録した記録媒体を提供する。
【００１０】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１１】
本発明によれば、電力を有効に利用することができる。
【発明を実施するための最良の形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
図１は、分散コンピューティングシステム１０のブロック図を示す。分散コンピューティングシステム１０は、予め定められた計算処理７００を構成する複数の部分計算を計算処理装置３０−１〜Ｎに実行させると共に、計算処理装置３０−１〜Ｎの消費電力を低減することを目的とする。
【００１４】
分散コンピューティングシステム１０は、計算処理装置３０−１〜Ｎに部分計算の処理を要求する計算要求装置２０と、複数の部分計算をそれぞれ実行する計算処理装置３０−１〜Ｎと、計算処理装置３０−１〜Ｎを管理する下階層管理装置４０−１〜Ｍと、下階層管理装置４０−１〜Ｍを管理する上階層管理装置５０−１〜Ｌとを備える。
【００１５】
計算要求装置２０は、計算処理装置３０−１〜Ｎのそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報及び当該計算処理装置に供給される電力の安定性を示す安定性情報を、下階層管理装置４０−１〜Ｍ及び上階層管理装置５０−１〜Ｌから取得する。そして、計算要求装置２０は、電力処理指標情報及び安定性情報に基づいて、複数の部分計算のそれぞれを計算処理装置３０−１〜Ｎの何れかに実行させる。
【００１６】
ここで、計算処理又は部分計算とは、例えば、情報処理装置により実行されることにより所望の計算結果を出力するアプリケーションプログラムである。これに代えて、計算処理又は部分計算とは、サブルーチン、関数、手続、又はメソッドであってもよい。
【００１７】
下階層管理装置４０−１〜Ｍは、計算処理装置３０−１〜Ｎを分類した複数の処理装置グループのそれぞれに対応して設けられ、当該処理装置グループにおける各計算処理装置の電力消費指標情報を管理する。例えば、下階層管理装置４０−１は、計算処理装置３０−１及び計算処理装置３０−２等を分類した処理装置グループ３５−１に対応して設けられ、処理装置グループ３５−１における各計算処理装置の電力消費指標情報を管理している。また、下階層管理装置４０−１〜Ｍは、対応する処理装置グループにおいて消費される電力量が所定の基準量を超えた場合に、管理する計算処理装置のそれぞれにその旨を通知する。
【００１８】
また、上階層管理装置５０−１〜Ｌは、下階層管理装置４０−１〜Ｍを分類した複数の管理装置グループのそれぞれに対応して設けられ、当該管理装置グループにおける各下階層管理装置が管理する電力消費指標情報の最大値及び最小値の間の値である電力処理総合情報を管理する。例えば、上階層管理装置５０−１は、下階層管理装置４０−１及び下階層管理装置４０−２等を分類した管理装置グループ４５−１に対応して設けられ、下階層管理装置４０−１が管理する電力消費指標情報の最大値及び最小値の間の値と、下階層管理装置４０−２が管理する電力消費指標情報の最大値及び最小値の間の値とを、電力処理総合情報として管理している。
【００１９】
一例として、上階層管理装置５０−１は、下階層管理装置４０−１及び下階層管理装置４０−２のそれぞれに対応付けて、電力処理総合情報として当該下階層管理装置が管理する電力処理指標情報の平均値を管理してもよい。これに代えて、上階層管理装置５０−１は、電力処理総合情報として、電力処理指標情報の分散値又は標準偏差を管理してもよいし、度数分布等の統計情報を管理してもよい。
【００２０】
図２は、計算要求装置２０のブロック図を示す。計算要求装置２０は、電力処理指標情報取得手段２００と、安定性情報取得手段２０５と、計算機環境データベース２１０と、部分計算要求手段２１５と、要求履歴情報格納手段２２０と、消費電力指標情報生成手段２２５と、消費電力指標情報格納手段２３０と、計算内容解析手段２４０と、条件情報取得手段２５０と、地域情報取得手段２６０と、電力料金情報生成手段２７０と、選択手段２７５と、処理結果出力手段２８０とを有する。
【００２１】
電力処理指標情報取得手段２００は、計算処理装置３０−１〜Ｎのそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を、上階層管理装置５０−１〜Ｌを介して下階層管理装置４０−１〜Ｍから取得し、計算機環境データベース２１０に格納する。更に、電力処理指標情報取得手段２００は、計算処理装置３０−１〜Ｎの何れかについての電力処理指標を処理結果出力手段２８０から受け取った場合に、当該電力処理指標により計算機環境データベース２１０中の情報を更新する。また、電力処理指標情報取得手段２００は、電力処理総合情報を上階層管理装置５０−１〜Ｌから取得して計算機環境データベース２１０に格納する。
【００２２】
安定性情報取得手段２０５は、計算処理装置３０−１〜Ｎのそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得し、計算機環境データベース２１０に格納する。例えば、安定性情報取得手段２０５は、各計算処理装置が予め定められた複数の地域の何れに設けられているかを示す地域情報を、地域情報取得手段２６０から受け取り、当該地域情報に供給される電気の安定性を示す情報を安定性情報として上階層管理装置５０−１〜Ｎから受け取り、計算機環境データベース２１０に格納する。
【００２３】
これに代えて、電力処理指標情報取得手段２００及び安定性情報取得手段２０５は、下位階層管理装置及び上位階層管理装置を介することなく計算処理装置３０−１〜Ｎのそれぞれから電力処理指標情報及び安定性情報のそれぞれを取得してもよい。
【００２４】
要求履歴情報格納手段２２０は、当該計算要求装置２０が既に行わせた計算処理の種類に、当該計算処理を行った計算処理装置の組を識別する情報を対応付けた情報を格納する。例えば、計算処理の種類とは、当該計算処理により行われる計算の性質を示す情報であり、一例として、当該計算処理が実行された場合に呼び出されるオペレーティングシステムのＡＰＩにより定められる。
【００２５】
部分計算要求手段２１５は、実行するべき計算処理７００を利用者から取得すると、計算処理７００の種類に基づいて、計算処理７００の当該種類に対応付けられた計算処理装置の組を識別する情報を、要求履歴情報格納手段２２０から検索する。検索できた場合に、部分計算要求手段２１５は、検索した当該計算処理装置の組に計算処理７００を行わせる。検索できなかった場合に、部分計算要求手段２１５は、その旨を消費電力指標情報生成手段２２５に送る。
【００２６】
そして、部分計算要求手段２１５は、複数の部分計算のそれぞれを、選択手段２７５により当該部分計算に対応付けて選択された計算処理装置に実行させるべく、当該計算処理装置に送信する。これに代えて、部分計算要求手段２１５は、複数の部分計算のそれぞれを、下階層管理装置４０−１〜Ｍ及び上階層管理装置５０−１〜Ｌを介して計算処理装置のそれぞれに送信してもよい。
【００２７】
更に、部分計算要求手段２１５は、複数の部分計算のそれぞれについて、当該部分計算を実行させる計算処理装置を識別する情報を、処理結果出力手段２８０に送る。また、部分計算要求手段２１５は、複数の部分計算により構成される計算処理の種類を、複数の部分計算を実行する計算処理装置の組に対応付けて要求履歴情報格納手段２２０に格納する。
【００２８】
消費電力指標情報格納手段２３０は、部分計算の種類を、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報に対応付けて格納する。
【００２９】
部分計算要求手段２１５が計算処理装置の組を識別する情報を要求履歴情報格納手段２２０から検索できなかった場合に、消費電力指標情報生成手段２２５は、利用者から取得した計算処理７００を複数の部分計算に分割する。複数の部分計算のそれぞれについて、当該部分計算の種類が消費電力指標情報格納手段２３０に格納されている場合において、消費電力指標情報生成手段２２５は、当該部分計算の種類に対応付けられた消費電力指標情報を消費電力指標情報格納手段２３０から選択する。
【００３０】
一方、当該部分計算の種類が消費電力指標情報格納手段２３０に格納されていない場合において、消費電力指標情報生成手段２２５は、当該部分計算を計算内容解析手段２４０に送る。そして、消費電力指標情報生成手段２２５は、計算内容解析手段２４０から受け取った解析結果に基づいて消費電力指標情報を生成し、選択手段２７５に送る。また、消費電力指標情報生成手段２２５は、当該部分計算の種類を、生成した消費電力指標に対応付けて消費電力指標情報格納手段２３０に格納する。
【００３１】
計算内容解析手段２４０は、消費電力指標情報生成手段２２５から受け取った部分計算について、当該部分計算の処理内容を解析し、消費電力指標情報生成手段２２５に返送する。また、計算内容解析手段２４０は、当該部分計算が計算処理のクリティカルパスに含まれるか否かを解析したクリティカルパス情報を生成し、選択手段２７５に送る。ここで、クリティカルパスとは、複数の部分計算のうち、互いに実行順序が定まっており並列に実行不能な部分計算の組のうち、計算の所要時間が最も長い部分計算の組をいう。
【００３２】
条件情報取得手段２５０は、計算処理装置３０−１〜Ｎが複数の部分計算を実行する場合に消費する電力量が満たすべき電力量条件情報と、計算処理装置３０−１〜Ｎが複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報とを利用者から取得し、選択手段２７５に送る。
【００３３】
地域情報取得手段２６０は、計算処理装置３０−１〜Ｎのそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を、上階層管理装置５０−１〜Ｎから取得し、安定性情報取得手段２０５、電力料金情報生成手段２７０、及び選択手段２７５に送る。
【００３４】
電力料金情報生成手段２７０は、計算処理装置３０−１〜Ｎのそれぞれについて、当該計算処理装置の消費電力当たりの電力料金を示す電力料金情報を、地域情報取得手段２６０から受け取った地域情報に基づいて生成し、選択手段２７５に送る。
【００３５】
選択手段２７５は、複数の部分計算のそれぞれに対応付けて、計算処理装置３０−１〜Ｎのうち当該部分計算を実行する場合に電力量条件情報及び安定性条件情報を満たす計算処理装置を、電力処理指標情報、安定性情報、消費電力指標情報、クリティカルパス情報、地域情報、及び電力料金情報に基づいて選択し、選択結果を部分計算要求手段２１５に送る。
【００３６】
より具体的には、選択手段２７５は、下階層管理装置４０−１〜Ｍ及び上階層管理装置５０−１〜Ｌが管理する電力処理指標情報及び電力処理総合情報を用いて、以下の手順により計算処理装置を選択してもよい。まず、選択手段２７５は、管理する電力処理総合情報の何れかが電力量条件情報及び安定性条件情報を満たす上階層管理装置、例えば、上階層管理装置５０−１を選択する。そして、選択手段２７５は、上階層管理装置５０−１により管理される下階層管理装置のうち、管理する電力処理指標情報の何れかが電力量条件情報及び安定性条件情報を満たす下階層管理装置、例えば、下階層管理装置４０−１を選択する。更に、選択手段２７５は、下階層管理装置４０−１により管理される計算処理装置のうち、電力量条件情報及び安定性条件情報を満たす計算処理装置、例えば、計算処理装置３０−１を選択する。
これにより、計算処理装置３０−１〜Ｎが膨大な数である場合であっても、適切な計算処理装置を効率的に検索することができる。
【００３７】
処理結果出力手段２８０は、複数の部分計算を実行する計算処理装置を識別する情報を部分計算要求手段２１５から受け取る。そして、処理結果出力手段２８０は、これらの計算処理装置から受け取った部分計算の結果の組を、計算処理７００の結果として利用者に出力する。これに加えて、処理結果出力手段２８０は、受け取った部分計算の結果の組を用いて更に計算をした結果を計算処理７００の結果として出力してもよい。
【００３８】
また、処理結果出力手段２８０は、各部分計算が処理された場合に実際に消費された電力量を示す電力実消費量情報を、当該部分計算を実行した計算処理装置を識別する情報に対応付けて計算処理装置３０−１〜Ｎから取得し、電力処理指標情報取得手段２００に送る。これに加えて、処理結果出力手段２８０は、計算処理装置を識別する情報に対応付けて電力実消費量情報を利用者に対して出力してもよい。この場合、利用者は、例えば所定の地域で使用される総電力量を知ることができる。これにより、利用者は電気事業者との契約内容が、現状の総電力量と比較して適切か否かを判断し、必要に応じて契約変更することができる。
【００３９】
図３は、計算処理装置３０−１のブロック図を示す。計算処理装置３０−１は、部分計算処理手段３００と、処理結果送信手段３１０と、実消費量送信手段３２０と、部分計算再割当手段３３０とを有する。なお、計算処理装置３０−２〜Ｎのそれぞれは、計算処理装置３０−１と略同一の構成を取るので、相違する点についてのみ説明する。
【００４０】
部分計算処理手段３００は、計算要求装置２０から要求された部分計算を処理し、処理結果を処理結果送信手段３１０に送る。これを受けて、処理結果送信手段３１０は、部分計算の処理結果を計算要求装置２０に送信する。また、実消費量送信手段３２０は、部分計算処理手段３００が部分計算を処理した場合に消費した電力量を示す電力実消費量情報を、部分計算処理手段３００の処理内容を解析することにより生成し、当該部分計算を識別する情報に対応付けて計算要求装置２０に送信する。
【００４１】
電力実消費量情報を生成する処理の一例を以下に示す。まず、実消費量送信手段３２０は、電力消費量測定用の所定のプログラムにより、当該部分計算が実行された期間における計算処理装置３０−１の電力消費量を測定する。そして、実消費量送信手段３２０は、オペレーティングシステムの統計情報を参照することにより、計算処理装置３０−１全体の処理によりＣＰＵが使用された時間に対する当該部分計算によりＣＰＵが使用された時間の割合を特定する。これにより、実消費量送信手段３２０は、部分計算により使用された電力消費量を概算し、電力実消費量情報として生成することができる。
【００４２】
また、電力消費量についての上記測定方法は一例であり、他の方法を用いてもよい。例えば、実消費量送信手段３２０は、オペレーティングシステムにおいて定められたＡＰＩを用いて電力実消費量情報を生成してもよいし、ＢＩＯＳにおいて定められたシステムコールを用いて電力実消費量情報を生成してもよい。更に、計算処理装置３０−２〜Ｎのそれぞれは、計算処理装置３０−１とは異なる方法により電力実消費量情報を生成してもよい。
【００４３】
部分計算再割当手段３３０は、下階層管理装置４０−１からの通知を受けて、計算処理装置３０−１が設けられた地域の総消費電力が、当該地域における最大供給可能電力のうち予め定められた基準割合に達したか否かを判断する。部分計算再割当手段３３０は、当該地域の総消費電力が基準割合に達したと判断した場合に、部分計算処理手段３００に部分計算の処理を中止させ、部分計算処理手段３００において処理する部分計算を部分計算処理手段３００から取得する。そして、部分計算再割当手段３３０は、当該部分計算を、当該地域とは異なる地域に設けられた他の計算処理装置、例えば、計算処理装置３０−Ｎにおいて実行させるべく、下階層管理装置４０−１に送信する。これを受けて、下階層管理装置４０−１は、上階層管理装置５０−１及び下階層管理装置４０−２を介して、計算処理装置３０−Ｎに部分計算を送信する。
【００４４】
以上、図１から図３において示したように、分散コンピューティングシステム１０は、所定の計算処理を構成する複数の部分計算のそれぞれを実行する計算処理装置のそれぞれを、所定の計算処理量当たりの消費電力を示す電力処理指標情報及び当該計算処理装置に供給される電力の安定性を示す安定性情報を満たすように選択する。これにより、消費電力量の条件を満たすと共に、計算処理を高速かつ高効率に実行することができる。
【００４５】
図４は、分散コンピューティングシステム１０が計算処理を実行する動作フローを示す。電力処理指標情報取得手段２００は、計算処理装置３０−１〜Ｎのそれぞれについて電力処理指標情報を取得する（Ｓ４００）。例えば、電力処理指標情報取得手段２００は、各計算処理装置の電力処理指標情報として、当該計算処理装置のＣＰＵ、ハードディスクドライブ、及び入出力装置の少なくとも一について、所定の処理量あたりの消費電力を示す性能情報を取得する。
【００４６】
具体的には、電力処理指標情報取得手段２００は、性能情報としてＣＰＵの熱設計消費電力（ＴＤＰ：Ｔｈｅｒｍａｌ  Ｄｅｓｉｇｎ  Ｐｏｗｅｒ）及びＣＰＵの種類を示す情報を取得してもよい。これにより、計算要求装置２０は、電力処理指標情報として、ＣＰＵ１クロック当たりの消費電力を見積もることができる。
【００４７】
例えば、インテルコーポレーションのＰｅｎｔｉｕｍ（登録商標）４プロセッサ（Ｎｏｒｔｈｗｏｏｄ）において、動作周波数の互いに異なる複数の種類のプロセッサは、互いに異なるＴＤＰを有している。一例として、３．０Ｇｈｚ動作のプロセッサにおいて、ＴＤＰは８１．９Ｗであり、２．４Ｇｈｚ動作のプロセッサにおいて、ＴＤＰは５７．８Ｗである。従って、３．０Ｇｈｚ動作のプロセッサにおいて、１Ｇｈｚ当たりの消費電力は２７．３Ｗであり、２．４Ｇｈｚ動作のプロセッサにおいて、１Ｇｈｚ当たりの消費電力は２４．１Ｗである。このように、電力処理指標情報取得手段２００が、電力処理指標情報として、ＣＰＵのＴＤＰ及び種類の組を取得することにより、計算要求装置２０は、１クロック当たりの消費電力を見積もることができる。
【００４８】
また、電力処理指標情報取得手段２００は、電力処理指標情報として、計算処理装置３０−１〜Ｎのそれぞれが所定量の計算を行った場合における、当該計算処理装置の消費電力及び当該計算処理装置が接続されたネットワーク機器の消費電力の合計を取得してもよい。即ち、電力処理指標情報とは、計算処理装置のみの消費電力に限定されず、計算要求装置２０から要求された計算を計算処理装置が行い計算結果を送信する一連の処理における消費電力である。
【００４９】
安定性情報取得手段２０５は、計算処理装置３０−１〜Ｎのそれぞれについて安定性情報を取得する（Ｓ４１０）。例えば、安定性情報取得手段２０５は、単位時間の瞬断発生平均回数に、平均瞬断時間を乗じた値を、安定性情報として上階層管理装置５０−１〜Ｎから取得する。また、安定性情報取得手段２０５は、地域情報取得手段２６０から取得した地域情報に基づいて、計算処理装置３０−１〜Ｎのそれぞれが設けられている地域における電力の安定性を示す情報を安定性情報として取得してもよい。
【００５０】
更に、安定性情報取得手段２０５は、各計算処理装置における安定性情報として、当該計算処理装置が電池又は発電機による無停電電源装置により管理されているか否かを示す情報を取得してもよい。この場合、選択手段２７５は、無停電電源装置により管理されている計算処理装置を、無停電電源装置により管理されていない計算処理装置と比較して電力の安定性が高い計算処理装置であると判断することができる。
【００５１】
部分計算要求手段２１５は、実行するべき計算処理７００を利用者から取得すると（Ｓ４２０）、計算処理７００の種類に基づいて、計算処理７００の当該種類に対応付けられた計算処理装置の組を識別する情報を、要求履歴情報格納手段２２０から検索する（Ｓ４３０）。
【００５２】
検索できた場合、即ち、計算処理７００の種類が、計算要求装置２０により既に処理したことのある種類である場合に（Ｓ４４０：ＹＥＳ）、部分計算要求手段２１５は、検索した当該計算処理装置の組に計算処理７００を行わせ（Ｓ４５０）、処理を終了する。これにより、計算要求装置２０は、同一の種類の計算処理を繰り返し行う場合に、部分計算を実行させるべき計算処理装置を選択する処理を省いて効率的に動作することができる。例えば、パラメータの一部のみが互いに異なる複数の計算処理を繰り返す場合、一例として、モンテカルロシュミレーションを行う場合において、効率的である。
【００５３】
検索できなかった場合、即ち、計算処理７００の種類が、計算要求装置２０により未だ処理したことのない種類である場合に（Ｓ４４０：ＮＯ）、消費電力指標情報生成手段２２５は、計算処理７００を複数の部分計算に分割する（Ｓ４６０）。続いて、計算要求装置２０は、複数の部分計算のそれぞれについて、以下の処理を実行する（Ｓ４７０）。
【００５４】
消費電力指標情報生成手段２２５は、当該部分計算の種類が消費電力指標情報格納手段２３０に格納されている場合に（Ｓ４８０：ＹＥＳ）、当該部分計算の種類に対応付けられて格納されている消費電力指標情報を消費電力指標情報格納手段２３０から取得する（Ｓ４９０）。一方、消費電力指標情報生成手段２２５は、当該部分計算の種類が消費電力指標情報格納手段２３０に格納されていない場合に（Ｓ４８０：ＮＯ）、消費電力指標情報を生成する（Ｓ４８５）。詳細については後述する。
計算要求装置２０は、以上の処理を複数の部分計算のそれぞれについて実行する（Ｓ４９５）。
【００５５】
図５は、分散コンピューティングシステム１０における図４に続く動作フローを示す。条件情報取得手段２５０は、計算処理装置３０−１〜Ｎが複数の部分計算を実行する場合に消費する電力量が満たすべき電力量条件情報と、計算処理装置３０−１〜Ｎが複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報とを利用者から取得する（Ｓ５００）。
【００５６】
例えば、条件情報取得手段２５０は、電力量条件情報として、所定の地域に設けられた複数の計算処理装置における単位時間当たりに消費する電力の上限を定める電力上限値を取得する。これに代えて、条件情報取得手段２５０は、電力量条件情報として、計算処理を開始してから終了するまでに消費される総消費電力の上限値を取得してもよい。また、条件情報取得手段２５０は、計算処理のクリティカルパスの実行時間が所定時間以内となる条件の下、消費電力を所定量以下とする電力量条件情報を取得してもよいし、電気料金を所定以下とする電力量条件情報を取得してもよい。
【００５７】
地域情報取得手段２６０は、計算処理装置３０−１〜Ｎのそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を取得する（Ｓ５１０）。例えば、地域情報取得手段２６０は、計算処理装置３０−１〜Ｎのそれぞれにおける地域情報として、当該計算処理装置が設けられている国家を示す情報、当該計算処理装置に電力を供給する電力会社を示す情報、当該計算処理装置が所属するネットワークのドメインを示す情報、当該計算処理装置が設けられる建造物を示す情報、若しくは当該計算処理装置が設けられるフロア又は部屋を示す情報を取得してもよい。
【００５８】
電力料金情報生成手段２７０は、計算処理装置３０−１〜Ｎのそれぞれについて、当該計算処理装置に消費電力当たりの電力料金を示す電力料金情報を、地域情報に基づいて生成する（Ｓ５２０）。例えば、電力料金情報生成手段２７０は、計算処理が行われる時間帯及び地域情報により定まる地域のタイムゾーンに基づいて、計算処理が行われる時間帯が当該地域において昼間及び夜間の何れであるかを特定し、計算処理装置３０−１〜Ｎのそれぞれに対応付けて電気料金情報を生成する。より具体的には、電力料金情報生成手段２７０は、ＮＴＰサーバから取得した現在時刻を、計算処理が行われる時間帯として取得してもよい。また、電力料金情報生成手段２７０は、国家又は地域毎に対応付けて時差を記録したデータベースに基づいて、地域情報により定まる地域のタイムゾーンを定めてもよい。
【００５９】
選択手段２７５は、複数の部分計算のそれぞれに対応付けて、計算処理装置３０−１〜Ｎのうち当該部分計算を実行する場合に電力量条件情報及び安定性条件情報を満たす計算処理装置を、電力処理指標情報、安定性情報、消費電力指標情報、地域情報、及び電力料金情報に基づいて選択する（Ｓ５２５）。選択方法の例を以下に示す。
【００６０】
条件情報取得手段２５０が、電力量条件情報として所定の地域に設けられた複数の計算処理装置における電力上限値を取得した場合において、選択手段２７５は、当該所定の地域における複数の計算処理装置が複数の部分計算を処理することにより単位時間当たりに消費する電力が、条件情報取得手段２５０が取得した電力上限値（例えば、ワット数で指定される値）以下である場合に、複数の部分計算のそれぞれに対応付けて、当該所定の地域における複数の計算処理装置を選択してもよい。
【００６１】
この場合、好ましくは、条件情報取得手段２５０は、電力上限値に代えて、当該電力上限値から所定量減じた値を、当該所定の地域において消費可能な電力量とする。即ち、選択手段２７５は、単位時間当たりに消費する電力が、電力上限値から所定量減じた値以下である場合に、当該所定の地域における複数の計算処理装置を選択することが好ましい。これにより、電力処理指標情報又は消費電力指標情報が、実際の消費電力と比較した誤差を有している場合であっても、実際の消費電力が電力上限値を上回ることを防ぐことができる。
【００６２】
他の例として、選択手段２７５は、複数の部分計算のそれぞれを実行させる計算処理装置として、計算処理装置が設けられる地域において部分計算要求手段２１５が部分計算を要求する時刻が夜間である計算処理装置を、当該時刻が昼間である計算処理装置より優先して選択する。これにより、夜間に余剰する電力を有効に利用できると共に、分散コンピューティングシステム１０全体における電気料金を節約することができる。ここで、夜間とは、電力を供給する事業者により定められた、夜間用電気料金が適用される時間帯をいう。また、昼間とは、昼間用電気料金が適用される時間帯をいう。また、夜間と昼間による区別は一例であり、選択手段２７５は、所定の地域における電力消費量がより少ない時間帯である計算処理装置を、電力消費量がより多い時間帯である計算処理装置より優先して選択すればよい。
【００６３】
更に他の例として、選択手段２７５は、電力量条件情報及び安定性条件情報を満たす計算処理装置のうち、クリティカルパスに含まれない部分計算に対応付けて選択する計算処理装置と比較して、電力処理指標情報の示す消費電力量がより大きくかつ処理速度がより速い計算処理装置を、計算処理のクリティカルパスに含まれる部分計算に対応付けて選択する。これにより、クリティカルパス内の計算については、消費電力が大きい場合であっても迅速に処理することができるので、電力量条件情報及び安定性条件情報を満たしつつ処理を高速化することができる。
【００６４】
また、選択手段２７５は、計算処理装置のクリティカルパスに含まれる部分計算に対応付けて、当該クリティカルパスに含まれない部分計算に対応付けて選択する計算処理装置と比較して、安定性情報の示す安定性がより大きい計算処理装置を選択する。これにより、電力の瞬断等に起因する計算の中断又は再計算により、計算処理の完了が遅延することを防ぐことができる。
【００６５】
続いて、部分計算要求手段２１５は、複数の部分計算のそれぞれについて、当該部分計算の実行を開始させる指示を、選択手段２７５により当該部分計算に対応付けて選択された計算処理装置に送信する（Ｓ５３０）。例えば、部分計算要求手段２１５は、当該部分計算を、当該部分計算に対応付けて選択された計算処理装置３０−１に送信する。これに代えて、部分計算要求手段２１５は、選択手段２７５により選択された上階層管理装置、例えば、上階層管理装置５０−１に、当該部分計算を送信してもよい。この場合、上階層管理装置５０−１は、当該部分計算を、当該部分計算を実行させる計算処理装置を管理する下階層管理装置４０−１に転送する。更に、下階層管理装置４０−１は、当該部分計算を、選択された計算処理装置に転送する。即ち、部分計算要求手段２１５は、上階層管理装置及び下階層管理装置を介して部分計算を計算処理装置に送信してもよい。
【００６６】
ここで、複数の部分計算を処理させる計算処理装置として、同一の地域における複数の計算処理装置が選択された場合、好ましくは、部分計算要求手段２１５は、同一の地域における一の計算処理装置に部分計算を開始させる時刻及び当該地域における他の計算処理装置に部分計算を開始させる時間を異ならせるべく、複数の部分計算のそれぞれを実行開始させるタイミングを調節する。これにより、計算開始時に計算開始後と比較して消費電力が高くなる場合、例えば、計算開始時にハードディスクドライブ等を駆動する場合であっても、同一の地域における瞬間最大消費電力を低減することができる。
【００６７】
更に好ましくは、部分計算要求手段２１５は、より長い処理時間を要する部分計算を、より短い処理時間を要する部分計算より早く開始させる。これにより、計算開始から複数の部分計算のそれぞれが終了するまでの所要時間を短縮することができる。
【００６８】
続いて、部分計算要求手段２１５は、複数の部分計算により構成される計算処理の種類を、複数の部分計算を実行させる計算処理装置の組に対応付けて要求履歴情報格納手段２２０に格納する（Ｓ５３３）。
【００６９】
部分計算処理手段３００は、部分計算の実行を開始する指示を受信すると（Ｓ５３５：ＹＥＳ）、部分計算を実行する（Ｓ５４０）。部分計算再割当手段３３０は、計算処理装置３０−１が設けられた地域の総消費電力が、当該地域における最大供給可能電力のうち予め定められた基準割合に達したか否かを判断する（Ｓ５４５）。
【００７０】
部分計算再割当手段３３０は、当該地域の総消費電力が基準割合に達したと判断した場合に（Ｓ５４５：ＹＥＳ）、部分計算処理手段３００に部分計算の処理を中止させ、部分計算処理手段３００において処理する部分計算を部分計算処理手段３００から取得して他の計算処理装置に送信する（Ｓ５５０）。これにより、計算処理装置３０−１は、計算要求装置２０の処理に関わらず自律的に、所定の地域における電力消費の集中を防止することができる。
【００７１】
当該地域の総消費電力が基準割合に達していないと判断した場合に（Ｓ５４５：ＮＯ）、部分計算が終了したか否かを判断する（Ｓ５５５）。部分計算が終了していない場合（Ｓ５５５：ＮＯ）、計算処理装置３０−１は、Ｓ５４０に処理を戻して部分計算の処理を継続する。
【００７２】
一方、部分計算が終了した場合に（Ｓ５５５：ＹＥＳ）、処理結果送信手段３１０は、部分計算の処理結果を計算要求装置２０に送信する（Ｓ５６０）。また、実消費量送信手段３２０は、部分計算処理手段３００が部分計算を処理した場合に消費した電力量を示す電力実消費量情報を、部分計算処理手段３００の処理内容を解析することにより生成し、当該部分計算を識別する情報に対応付けて計算要求装置２０に送信する（Ｓ５７５）。
【００７３】
処理結果出力手段２８０は、計算処理装置３０−１〜Ｎから複数の部分計算のそれぞれについて処理結果を受け取った場合に（Ｓ５６５：ＹＥＳ）、受け取った部分計算の結果の組を、計算処理７００の結果として利用者に出力する（Ｓ５７０）。また、電力処理指標情報取得手段２００は、各部分計算が処理された場合に実際に消費された電力量を示す電力実消費量情報を、当該部分計算を実行した計算処理装置を識別する情報に対応付けて、処理結果出力手段２８０を介して計算処理装置３０−１〜Ｎから取得する（Ｓ５８０）。そして、電力処理指標情報取得手段２００は、受け取った電力実消費量を電力処理指標情報として計算機環境データベース２１０に格納する（Ｓ５９０）。
【００７４】
図６は、Ｓ４８５における動作フローの詳細を示す。計算内容解析手段２４０は、複数の部分計算のそれぞれについて、当該部分計算に含まれるインストラクション数を解析する（Ｓ６００）。例えば、計算内容解析手段２４０は、インストラクション数として、部分計算における実行されることが予測される実行パスにおける実行ステップ数を解析してもよいし、部分計算全体のインストラクション数を解析してもよい。また、計算内容解析手段２４０は、ループ処理における誘導変数を用いてインストラクション数を解析してもよい。
【００７５】
また、計算内容解析手段２４０は、複数の部分計算のそれぞれについて、当該部分計算の処理において入出力装置がアクセスされるアクセス回数を解析する（Ｓ６１０）。例えば、計算内容解析手段２４０は、入出力装置のアクセスに用いられるＡＰＩの呼び出し回数に基づいて、アクセス回数を解析してもよい。
【００７６】
更に、計算内容解析手段２４０は、複数の部分計算のそれぞれについて、当該部分計算の処理において入出力装置が転送する転送データのサイズを解析する（Ｓ６２０）。例えば、計算内容解析手段２４０は、入出力装置のアクセスに用いられるＡＰＩの引数の値に基づいて、転送データのサイズを解析してもよい。
【００７７】
また、計算内容解析手段２４０は、複数の部分計算のそれぞれについて、当該部分計算が、計算処理におけるクリティカルパスに含まれるか否かを解析する（Ｓ６３０）。また、計算内容解析手段２４０は、複数の部分計算のそれぞれについて、当該部分計算と同一の種類の処理であって、当該部分計算より処理時間が短い他の処理である、ベンチマークプログラムを実行する（Ｓ６４０）。
【００７８】
続いて、消費電力指標情報生成手段２２５は、解析結果に基づいて、以下の処理により消費電力指標情報を生成する（Ｓ６５０）。例えば、消費電力指標情報生成手段２２５は、複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較してインストラクション数が多い場合に、当該部分計算が他の部分計算と比較して消費電力量が大きい旨を示す消費電力指標情報を生成する。
【００７９】
また、消費電力指標情報生成手段２２５は、複数の部分計算のそれぞれについて、当該部部計算が他の部分計算と比較してアクセス回数が多い場合に、当該部分計算が他の部分計算と比較して消費電力が大きい旨を示す消費電力指標を生成する。また、消費電力指標情報生成手段２２５は、複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較して転送データのサイズが大きい場合に、当該部分計算が他の部分計算と比較して消費電力が大きい旨を示す消費電力指標を生成する。
【００８０】
例えば、消費電力指標情報生成手段２２５は、複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要するＣＰＵの演算量、ハードディスクドライブへのアクセス量、及び入出力装置の使用量の少なくとも一を示す処理内容情報を、消費電力指標情報として生成してもよい。また、消費電力指標情報生成手段２２５は、ベンチマークプログラムを実行した結果消費した電力量に基づいて、消費電力指標情報を生成してもよい。
【００８１】
続いて、消費電力指標情報生成手段２２５は、当該部分計算の種類を、生成した消費電力指標に対応付けて消費電力指標情報格納手段２３０に格納する（Ｓ６６０）。
【００８２】
図７は、計算処理７００の詳細を示す。計算処理７００は、それぞれが部分計算の一例であるアプリケーション１、アプリケーション２、アプリケーション３、アプリケーション４、アプリケーション５、アプリケーション６、及びアプリケーション７を含む。本図における実線矢印は、アプリケーション間の呼び出し関係を示し、例えば、アプリケーション１に処理中に、アプリケーション２から４が順次呼び出されて実行される。また、消費電力指標情報生成手段２２５は、アプリケーション１から７のそれぞれに対応付けて、消費電力指標情報Ａ１からＡ７のそれぞれを生成する。
【００８３】
更に、アプリケーションのそれぞれは、それぞれが部分計算の一例であるジョブを複数含む。例えば、アプリケーション４は、ジョブ１、ジョブ２、ジョブ３、ジョブ４、ジョブ５、及びジョブ６を含む。アプリケーションの場合と同様、ジョブ１に処理中に、ジョブ２及びジョブ３が順次呼び出されて実行される。また、消費電力指標情報生成手段２２５は、ジョブ１から６のそれぞれに対応付けて、消費電力指標情報Ｊ１からＪ６のそれぞれを生成する。
【００８４】
このように、計算処理７００は、呼び出されて実行される単位毎に複数の部分計算に分類されており、計算要求装置２０は、これらの部分計算のそれぞれを計算処理装置３０−１〜Ｎの何れかにおいて実行させる。例えば、アプリケーション２、アプリケーション３、及びアプリケーション４間に実行の順序関係が定まっていない場合においては、計算要求装置２０は、アプリケーション２、アプリケーション３、及びアプリケーション４のそれぞれを、互いに異なる３つの計算処理装置により並行に実行させることにより、処理を高速化することができる。
【００８５】
図８は、計算要求装置２０のハードウェア構成の一例を示す。計算要求装置２０は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、グラフィックコントローラ１０７５、及び表示装置１０８０を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００８６】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００８７】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ファイバチャネル等のネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、計算要求装置２０が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。
【００８８】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、計算要求装置２０の起動時にＣＰＵ１０００が実行するブートプログラムや、計算要求装置２０のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００８９】
計算要求装置２０に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び／又は入出力コントローラ１０８４を介して、記録媒体から読み出され計算要求装置２０にインストールされて実行される。
【００９０】
計算要求装置２０にインストールされて実行されるプログラムは、電力処理指標情報取得モジュールと、安定性情報取得モジュールと、部分計算要求モジュールと、消費電力指標情報生成モジュールと、計算内容解析モジュールと、条件情報取得モジュールと、地域情報取得モジュールと、電力料金情報生成モジュールと、選択モジュールと、処理結果出力モジュールとを含む。各モジュールが計算要求装置２０に働きかけて行わせる動作は、図１から図７において説明した計算要求装置２０における、対応する部材の動作と同一であるから、説明を省略する。
【００９１】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを計算要求装置２０に提供してもよい。
【００９２】
以上、本実施例から明らかなように、分散コンピューティングシステム１０は、膨大な時間を要する計算処理を複数の部分計算に分割し、当該複数の部分計算を計算処理装置３０−１〜Ｎを用いて並行に処理する。これにより、計算処理を高速に行うことができる。また、分散コンピューティングシステム１０は、部分計算の処理内容を解析することにより、部分計算に要する電力又は部分計算の重要性等の情報を生成する。更に、分散コンピューティングシステム１０は、各計算処理装置において計算量当たりに消費する電力の情報を取得する。これらの情報に基づいて、分散コンピューティングシステム１０は、部分計算を実行するべき計算処理装置を選択する。これにより、これにより、利用者から取得する条件に応じて、電力消費量を削減し、夜間電力を有効利用し、電気料金を削減し、又は計算処理の安定性を確保することができる。
【００９３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９４】
以上に示した実施例によると、以下の各項目に示す分散コンピューティングシステム、制御方法、プログラム、及び記録媒体が実現される。
【００９５】
（項目１）  予め定められた計算処理を構成する複数の部分計算をそれぞれ実行する複数の計算処理装置と、前記複数の計算処理装置に部分計算を要求する計算要求装置とを備える分散コンピューティングシステムであって、前記計算要求装置は、前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段と、前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成手段と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得手段と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択手段と、前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段とを有し、前記複数の計算処理装置のそれぞれは、前記計算要求装置から要求された部分計算を処理する部分計算処理手段と、前記部分計算の処理結果を前記計算要求装置に送信する処理結果送信手段とを有する分散コンピューティングシステム。
（項目２）  前記電力処理指標情報取得手段は、各計算処理装置の前記電力処理指標情報として、当該計算処理装置のＣＰＵ、ハードディスクドライブ、及び入出力装置の少なくとも一について、所定の処理量当たりの消費電力を示す性能情報を取得し、前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要するＣＰＵの演算量、ハードディスクドライブへのアクセス量、及び入出力装置の使用量の少なくとも一を示す処理内容情報を、前記消費電力指標情報として生成する項目１記載の分散コンピューティングシステム。
【００９６】
（項目３）  前記計算要求装置は、前記複数の計算処理装置のそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を取得する地域情報取得手段と、前記複数の計算処理装置のそれぞれについて、当該計算処理装置の消費電力当たりの電力料金を示す電力料金情報を、前記地域情報に基づいて生成する電力料金情報生成手段とを更に有し、前記選択手段は、前記電力量条件情報を満たす計算処理装置を、更に前記電力料金情報に基づいて選択する項目１記載の分散コンピューティングシステム。
（項目４）  前記電力料金情報生成手段は、前記計算処理が行われる時間帯及び前記地域情報により定まる地域のタイムゾーンに基づいて、前記複数の計算処理装置のそれぞれに対応付けて前記電気料金情報を生成し、前記選択手段は、前記複数の部分計算のそれぞれを実行させる計算処理装置として、計算処理装置が設けられる地域における前記部分計算要求手段が前記部分計算を要求する時刻が夜間である計算処理装置を、当該時刻が昼間である計算処理装置より優先して選択する項目３記載の分散コンピューティングシステム。
（項目５）  前記計算要求装置は、前記複数の計算処理装置のそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を取得する地域情報取得手段を更に有し、前記条件情報取得手段が、前記電力量条件情報として、所定の地域に設けられた複数の計算処理装置における単位時間当たりに消費する電力の上限を定める電力上限値を取得した場合において、前記選択手段は、前記所定の地域における複数の計算処理装置が前記複数の部分計算を処理することにより単位時間当たりに消費する電力が、前記電力上限値以下である場合に、当該複数の部分計算のそれぞれに対応付けて、前記所定の地域における複数の計算処理装置を選択する項目１記載の分散コンピューティングシステム。
（項目６）  前記複数の部分計算を処理させる計算処理装置として、同一の地域における複数の計算処理装置が選択された場合に、前記部分計算要求手段は、同一の地域における一の計算処理装置に部分計算を開始させる時間及び当該地域における他の計算処理装置に部分計算を開始させる時間を異ならせるべく、前記複数の部分計算のそれぞれを実行開始させるタイミングを調節する項目５記載の分散コンピューティングシステム。
【００９７】
（項目７）  前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算に含まれるインストラクション数を解析する計算内容解析手段を更に有し、前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較してインストラクション数が多い場合に、当該部分計算が他の部分計算と比較して消費電力量が大きい旨を示す消費電力指標情報を生成する項目１記載の分散コンピューティングシステム。
（項目８）  前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算の処理において入出力装置がアクセスされるアクセス回数を解析する計算内容解析手段を更に有し、前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較して前記アクセス回数が多い場合に、当該部分計算が他の部分計算と比較して消費電力量が大きい旨を示す消費電力指標情報を生成する項目１記載の分散コンピューティングシステム。
（項目９）  前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算の処理において入出力装置が転送する転送データのサイズを解析する計算内容解析手段を更に有し、前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算が他の部分計算と比較して前記転送データのサイズが大きい場合に、当該部分計算が他の部分計算と比較して消費電力量が大きい旨を示す消費電力指標情報を生成する項目１記載の分散コンピューティングシステム。
（項目１０）  前記消費電力指標情報生成手段は、前記複数の部分計算のそれぞれについて、当該部分計算と同一の種類の処理であって、当該部分計算より処理時間が短い他の処理を実行した場合に消費する電力量に基づいて、消費電力指標情報を生成する項目１記載の分散コンピューティングシステム。
（項目１１）  前記計算要求装置は、前記複数の部分計算のそれぞれについて、当該部分計算が前記計算処理におけるクリティカルパスに含まれるか否かを解析する計算内容解析手段を更に有し、前記選択手段は、前記電力量条件情報を満たす計算処理装置のうち、前記クリティカルパスに含まれない部分計算に対応付けて選択する計算処理装置と比較して、前記電力処理指標情報の示す消費電力量がより大きくかつ処理速度がより速い計算処理装置を前記クリティカルパスに含まれる部分計算に対応付けて選択する項目１記載の分散コンピューティングシステム。
【００９８】
（項目１２）  前記計算処理装置は、前記部分計算処理手段が部分計算を処理した場合に消費した電力量を示す電力実消費量情報を、当該部分計算を識別する情報に対応付けて、前記計算要求装置に送信する実消費量送信手段を更に有し、前記電力処理指標情報取得手段は、当該部分計算当たりの当該電力実消費量情報を、前記電力処理指標情報として前記実消費量送信手段から取得する項目１記載の分散コンピューティングシステム。
（項目１３）  前記計算要求装置は、部分計算の種類と、当該部分計算の消費電力指標情報とを対応付けて格納する消費電力指標情報格納手段を更に有し、前記複数の部分計算のそれぞれについて、当該部分計算の種類が前記消費電力指標情報格納手段に格納されている場合において、前記消費電力指標情報生成手段は、当該部分計算の種類に対応付けられた消費電力指標情報を前記消費電力指標情報格納手段から選択することにより、当該部分計算の消費電力指標情報を生成する項目１記載の分散コンピューティングシステム。
（項目１４）  前記計算要求装置は、当該計算要求装置が既に行わせた計算処理の種類に、当該計算処理を行った計算処理装置の組を識別する情報を対応付けた情報を格納する要求履歴情報格納手段を更に有し、前記部分計算要求手段は、実行するべき計算処理の種類に基づいて、計算処理の当該種類に対応付けられた計算処理装置の組を識別する情報を、前記要求履歴情報格納手段から検索し、検索した当該計算処理装置の組に当該計算処理を行わせる、項目１記載の分散コンピューティングシステム。
（項目１５）  前記部分計算要求手段は、より長い処理時間を要する部分計算を、より短い処理時間を要する部分計算より早く開始させる項目１記載の分散コンピューティングシステム。
（項目１６）  前記計算処理装置は、当該計算処理装置が設けられた地域の総消費電力が、当該地域における最大供給可能電力のうち予め定められた割合に達したと判断した場合に、前記部分計算処理手段において処理する部分計算を、当該地域とは異なる地域に設けられた他の計算処理装置において実行させる部分計算再割当手段を更に有する項目１記載の分散コンピューティングシステム。
【００９９】
（項目１７）  前記複数の計算処理装置を分類した複数の処理装置グループのそれぞれに対応して設けられ、当該処理装置グループにおける各計算処理装置の電力処理指標情報を管理する下階層管理装置と、複数の前記下階層管理装置を分類した複数の管理装置グループのそれぞれに対応して設けられ、当該管理装置グループにおける各下階層管理装置が管理する電力処理指標情報の最大値及び最小値の間の値である電力処理総合情報を管理する上階層管理装置とを更に備え、前記電力処理指標情報取得手段は、前記上階層管理装置から前記電力処理総合情報を、前記下階層管理装置から前記電力処理指標情報をそれぞれ取得し、前記選択手段は、管理する電力処理総合情報の何れかが前記電力量条件情報を満たす上階層管理装置を選択し、当該上階層管理装置により管理される下階層管理装置のうち、管理する電力処理指標情報の何れかが前記電力量条件情報を満たす下階層管理装置を選択し、当該下階層管理装置により管理される計算処理装置のうち、前記電力量条件を満たす計算処理装置を選択する項目１記載の分散コンピューティングシステム。
（項目１８）  予め定められた計算処理を構成する複数の部分計算をそれぞれ実行する複数の計算処理装置と、前記複数の計算処理装置に部分計算を要求する計算要求装置とを備える分散コンピューティングシステムであって、前記計算要求装置は、前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得手段と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得手段と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択手段と、前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段とを有し、前記複数の計算処理装置のそれぞれは、前記計算要求装置から要求された部分計算を処理する部分計算処理手段と、前記部分計算の処理結果を前記計算要求装置に送信する処理結果送信手段とを有する分散コンピューティングシステム。
【０１００】
（項目１９）  前記安定性情報取得手段は、各計算処理装置における前記安定性情報として、当該計算処理装置が電池又は発電機による無停電電源装置により管理されているか否かを示す情報を取得する項目１８記載の分散コンピューティングシステム。
（項目２０）  前記計算要求装置は、前記複数の計算処理装置のそれぞれが、予め定められた複数の地域のうち何れに設けられているかを示す地域情報を取得する地域情報取得手段を更に有し、前記安定性情報取得手段は、各計算処理装置における前記安定性情報として、当該計算処理装置が設けられた地域に供給される電気の安定性を示す情報を取得する項目１８記載の分散コンピューティングシステム。
（項目２１）  前記計算要求装置は、前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段を更に有し、前記条件情報取得手段は、前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を更に取得し、前記選択手段は、更に前記電力処理指標情報に基づいて、更に前記電力量条件情報を満たす計算処理装置を選択する項目１８記載の分散コンピューティングシステム。
（項目２２）  複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置であって、前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段と、前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成手段と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得手段と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択手段と、前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段とを備える計算要求装置。
【０１０１】
（項目２３）  複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置であって、前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得手段と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得手段と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択手段と、前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段とを備える計算要求装置。
（項目２４）  複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置としてコンピュータを動作させる制御方法であって、前記コンピュータにより、前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得段階と、前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成段階と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得段階と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択段階と、前記複数の部分計算のそれぞれを、前記選択段階において当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求段階と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力段階とを備える制御方法。
【０１０２】
（項目２５）  複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置として、コンピュータを動作させる制御方法であって、前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得段階と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得段階と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択段階と、前記複数の部分計算のそれぞれを、前記選択段階において当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求段階と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力段階とを備える制御方法。
（項目２６）  複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置としてコンピュータを機能させるプログラムであって、前記コンピュータを、前記複数の計算処理装置のそれぞれについて、所定の計算処理量当たりの消費電力を示す電力処理指標情報を取得する電力処理指標情報取得手段と、前記複数の部分計算のそれぞれについて、同一の計算処理装置において他の部分計算を処理した場合と比較した当該部分計算の処理に要する電力量を示す消費電力指標情報を生成する消費電力指標情報生成手段と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に消費する電力量が満たすべき条件を示す電力量条件情報を取得する条件情報取得手段と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記電力量条件情報を満たす計算処理装置を、前記電力処理指標情報及び前記消費電力指標情報に基づいて選択する選択手段と、前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段として機能させるプログラム。
【０１０３】
（項目２７）  複数の計算処理装置に、予め定められた計算処理を構成する複数の部分計算をそれぞれ実行させる計算要求装置としてコンピュータを機能させるプログラムであって、前記コンピュータを、前記複数の計算処理装置のそれぞれについて、当該計算処理装置に供給される電力の安定性を示す安定性情報を取得する安定性情報取得手段と、前記複数の計算処理装置が前記複数の部分計算を実行する場合に供給を受ける電気の安定性の条件を示す安定性条件情報を取得する条件情報取得手段と、前記複数の部分計算のそれぞれに対応付けて、前記複数の計算処理装置のうち当該部分計算を実行する場合に前記安定性条件情報を満たす計算処理装置を、前記安定性情報に基づいて選択する選択手段と、前記複数の部分計算のそれぞれを、前記選択手段により当該部分計算に対応付けて選択された計算処理装置に行わせる部分計算要求手段と、前記複数の計算処理装置から受け取った部分計算の結果の組を、前記計算処理の結果として出力する処理結果出力手段として機能させるプログラム。
（項目２８）  項目２６又は項目２７記載のプログラムを記録した記録媒体。
【図面の簡単な説明】
【０１０４】
【図１】図１は、分散コンピューティングシステム１０のブロック図を示す。
【図２】図２は、計算要求装置２０のブロック図を示す。
【図３】図３は、計算処理装置３０−１のブロック図を示す。
【図４】図４は、分散コンピューティングシステム１０が計算処理を実行する動作フローを示す。
【図５】図５は、分散コンピューティングシステム１０における図４に続く動作フローを示す。
【図６】図６は、Ｓ４８５における動作フローの詳細を示す。
【図７】図７は、計算処理７００の詳細を示す。
【図８】図８は、計算要求装置２０のハードウェア構成の一例を示す。
【符号の説明】
【０１０５】
１０  分散コンピューティングシステム
２０  計算要求装置
３０  計算処理装置
３５  処理装置グループ
４０  下階層管理装置
４５  管理装置グループ
５０  上階層管理装置
２００  電力処理指標情報取得手段
２０５  安定性情報取得手段
２１０  計算機環境データベース
２１５  部分計算要求手段
２２０  要求履歴情報格納手段
２２５  消費電力指標情報生成手段
２３０  消費電力指標情報格納手段
２４０  計算内容解析手段
２５０  条件情報取得手段
２６０  地域情報取得手段
２７０  電力料金情報生成手段
２７５  選択手段
２８０  処理結果出力手段
３００  部分計算処理手段
３１０  処理結果送信手段
３２０  実消費量送信手段
３３０  部分計算再割当手段
７００  計算処理
【図１】
2005063066.tif 000003
【図２】
2005063066.tif 000004
【図３】
2005063066.tif 000005
【図４】
2005063066.tif 000006
【図５】
2005063066.tif 000007
【図６】
2005063066.tif 000008
【図７】
2005063066.tif 000009
【図８】
2005063066.tif 000010