(57)【要約】【課題】並列処理装置の起動時間を早めること。【解決手段】複数の計算ノードと前記複数の計算ノードを複数段階に分けて起動させる管理ノードとを含む並列処理装置において、前記管理ノードは、前記複数段階のうち１つの段階で起動させた計算ノードの突入電流の測定値に基づいて、前記１つの段階の次の段階で起動させる計算ノードの台数を算出し、前記複数の計算ノードのうち前記算出した台数の計算ノードに起動を指示する。【選択図】図２
2018136762.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算ノードと前記複数の計算ノードを複数回段階に分けて起動させる管理ノードとを含む並列処理装置であって、
前記管理ノードは、
前記複数段階のうち前回１つの段階で起動させた計算ノードの突入電流の測定値と、前々回までに起動させた計算ノードの定常電流と、前記管理ノードの定常電流とを含む前記並列処理装置の第１の消費電流を取得する取得部と
前記第１の消費電流に基づいて、今回前記１つの段階の次の段階で起動させる計算ノードの台数を算出する起動台数算出部と、
前記複数の計算ノードのうち前記算出した台数の計算ノードに起動を指示する指示部と、
を備えることを特徴とする並列処理装置。
【請求項２】
前記起動台数算出部は、前記次の段階で起動させる計算ノードに供給可能な電流の最大値と、前記次の段階で起動させる計算ノードに供給可能な電流の最大値に対するマージンに基づいて、前記今回起動させる計算ノードの台数を算出することを特徴とする請求項１記載の並列処理装置。
【請求項３】
前記起動台数算出部は、前記次の段階で起動させる計算ノードに供給可能な電流の最大値を、前記並列処理装置に供給可能な電流の最大値から前記１つの段階までに起動させた計算ノードの定常電流の測定値と前記管理ノードの定常電流の測定値の合計を減算することにより算出することを特徴とする請求項２記載の並列処理装置。
【請求項４】
前記起動台数算出部は、前記１つの段階の前の段階までに起動させた計算ノードの定常電流の測定値と前記管理ノードの定常電流の測定値の合計に基づいて前記今回起動させる計算ノードの台数を算出する請求項１乃至３のいずれか１項に記載の並列処理装置。
【請求項５】
複数の計算ノードと前記複数の計算ノードを複数段階に分けて起動させる管理ノードとを含む並列処理装置の起動方法であって、
前記管理ノードが
前記複数段階のうち１つの段階で起動させた計算ノードの突入電流の測定値に基づいて、前記１つの段階の次の段階で起動させる計算ノードの台数を算出し、
前記複数の計算ノードのうち前記算出した台数の計算ノードに起動を指示する
処理を含む並列処理装置の起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列処理装置および並列処理装置の起動方法に関する。
【背景技術】
【０００２】
コンピュータシステムを用いて科学技術計算などの大規模な計算を行う場合、複数の計算機を用いた並列計算が行われる。並列計算が可能なコンピュータシステムは、並列計算機システムと呼ばれる。大規模な並列計算機システムは、並列計算を行う複数の計算機と、管理用計算機とを含む。管理用計算機は、計算機に実行させるジョブを管理する。並列計算を行う複数の計算機の各々を計算ノードと呼び、管理用計算機を管理ノードと呼ぶ。並列計算機システムは、並列処理装置の一例である。
【０００３】
また、計算機等の電子機器に電源を投入する際には、突入電流（inrush current：Iin）と呼ばれる非常に高い値の電流が電源投入直後の時刻に発生することがある。その後、時間が経過し、電源が投入された電子機器が安定した状態となり、電子機器に流れる電流は定常電流（steady current：Ist）と呼ばれる電流に落ち着いた状態となる。
【０００４】
並列計算機システムに対して電源を投入する際に、全ての計算機に対して一斉に電源投入を行うと、各計算機の突入電流により並列計算機システム全体に流れる総電流値が大きくなり、電力会社との契約電力量等の上限を越えてしまう。そのため、全ての計算機に対して一斉に電源投入を行うことは困難である。
【０００５】
それに対して、各計算機に電源を投入するタイミングをずらすことで、突入電流の発生するタイミングをずらす技術が知られている（例えば、特許文献１〜３参照）。これにより、並列計算機システム全体に流れる総電流値を抑え、電力会社との契約電力量等の上限を超えないようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２１７３９４号公報
【特許文献２】特開２０００−２０７０６９号公報
【特許文献３】特開２００３−９９１６１号公報
【特許文献４】特表２０１５−５０３８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
供給可能な電流値に余裕があるにも関わらず計算機を一定台数ずつ起動すると、並列計算機システム全体を起動するための時間が長くなる。また、並列計算機システムに流れる総電流値が、供給可能な電流値の上限値を超えそうになっても、起動台数を変更しない場合、並列計算機システムにイレギュラーな電流が流れると、総電流値が上限値を超過する可能性がある。
１つの側面において、本発明は、並列処理装置の起動時間を早めることを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態に係る並列処理装置は、複数の計算ノードと前記複数の計算ノードを複数段階に分けて起動させる管理ノードとを含む。
【０００９】
前記管理ノードは、起動台数算出部と、指示部と、を含む。
前記起動台数算出部は、前記複数段階のうち１つの段階で起動させた計算ノードの突入電流の測定値に基づいて、前記１つの段階の次の段階で起動させる計算ノードの台数を算出する。
【００１０】
前記指示部は、前記複数の計算ノードのうち前記算出した台数の計算ノードに起動を指示する。
【発明の効果】
【００１１】
実施の形態によれば、並列処理装置の起動時間を早めることができる。
【図面の簡単な説明】
【００１２】
【図１】突入電流および定常電流を示す図である。
【図２】実施の形態に係る並列計算機システムの構成図である。
【図３】段階起動時の管理ノードの動作を説明する図である。
【図４】割合ｐに対するパラメータＣの例を示す図である。
【図５】実施の形態に係る起動処理のフローチャートである。
【図６】情報処理装置（コンピュータ）の構成図（その１）である。
【図７】情報処理装置（コンピュータ）の構成図（その２）である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら実施の形態について説明する。
段階的に電源を投入するためには、それぞれの段階起動で何台の計算ノードを起動するかについて算出する。しかし、ある計算ノードに対して、理論的に突入電流を計算することは可能だが、実際の計算ノードを起動した際に発生する電流値には個体差がある。そのため、理論値から計算を行って起動台数を算出した場合、算出した段階起動が適切な起動台数とはなっていない可能性がある。供給可能な電流値に余裕がある場合、起動台数を増加させ、逆に余裕がない場合は起動台数を減少させることで、適正な起動台数とすることが望ましい。
【００１４】
並列計算機システムは、計算性能を向上させるために、計算ノードの台数が増加していく傾向にあり、多数の計算ノードに対して、状況に応じて効率的に段階起動を行うことはオペレータによる操作では困難である。
【００１５】
ここで突入電流と定常電流について説明する。
図１は、突入電流および定常電流を示す図である。
図１のグラフは１台の計算機に電源を投入したときの計算機に流れる電流を示し、縦軸は電流Ｉ、横軸は時刻ｔを示す。
【００１６】
時刻ｔ＝０において、計算機の電源を投入する。電源の投入直後には、突入電流（inrush current：Iin）と呼ばれる非常に高い値の電流が電源投入直後の時刻t=tinに発生する。その後、時間が経過し、時刻t=tstにおいて電源が投入された電子機器が安定した状態となり、電子機器に流れる電流は定常電流（steady current：Ist）と呼ばれる電流に落ち着いた状態となる。
【００１７】
図２は、実施の形態に係る並列計算機システムの構成図である。
並列計算機システム１０１は、管理ノード２０１、計算ノード３０１−ｉ（ｉ＝１〜ｎ）、および給電装置４０１を含む。並列計算機システム１０１は、並列処理装置の一例である。
【００１８】
管理ノード２０１は、計算ノード３０１−ｉの電源制御を行う。管理ノード２０１は、計算ノード３０１−ｉの段階的な起動を行う。詳細には、管理ノード２０１は、複数の段階のそれぞれ段階における計算ノード３０１−ｉの起動台数を算出し、各段階において算出された起動台数の計算ノード３０１−ｉを起動する。
【００１９】
また、管理ノード２０１は、計算ノード３０１−ｉが実行するジョブを管理する。管理ノード２０１は、計算ノード３０１−ｉおよび給電装置４０１と通信用ケーブルを介して接続し、互いに通信可能である。
【００２０】
管理ノード２０１は、起動指示部２１１、電源制御指示部２２１、記憶部２３１、起動台数計算部２４１、および電流値監視部２５１を含む。記憶部２３１は、システム管理者により設定された設定情報２３２を記憶する。電源制御指示部２２１は、指示部の一例である。起動台数計算部２４１は、起動台数算出部の一例である。
【００２１】
設定情報２３２は、契約電流値Ｉｍａｘ、マージンｍ１、計算ノード３０１−ｉの１台あたりの予想される理論的な突入電流Ｉｉｎ、およびパラメータＣを含む。設定情報２３２は、予めシステム管理者により設定される。
【００２２】
契約電流値Ｉｍａｘは、電力会社との契約により定められた給電装置４０１が供給可能な電流の最大値である。
【００２３】
マージンｍ１は、１回目の段階起動における計算ノード３０１−ｉの起動台数の算出に際し、１回目の段階起動において起動させる計算ノード３０１−ｉに供給可能な電流値に対してどの程度余裕を持たせるかを示す。
【００２４】
計算ノード３０１−ｉの１台あたりの予想される理論的な突入電流Ｉｉｎは、例えば、計算ノード３０１−ｉの製造メーカー等から提示されている。
【００２５】
パラメータＣは、２回目以降の段階起動におけるマージンの算出に用いられる値である。
【００２６】
計算ノード３０１−ｉは、並列計算を行う計算機であり、管理ノード２０１から受信した電源制御指示に応じて起動および停止する。計算ノード３０１−ｉは、管理ノード２０１から割り当てられたジョブを実行し、実行結果を管理ノード２０１に送信する。尚、実施の形態において、計算ノード３０１−ｉは、同一の構成を有する装置である。すなわち、計算ノード３０１−ｉのそれぞれの理論的な突入電流Ｉｉｎの値は同一であるとする。
【００２７】
給電装置４０１は、管理ノード２０１および計算ノード３０１−ｉと電源ケーブルを介して接続し、管理ノード２０１および計算ノード３０１−ｉに電力を供給する。給電装置４０１は、並列計算機システム１０１に供給される電流値（システム電流値）を測定し、測定したシステム電流値を管理ノード２０１に送信する。システム電流値は、管理ノード２０１に供給される（流れる）電流の測定値と計算ノード３０１−ｉのうち動作中の計算ノード３０１−ｉに供給される（流れる）電流の測定値の合計である。
【００２８】
図３は、段階起動時の管理ノードの動作を説明する図である。
尚、管理ノード２０１は、起動済みであり、計算ノード３０１−ｉは、すべて起動していないとする。
【００２９】
起動指示部２２１は、システム管理者から入力された起動指示を受信する。
起動指示部２２１は、１回目の段階起動の計算ノード３０１―ｉの起動台数の算出を起動台数計算部２４１に指示する。
【００３０】
起動台数計算部２４１は、指示を受信すると、設定情報２３２を読み出し、給電装置４０１からシステム電流値Ｉｓｔ０を取得する。起動台数計算部２４１は、設定情報２３２とシステム電流値Ｉｓｔ０に基づいて、１回目の段階起動における計算ノード３０１―ｉの起動台数Ｓ１を算出する。ここで、システム電流値Ｉｓｔ０は、０回目の段階起動時の並列計算機システム１０１の定常電流であり、０回目の段階起動において計算ノード３０１−ｉはいずれも起動していないので管理ノード２０１に供給される（流れる）電流の測定値、すなわち管理ノード２０１の定常電流の測定値である。
【００３１】
ここで、１回目の段階起動における計算ノード３０１―ｉの起動台数の算出方法について説明する。
【００３２】
起動台数計算部２４１は、１回目の段階起動における計算ノード３０１―ｉの起動台数Ｓ１を下式（１）により算出する。
【００３３】
【数１】
2018136762.tif 000003
【００３４】
上式（１）のfloorは、小数点以下を切り捨てる関数である。契約電流値Ｉｍａｘ、マージンｍ１、計算ノード３０１−ｉの１台あたりの予想される理論的な突入電流Ｉｉｎは、設定情報２３２に含まれている。システム電流値Ｉｓｔ０は給電装置４０１から取得される。システム電流値Ｉｓｔ０を管理ノード２０１で利用しているため、Ｉｍａｘ―Ｉｓｔ０は、１回目の段階起動において起動させる計算ノード３０１−ｉに対して供給可能な残りの電流値を示す。例えば、ｍ１＝２０の場合、１回目の段階起動において、供給可能な残りの電流値に対して２０％の余裕を持たせることを示し、（１−（ｍ１／１００））＝０．８となり、（Ｉｍａｘ―Ｉｓｔ０）×０．８が１回目の段階起動において起動させる計算ノード３０１−ｉの電流の最大値（突入電流）の合計の目標値となる。よって、１回目の段階起動において起動させる計算ノード３０１−ｉの突入電流の合計が（Ｉｍａｘ―Ｉｓｔ０）×０．８となるような、計算ノード３０１−ｉの起動台数は、１回目の段階起動において起動させる計算ノード３０１−ｉの突入電流の合計の目標値を計算ノード３０１−ｉの１台あたりの予想される理論的な突入電流Ｉｉｎで除算することで得られる。
【００３５】
起動台数計算部２４１は、算出した起動台数Ｓ１を起動指示部２２１に通知する。
起動指示部２２１は、１回目の段階起動として、算出された起動台数Ｓ1の計算ノード３０１―ｉの起動を電源制御指示部２２１に指示する。
【００３６】
起動指示部２２１は、１回目の段階起動として、算出された起動台数Ｓ１の計算ノード３０１―ｉの起動を電源制御指示部２２１に指示する。
【００３７】
電源制御指示部２２１は、１回目の段階起動として、未起動の計算ノード３０１―ｉのうちのＳ１台の計算ノード３０１―ｉに起動指示を送信する。起動指示を受信した計算ノード３０１―ｉは、起動処理を開始する。
【００３８】
電流値監視部２５１は、定期的（一定時間ごと）に給電装置４０１からシステム電流値を取得し、１回目の段階起動の起動指示後において、前回取得したシステム電流値（すなわち一定時間前のシステム電流値）と今回取得したシステム電流値（すなわち現在のシステム電流値）との差分を算出し、当該差分が閾値以下の場合、起動指示部２１１に突入電流が収まった旨を通知する。すなわち、１回目の段階起動において起動させた計算ノード３０１−ｉに流れる電流が定常電流となっている。尚、電流値監視部２５１は、取得したシステム電流値を履歴として記録しておき、次の段階起動における起動台数の算出に用いる。
【００３９】
１回目の段階起動において起動させた計算ノード３０１−ｉに流れる電流が定常電流となったので、起動指示部２２１は、２回目の段階起動の処理を開始する。起動指示部２２１は、２回目の段階起動の計算ノード３０１―ｉの起動台数の算出Ｓ２を起動台数計算部２４１に指示する。
【００４０】
起動台数計算部２４１は、指示を受信すると、２回目の段階起動における計算ノード３０１―ｉの起動台数Ｓ２を算出する。
【００４１】
ここで、２回目の段階起動における計算ノード３０１―ｉの起動台数の算出方法について説明する。
【００４２】
１回目の段階起動で起動した計算ノード３０１−ｉに対する定常電流は、今後も発生し続けるため、２回目の段階起動において起動させる計算ノード３０１―ｉに対して供給できる電流値は、Ｉｍａｘ−Ｉｓｔ１となる。Ｉｓｔ１は、１回目の段階起動後の管理ノード２０１の定常電流と起動済みの計算ノード３０１−ｉそれぞれの定常電流の合計である。すなわち、１回目の段階起動後に定期的（一定時間ごと）にシステム電流値を取得したときに、前回取得したシステム電流値（すなわち一定時間前のシステム電流値）と今回取得したシステム電流値（すなわち現在のシステム電流値）との差分が閾値以下である場合の今回取得したシステム電流値である。
【００４３】
２回目の段階起動におけるマージンｍ２を考慮すると、２回目の段階起動に起動させる計算ノード３０１―ｉの電流の最大値の目標値は、下式（２）となる。
【００４４】
【数２】
2018136762.tif 000004
【００４５】
上式（２）のマージンｍ２は、１回目の段階起動時の最大電流値Ｉｉｎ１（すなわち、１回目の段階起動における計算ノード３０１−ｉへの起動指示後のシステム電流値の最大値）に基づいて算出する。最大電流値Ｉｉｎ１は、管理ノード２０１の定常電流の測定値と１回目の段階起動において起動させた計算ノード３０１−ｉそれぞれの突入電流の測定値との合計である。尚、電流値監視部２５１は、給電装置４０１から取得したシステム電流値を履歴として記録しているので、最大電流値Ｉｉｎ１は、取得したシステム電流値の履歴から算出される。
【００４６】
契約電流値Imaxのうちで、１回目の段階起動において用いなかった電流の割合（起動実績）ｐ１は、下式（３）により算出される。
【００４７】
【数３】
2018136762.tif 000005
【００４８】
マージンｍ２は、下式（４）により算出される。
【００４９】
【数４】
2018136762.tif 000006
【００５０】
パラメータＣは、１以上の実数値であり、Ｃの値が小さいほど前回の起動実績を強く反映した今回の段階起動における起動台数の算出に用いられるマージンの値が算出される。
【００５１】
１回目の起動実績を反映してマージンｍ２を算出し、２回目の段階起動における計算ノード３０１−ｉの起動台数Ｓ２を１回目の段階起動における起動台数Ｓ１と同様の考え方で算出すると、２回目の段階起動における計算ノード３０１―ｉの起動台数Ｓ２は、下式（５）で算出される。
【００５２】
【数５】
2018136762.tif 000007
【００５３】
起動台数計算部２４１は、算出した起動台数Ｓ２を起動指示部２２１に通知する。
起動指示部２２１は、２回目の段階起動として、算出された起動台数Ｓ２の計算ノード３０１―ｉの起動を電源制御指示部２２１に指示する。
【００５４】
起動指示部２２１は、２回目の段階起動として、算出された起動台数Ｓ２の計算ノード３０１―ｉの起動を電源制御指示部２２１に指示する。
【００５５】
電源制御指示部２２１は、２回目の段階起動として、未起動の計算ノード３０１―ｉのうちのＳ２台の計算ノード３０１―ｉに起動指示を送信する。起動指示を受信した計算ノード３０１―ｉは、起動処理を開始する。
【００５６】
電流値監視部２５１は、定期的に給電装置４０１からシステム電流値を取得し、２回目の段階起動の起動指示後において、前回取得したシステム電流値と今回取得したシステム電流値との差分を算出し、当該差分が閾値以下の場合、起動指示部２１１に突入電流が収まった旨を通知する。すなわち、２回目の段階起動において起動させた計算ノード３０１−ｉに流れる電流が定常電流となっている。
【００５７】
２回目の段階起動において起動させた計算ノード３０１−ｉに流れる電流が定常電流となったので、起動指示部２２１は、３回目の段階起動の処理を開始する。以下同様に、管理ノード２０１は、Ｘ−１回目の段階起動において起動させた計算ノード３０１−ｉに流れる電流が定常電流となったら、Ｘ回目の段階起動における計算ノード３０１―ｉの起動台数Ｓｘを算出し、Ｓｘ台の計算ノードを起動させる処理を繰り返す。
【００５８】
Ｘ回目の段階起動における計算ノード３０１―ｉの起動台数Ｓｘは、下式（６）により算出される。
【００５９】
【数６】
2018136762.tif 000008
【００６０】
上式（６）のＩｓｔ（Ｘ−１）は、Ｘ−１回目の段階起動後の並列計算機システム１０１の定常電流であり、Ｘ−１回目の段階起動において起動させた計算ノード３０１−ｉに流れる電流が定常電流となったときのシステム電流値である。詳細には、Ｉｓｔ（Ｘ−１）は、Ｘ−１回目の段階起動後の管理ノード２０１の定常電流の測定値と起動済みの計算ノード３０１−ｉそれぞれの定常電流の測定値の合計である。
また、マージンｍｘは、下式（７）により算出される。
【００６１】
【数７】
2018136762.tif 000009
【００６２】
マージンｍｘの算出に用いられる、契約電流値Imaxのうちで、Ｘ−１回目の段階起動において用いなかった電流の割合ｐｘ−１は、下式（８）により算出される。
【００６３】
【数８】
2018136762.tif 000010
【００６４】
Ｉｉｎ（ｘ−１）は、Ｘ−１回目の段階起動時の最大電流値（すなわち、Ｘ−１回目の段階起動における計算ノード３０１−ｉへの起動指示後のシステム電流値の最大値）である。詳細には、Ｉｉｎ（ｘ−１）は、管理ノード２０１の定常電流の測定値、Ｘ−１回目の段階起動より前の段階起動において起動させた計算ノード３０１−ｉそれぞれの定常電流の測定値、およびＸ−１回目の段階起動において起動させた計算ノード３０１−ｉそれぞれの突入電流の測定値の合計である。
【００６５】
Ｉｓｔ（Ｘ−２）は、Ｘ−２回目の段階起動後の管並列計算機システム１０１の定常電流であり、詳細にはＸ−２回目の段階起動後の管理ノード２０１の定常電流の測定値と起動済みの計算ノード３０１−ｉそれぞれの定常電流の測定値の合計である。
【００６６】
このように管理ノード２０１は、１回目の段階起動でＳ1台の計算ノード３０１―ｉを起動し、２回目の段階起動でＳ２台の計算ノード３０１―ｉをさらに起動し、以下同様にＸ回目の段階起動でＳＸ台の計算ノード３０１―ｉをさらに起動する処理を全ての計算ノード３０１―ｉが起動するまで繰り返す。
【００６７】
また、上式（７）のマージンｍｘの算出に用いられるパラメータＣは、固定値ではなく、割合ｐｘ−１に応じて変更してもよい。例えば、図４に示すように、割合ｐｘ−１に応じたパラメータＣを用いてもよい。図４において、割合ｐｘ−１が０〜１０の場合はＣ＝１００とし、割合ｐｘ−１が１０〜２０の場合はＣ＝５０とし、割合ｐｘ−１が２０〜３０の場合はＣ＝２５とする。また、割合ｐｘ−１が３０〜４０の場合はＣ＝１０とし、割合ｐｘ−１が４０〜５０の場合はＣ＝５とし、割合ｐｘ−１が５０〜１００の場合はＣ＝１とする。
【００６８】
割合ｐｘ−１の値が０に近ければ、許容電流量内で効率的に起動を行えているため、次回の起動台数の算出に対して変更を加える必要性が低いと考えられる。そのため、図４に示すように、割合ｐｘ−１の値が増えるほどにＣの値を減少させることで、次回の起動台数の算出に対して与える影響を大きくしている。
【００６９】
図５は、実施の形態に係る起動処理のフローチャートである。
尚、管理ノード２０１は、起動済みであり、計算ノード３０１−ｉは、すべて起動していないとする。
【００７０】
ステップＳ５０１において、起動指示部２２１は、システム管理者から入力された起動指示を受信する。
【００７１】
ステップＳ５０２において、起動指示部２２１は、段階起動の回数を示す変数Ｘを１に設定する。起動指示部２２１は、１回目の段階起動における計算ノード３０１−ｉの起動台数Ｓ１の算出を起動台数計算部２４１に指示する。起動台数計算部２４１は、指示を受信すると、設定情報２３２を読み出し、給電装置４０１からシステム電流値Ｉｓｔ０を取得する。起動台数計算部２４１は、設定情報２３２とシステム電流値Ｉｓｔ０に基づいて、１回目の計算ノード３０１―ｉの起動台数Ｓ１を算出する。ここで、システム電流値Ｉｓｔ０は、０回目の段階起動時の並列計算機システム１０１の定常電流であり、０回目の段階起動において計算ノード３０１−ｉはいずれも起動していないので管理ノード２０１の定常電流の測定値である。起動台数計算部２４１は、算出した起動台数Ｓ１を起動指示部２２１に通知する。
【００７２】
ステップＳ５０３において、電源制御指示部２２１は、Ｘ回目の段階起動として、未起動の計算ノード３０１―ｉのうちの算出された起動台数ＳＸ台の計算ノード３０１―ｉに起動指示を送信する。起動指示を受信した計算ノード３０１―ｉは、起動処理を開始する。
【００７３】
ステップＳ５０４において、起動指示部２１１は、並列計算機システム１０１内の全ての計算ノード３０１−ｉに起動指示を送信したか判定する。全ての計算ノード３０１−ｉに起動指示を送信済みの場合、処理は終了し、全ての計算ノード３０１−ｉに起動指示を送信済みでない場合、制御はステップＳ５０５に進む。
【００７４】
ステップＳ５０５において、起動指示部２１１は、電流値監視部２５１にシステム電流の監視を指示する。電流値監視部２５１は、定期的に給電装置４０１からシステム電流値を取得し、前回取得したシステム電流値と今回取得したシステム電流値との差分を算出し、当該差分が閾値以下の場合、起動指示部２１１に突入電流が収まった旨を通知し、制御はステップＳ５０６に進む。
ステップＳ５０６において、起動指示部２２１は、変数Ｘを１加算する。
【００７５】
ステップＳ５０７において、起動指示部２２１は、Ｘ回目の段階起動における計算ノード３０１−ｉの起動台数Ｓｘの算出を起動台数計算部２４１に指示する。起動台数計算部２４１は、前回の段階起動時の電流値に基づいて、Ｘ回目の段階起動における計算ノード３０１−ｉの起動台数Ｓｘを算出し、起動台数Ｓｘを起動指示部２２１に通知する。
【００７６】
実施の形態にかかる並列計算機システムによれば、各段階で起動する計算ノードの数を動的に変更することで、全ての計算ノードを起動するまでの起動時間を早めることができる。
【００７７】
実施の形態にかかる並列計算機システムによれば、ある段階である数の計算ノードを起動した場合に、使用可能な電流値に余裕があれば、次の段階で起動する計算ノードを増加させることで、全ての計算ノードを起動するまでの起動時間を早めることができる。
【００７８】
実施の形態にかかる並列計算機システムによれば、マージンを考慮して起動台数を算出するため、システム電流値が供給可能な電流の上限値を超過することを防止できる。
【００７９】
実施の形態にかかる並列計算機システムによれば、多数の計算ノードを、上限となる電流値という制約の下で、効率的に起動することが可能となり、計算ノードの起動に要する時間が削減される。並列計算機システム全体の保守時等、計算ノードを全て停止するような場面において、保守終了後の計算ノードの起動時間が削減され、結果として運用状態へ復帰するまでの時間の短縮が可能となる。また、人間の手による操作に依存せず、設定情報に従って自動的に効率的な起動処理が行われ、誤操作によるシステムに流れる電流の上限の超過など、不測の事態が起きることを防ぐことができる。
【００８０】
図６は、情報処理装置（コンピュータ）の構成図（その１）である。
実施の形態の管理ノード２０１は、例えば、図６に示すような情報処理装置（コンピュータ）１によって実現可能である。
【００８１】
情報処理装置１は、ＣＰＵ２、メモリ３、入力装置４、出力装置５、記憶部６、記録媒体駆動部７、及びネットワーク接続装置８を備え、それらはバス９により互いに接続されている。
【００８２】
ＣＰＵ２は、起動指示部２１１、電源制御指示部２２１、起動台数計算部２４１、電流値監視部２５１として動作する。
【００８３】
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。ＣＰＵ２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【００８４】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
【００８５】
入力装置４は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置１で用いられるデータの取得等に用いられる。入力装置４は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。
【００８６】
出力装置５は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、ＣＰＵ２による制御により動作する装置である。出力装置５は、例えば、ディスプレイ、またはプリンタ等である。
【００８７】
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。メモリ３および記憶部６は、記憶部２３１に対応する。
【００８８】
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(ＣＤ−ＲＯＭ)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【００８９】
ネットワーク接続装置８は、Local Area Network（ＬＡＮ）やInfiniBand等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【００９０】
尚、情報処理装置１が図６のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。
【００９１】
図７は、情報処理装置（コンピュータ）の構成図（その２）である。
実施の形態の計算ノード３０１−ｉのそれぞれは、例えば、図７に示すような情報処理装置（コンピュータ）１１によって実現可能である。
【００９２】
情報処理装置１１は、ＣＰＵ１２、メモリ１３、及びネットワーク接続装置１８を備え、それらはバス１９により互いに接続されている。
【００９３】
ＣＰＵ２１は、メモリ１３を利用してプログラムを実行することにより、管理ノード２０１から割り当てられたジョブを実行する。
【００９４】
メモリ１３は、プログラム実行の際に、プログラムあるいはデータを一時的に格納するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。
【００９５】
ネットワーク接続装置１８は、ＬＡＮやInfiniBand等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置１８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【００９６】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
複数の計算ノードと前記複数の計算ノードを複数段階に分けて起動させる管理ノードとを含む並列処理装置であって、
前記管理ノードは、
前記複数段階のうち１つの段階で起動させた計算ノードの突入電流の測定値に基づいて、前記１つの段階の次の段階で起動させる計算ノードの台数を算出する起動台数算出部と、
前記複数の計算ノードのうち前記算出した台数の計算ノードに起動を指示する指示部と、
を備えることを特徴とする並列処理装置。
（付記２）
前記起動台数算出部は、前記次の段階で起動させる計算ノードに供給可能な電流の最大値と、前記次の段階で起動させる計算ノードに供給可能な電流の最大値に対するマージンに基づいて、前記今回起動させる計算ノードの台数を算出することを特徴とする付記１記載の並列処理装置。
（付記３）
前記起動台数算出部は、前記次の段階で起動させる計算ノードに供給可能な電流の最大値を、前記並列処理装置に供給可能な電流の最大値から前記１つの段階までに起動させた計算ノードの定常電流の測定値と前記管理ノードの定常電流の測定値の合計を減算することにより算出することを特徴とする付記２記載の並列処理装置。
（付記４）
前記起動台数算出部は、前記１つの段階の前の段階までに起動させた計算ノードの定常電流の測定値と前記管理ノードの定常電流の測定値の合計に基づいて前記今回起動させる計算ノードの台数を算出する付記１乃至３のいずれか１項に記載の並列処理装置。
（付記５）
複数の計算ノードと前記複数の計算ノードを複数段階に分けて起動させる管理ノードとを含む並列処理装置の起動方法であって、
前記管理ノードが
前記複数段階のうち１つの段階で起動させた計算ノードの突入電流の測定値に基づいて、前記１つの段階の次の段階で起動させる計算ノードの台数を算出し、
前記複数の計算ノードのうち前記算出した台数の計算ノードに起動を指示する
処理を含む並列処理装置の起動方法。
（付記６）
前記起動させる計算ノードの台数を算出する処理において、前記次の段階で起動させる計算ノードに供給可能な電流の最大値と、前記次の段階で起動させる計算ノードに供給可能な電流の最大値に対するマージンに基づいて、前記今回起動させる計算ノードの台数を算出することを特徴とする付記５記載の並列処理装置の起動方法。
（付記７）
前記起動させる計算ノードの台数を算出する処理において、前記次の段階で起動させる計算ノードに供給可能な電流の最大値を、前記並列処理装置に供給可能な電流の最大値（Ｉｍａｘ）から前記１つの段階までに起動させた計算ノードの定常電流の測定値と前記管理ノードの定常電流の測定値の合計を減算することにより算出することを特徴とする付記６記載の並列処理装置の起動方法。
（付記８）
前記前記起動させる計算ノードの台数を算出する処理において、前記１つの段階の前の段階までに起動させた計算ノードの定常電流の測定値と前記管理ノードの定常電流の測定値の合計に基づいて前記今回起動させる計算ノードの台数を算出する付記５乃至７のいずれか１項に記載の並列処理装置の起動方法。
【符号の説明】
【００９７】
１０１    並列計算機システム
２０１    管理ノード
２１１    起動指示部
２２１    電源制御指示部
２３１    記憶部
２３２    設定情報
２４１    起動台数計算部
２５１    電流値監視部
３０１    計算ノード
４０１    給電装置
【図１】
2018136762.tif 000011
【図２】
2018136762.tif 000012
【図３】
2018136762.tif 000013
【図４】
2018136762.tif 000014
【図５】
2018136762.tif 000015
【図６】
2018136762.tif 000016
【図７】
2018136762.tif 000017