説明

試験条件設定方法、電流変動試験方法、及び情報処理装置

【課題】プロセッサを複数、搭載した情報処理装置の使用する電流の最大変動を発生させる電流変動試験をより容易に行えるようにするための技術を提供する。
【解決手段】マスタCPUは、自CPUを含む各CPUに対し、CPUを動作させる実行間隔bを各CPUで共通とし、CPUを停止させる停止間隔aをCPU毎に異ならせる。それにより、各CPUの実行間隔b、及び停止間隔aからなるサイクル間隔cの長さを、任意のCPU間の比率が互いに素の2つの整数により表現される長さとする。そのようなサイクル間隔cの長さを各CPUに設定することにより、全てのCPUの停止状態から動作状態への移行、及び動作状態から停止状態への移行の同期を実現させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置が使用する電流の変動を発生させる電流変動試験のための技術に関する。
【背景技術】
【0002】
コンピュータに代表される情報処理装置は、複数の電源回路を搭載しているのが普通である。それにより、大元の電源からの電流は、1つ以上の電源を介して、情報処理装置に搭載された各負荷に供給されるようになっている。そのように1つ以上の電源を介して電流を供給することにより、各負荷に個別に必要な電圧を印加させることができる。以降、便宜的に、大元の電源は「電源ユニット」、その電源ユニット以外の電源は「電源回路」と呼び区別する。
【0003】
情報処理装置に搭載される負荷、例えばCPU(CPU:Central Processing Unit)等のプロセッサ、メモリ(メモリモジュール)、及びI/O(Input/Output)コントローラ等によって使用される電流は、常に一定ではない。それにより、電源ユニットから電源回路を介して実際に情報処理装置に供給される電流は、状況に応じて変動する。このため、電源ユニットには、使用する電流、つまり消費電力によって、電圧が異常なレベルにならないことが求められる。特にサーバ等に用いられる情報処理装置には、高い信頼性が要求されることから、電源ユニットは情報処理装置の安定した動作を保証するものでなくてはならない。このため、従来、情報処理装置の使用する電流の変動を発生させる電流変動試験が行われている。この電流変動試験を行うことにより、情報処理装置の消費電力の変動に係わらず、電源ユニットが適切な電圧を維持させるか否かを確認することができる。
【0004】
情報処理装置に搭載されるCPUは、消費電力を低減できるように、停止(パワーオフ)、及び起動(パワーオン)を任意のタイミングで行えるようになっているのが普通である。そのCPUは、情報処理装置に搭載される負荷のなかでも消費電力は大きい。このことから、従来の一つの電流変動試験方法では、CPUの起動、及び停止を設定された周期で繰り返し行い、情報処理装置の使用する電流を大きく変動させている。
【0005】
上記のような従来の一つの電流変動試験方法では、各CPUの起動、及び停止を行う各タイミングは全て同じとしていた。このため、CPUを複数、搭載した情報処理装置を対象にした試験では、最大電流変動を発生させるためには各CPUの起動、及び停止を含む動作周期を一致、つまり同期させなければならない。
【0006】
CPUの起動、及び停止を行う各タイミングは、CPUによって、つまりソフトウェア制御によって設定される。複数のCPUが搭載された情報処理装置では、各CPUがソフトウェア制御によって、自CPUの起動、及び停止を行う各タイミングを設定する。電流変動試験では、各CPUは、ソフトウェア制御によって、起動、及び停止を行う各タイミングを設定するためのデータを取得しなければならない。このようなことから、各CPUの動作周期を同期させることは非常に困難である。このことから、情報処理装置の使用する電流の最大変動をより容易に発生できるようにすることが好ましい。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−221856号公報
【特許文献2】特開2005−354354号公報
【特許文献3】特開2010−85163号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明を適用した1システムは、プロセッサを複数搭載した情報処理装置に供給される電流の最大変動を発生させる電流変動試験をより容易に行えるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明を適用した1システムでは、複数のプロセッサを備えた情報処理装置に搭載された電源回路から供給される電流を変動させる電流変動試験の条件を設定する場合、プロセッサ毎に、該プロセッサの1回の起動により動作状態を維持させる動作間隔、及び該プロセッサの1回の停止により停止状態を維持させる停止間隔を含むサイクル間隔の長さを、電流変動試験に用いる複数のプロセッサの各サイクル間隔の長さの比率が互いに素数比となる長さに設定し、プロセッサ毎に設定されたサイクル間隔の長さを、複数のプロセッサの電流変動試験の条件として設定する。それにより、電流変動試験は、設定されたサイクル間隔の長さに従って、複数のプロセッサをそれぞれ起動、及び停止させることで行われる。
【発明の効果】
【0010】
本発明を適用した場合には、プロセッサを複数、搭載した情報処理装置の使用する電流の最大変動を発生させる電流変動試験をより容易に行うことができる。
【図面の簡単な説明】
【0011】
【図1】本実施形態による情報処理装置の構成を説明する図である。
【図2】CPUの回路構成を説明する図である。
【図3】本実施形態による電流変動試験方法の実施方法を説明する図である。
【図4】CPU制御リストの内容例を説明する図である。
【図5】CPUの起動/停止制御を説明する図である。
【図6】各CPUの状態の時間変化の例を表すタイミングチャートである(その1)。
【図7】各CPUの状態の時間変化の例を表すタイミングチャートである(その2)。
【図8】本実施形態による試験制御プログラムによって各CPUが実行する処理の流れを表すフローチャートである。
【図9】条件設定処理のフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による情報処理装置の構成を説明する図である。この情報処理装置1は、例えば1台のコンピュータ(サーバ)として用いられるものである。この情報処理装置1は、サーバを構成するサーバブレード、或いはシステムボード等のモジュール装置のような1台のコンピュータとして機能する情報処理装置であっても良い。本実施形態による電流変動試験方法、及び試験条件設定方法は、この情報処理装置1に適用される。
【0013】
図1に表す情報処理装置1は、4つのプロセッサであるCPU101(101−0〜101−3)を搭載し、各CPU101にはそれぞれメモリ(メモリモジュール)102(102−0〜102−3)が接続されている。各CPU101は、システムバス108を介して、ROM(Read Only Memory)103、共有メモリ104、I/Oインターフェース105、入力インターフェース106、出力インターフェース107がそれぞれ接続されている。不図示のファン(モータ)を駆動するファン駆動回路109は、メンテナンスバス110に接続されている。
【0014】
上記の構成において、ROM103は、例えば各CPU101が実行するBIOS(Basic Input/Output System)コードを格納している。共有メモリ104は、例えば各CPU101の共有すべきデータの格納に用いられるメモリである。I/Oインターフェース105は、外部装置との間でデータの入出力を行う。図1では、外部装置として、外部記憶装置11、ネットワーク12を表している。
【0015】
入力インターフェース106は、入力装置13を介した指示を入力可能なインターフェースである。入力装置13としては、キーボード、ポインティングデバイス等のユーザが操作を行うための操作装置、或いはコンソール等が相当する。出力インターフェース107は、表示装置等の出力装置14にデータを出力するためのインターフェースである。
【0016】
メンテナンスバス110は、外部からファン駆動回路109の動作管理、及び情報処理装置1の電源管理に用いられる。このメンテナンスバス110には、ファン駆動回路109の他に、外部のシステム制御装置15が接続されている。このシステム制御装置15は、例えば情報処理装置1全体を管理するための別の情報処理装置である。
【0017】
図2は、CPUの回路構成を説明する図である。各CPU101は、図2に表すように、CPUコア201、バスインターフェース202、タイマ割り込みコントローラ203、CPU停止コントローラ204、MC(Memory Controller)205、二次キャッシュ(L2(Level 2)キャッシュ)206が内部バス207に接続された構成となっている。
【0018】
CPUコア201は、各種コマンドを実行するための演算処理を行う。バスインターフェース202は、システムバス108を介したデータの送受信を行う。
タイマ割り込みコントローラ203は、指定されたタイミングに応じて、指定された種類の割り込み信号をCPUコア201に対して出力する。この割り込み信号には、CPU101を停止状態から動作状態(実行状態)に復帰(移行)させるためのものが含まれる。その停止状態とは、例えばサスペンド状態である。以降、CPU101を停止状態から動作状態に復帰させる割り込み信号は「復帰割り込み信号」と呼ぶことにする。特に断らない限り、割り込み信号は復帰割り込み信号を指す意味で用いる。
【0019】
タイマ割り込みコントローラ203は、レジスタ203a、及びカウンタ203bを備えている。これらレジスタ203a、及びカウンタ203bは、復帰割り込み信号の出力用である。レジスタ203aは、例えばカウンタ203bのカウント値と比較される値の保持に用いられ、カウンタ203bは、例えば0を初期値として、その値を随時、インクリメントするカウンタである。割り込み信号(復帰割り込み信号)は、例えばレジスタ203aの値がカウンタ203bのカウント値と一致した場合に出力される。カウンタ203bの値は、割り込み信号を出力した後、初期値にリセットされる。それにより、カウンタ203bのカウントを開始させてから復帰割り込み信号が出力されるまでの間隔は、レジスタ203aに保持させる値(データ)によって指定することができる。
【0020】
CPU停止コントローラ204は、CPU101を動作状態から停止状態に移行させる制御信号(割り込み信号)をCPUコア201に出力可能なコントローラであり、レジスタ204a、及びカウンタ204bを備えている。これらレジスタ204a、及びカウンタ204bは、制御信号の出力用である。レジスタ204aは、例えばカウンタ204bのカウント値と比較される値の保持に用いられ、カウンタ204bは、例えば0を初期値として、その値を随時、インクリメントするカウンタである。制御信号は、例えばレジスタ204aの値がカウンタ204bのカウント値と一致した場合に出力される。カウンタ204bの値は、制御信号を出力した後、初期値にリセットされる。それにより、カウンタ204bのカウントを開始させてから制御信号が出力されるまでの間隔は、レジスタ204aに保持させる値(データ)によって指定することができる。
【0021】
タイマ割り込みコントローラ203及びタイマ割り込みコントローラ203の各カウンタ203b及び204bのカウント開始は、CPUコア201の制御によって行われる。各カウンタ203b及び204bは、例えば固定の周期のクロック(例えばシステムクロックを所定数で分周したもの。以降「タイマクロック」と呼ぶ)により動作する。このため、復帰割り込み信号、及び制御信号の各出力タイミングは、タイマクロックの周期を単位として調整することができる。
【0022】
MC205は、CPUコア201による指示、或いは内部バス207及びバスインターフェース202を介した他のCPU101の指示に従って、メモリ102へのアクセスを行う。二次キャッシュ206は、使用頻度の高いデータの保存に用いられる。
【0023】
本実施形態による電流変動試験方法、及び試験条件設定方法は、上記のようなCPU101を複数、搭載した情報処理装置1に適用されることを想定している。以降は、情報処理装置1に適用されるそれらの方法について詳細に説明する。
【0024】
図3は、本実施形態による電流変動試験方法の実施方法を説明する図である。
4つのCPU101が搭載された情報処理装置1には、電源ユニット130から電流が供給される。4つのCPU101には、それぞれ電源回路(図3中「最終段電源」(POL:Point Of Load))132(132−0〜132−3)が用意され、各電源回路132には、DC−DCコンバータ131を介して電源ユニット130からの電流が供給される。
【0025】
システム制御装置15は、例えば信号線を介して、各電源回路132、及び電源ユニット130のオン/オフを制御する。また、システム制御装置15は、電源ユニット130から、電圧値、電流値等の状況データを随時、取得することができる。それにより、システム制御装置15は、電流変動試験を実施する場合、電源ユニット130の状態を監視し、電圧値、及び電流値等の試験データを取得する装置として機能する。電流変動試験は、電源ユニット130及び各電源回路132は全てオンとさせた状態で実施される。
【0026】
電流変動試験を実施する場合、各CPU101は、電流変動試験を実施するための試験制御プログラム140、或いは150と、CPU活性プログラム145を実行する。CPU活性プログラム145は、CPU131の消費電力がより大きくなるように、CPU131のリソースを効率的に使用するプログラムである。試験制御プログラム140及び150は、CPU活性プログラム145を用いた電流変動試験を実現させる。
【0027】
その電流変動試験では、4つのCPU101のうちの1つはマスタとして機能し、残りの3つはスレーブとして機能する。試験制御プログラム140は、マスタとして機能させるCPU101に実行させるものであり、試験制御プログラム150は、スレーブとして機能させるCPU101に実行させるものである。図3では、CPU101−0が試験制御プログラム140を実行し、CPU101−1〜101−3が試験制御プログラム150を実行することを表している。以降、試験制御プログラム140を実行するCPU101−0は他のCPU101と区別する場合「マスタCPU101」と表記する。試験制御プログラム150を実行するCPU101−1〜101−3はマスタCPU101と区別する場合「スレーブCPU101」と表記する。
【0028】
試験制御プログラム140は、機能として、構成決定部141、条件設定部142、試験実行制御部143を備える。
電流変動試験を実施する間、各CPU101は停止状態と動作状態を交互に繰り返す。本実施形態では、停止状態を維持させる間隔(以降「停止間隔」)と、動作状態を維持させる間隔(以降「動作間隔」、或いは「実行間隔」)とを電流変動試験の実施のための試験条件とし、その試験条件を各CPU101で異ならせるようにしている。構成決定部141は、CPU101毎に試験条件を設定するために必要な情報処理装置1のCPU数を決定する。そのCPU数の決定は、ROM103に格納されている、情報処理装置1のハードウェア構成情報160を参照して行われる。決定されたCPU数は、対象CPU数171として、例えば共有メモリ104に確保された共通領域170に保存される。ハードウェア構成情報160には、CPU数以外の情報も含まれる。共通領域170は、共有メモリ104以外の記憶装置、例えばマスタCPU101に接続されたメモリ102−0に確保しても良い。
【0029】
条件設定部142は、対象CPU数171を参照することにより、CPU101毎に、停止間隔、及び実行間隔を設定する。CPU101の停止状態への移行、停止状態から実行状態への移行は、上記CPU停止コントローラ204、及びタイマ割り込みコントローラ203を用いて行われる。このことから、これら停止間隔、及び実行間隔は、タイマクロックの1周期を単位として表される数値(整数値)によって設定される。1回の停止間隔、1回の実行間隔により1つのサイクルが形成されることから、1回の停止間隔と1回の実行間隔から形成される間隔は「サイクル間隔」と呼ぶことにする。
【0030】
条件設定部142がCPU101毎に設定した停止間隔、実行間隔、及びサイクル間隔(の各数値)は、CPU制御リスト172として共通領域170に格納される。以降、CPU毎に設定された停止間隔、実行間隔、及びサイクル間隔(の各数値)は「CPU制御情報」と総称する。特定のCPU制御情報は、そのCPU制御情報がCPU101−0を対象にしている場合、「CPU0制御情報」と呼ぶことにする。これは、他のCPU制御情報も同様である。
【0031】
図4は、CPU制御リストの内容例を説明する図である。図4に表すように、CPU制御情報は、CPU101毎に分けて格納される。CPU番号は、CPU101の識別情報であり、例えば「101−」の後に続く数値が相当する。つまり例えばCPU101−0のCPU番号は「0」である。
【0032】
図4に表す例では、実行間隔はCPU101全てで「1」と共通になっており、停止間隔がCPU101毎に異なっている。停止間隔をCPU101毎に異ならせることで、任意の2つのCPU101間のサイクル間隔の比率は、つまり全ての2つのCPU101間のサイクル間隔の比率は、互いに素の2つの整数を用いて表せるものとなっている。本実施形態では、任意の2つのCPU間のサイクル間隔の比率が互いに素の2つの整数となるように、CPU101毎に設定するサイクル間隔の値は互いに異なる素数としている。互いに素の2つの整数とは、+1と−1以外に共通の約数が存在しない2つの整数のことである。このことから、2つの異なる素数は互いに素の関係となっている。
【0033】
試験実行制御部143は、条件設定部142がCPU制御リスト172を共通領域170に保存した後、電流変動試験の実施を表すスタートフラグ173を共通領域170に格納し、CPU活性プログラム145を起動させる。また、試験実行制御部143は、CPU制御リスト172中のマスタCPU101のCPU0制御情報を抽出し、そのCPU0制御情報に従って、タイマ割り込みコントローラ203及びCPU停止コントローラ204の各レジスタ203a、及び204aに値を格納し、各カウンタ203b及び204bのカウントを開始させる。その後は、電流変動試験の終了タイミングが到来するまで、CPU活性プログラム145の実行状態を維持させる。電流変動試験の終了タイミングの到来とは、例えば予め定めた試験時間が経過するか、或いはオペレータによる終了指示が行われることである。試験実行制御部143は、終了タイミングの到来により、例えばスタートフラグ173を電流変動試験の終了を表すものに書き換える。以降、スタートフラグ173を電流変動試験の実施を表すものに書き換えることを「セット」と呼び、スタートフラグ173を電流変動試験の終了を表すものに書き換えることを「リセット」と呼ぶことにする。
【0034】
一方、スレーブCPU101の試験実行制御部151は、共通領域170のスタートフラグ173をポーリング(監視)することで、電流変動試験の実施タイミング、或いは終了タイミングを認識する。電流変動試験の実施タイミング、つまりスタートフラグ173のセットを認識した場合、試験実行制御部151は、CPU活性プログラム145を起動させる。また、試験実行制御部151は、CPU制御リスト172を参照し、タイマ割り込みコントローラ203及びCPU停止コントローラ204の各レジスタ203a、及び204aに値を格納し、各カウンタ203b及び204bのカウントを開始させる。その後は、電流変動試験の終了タイミングが到来するまで、つまりスタートフラグ173がリセットされるまで、CPU活性プログラム145の実行状態を維持させる。
【0035】
上記試験制御プログラム140、150、CPU活性プログラム145のプログラム群は、例えば図1において、外部記憶装置11、或いはネットワーク12を介して接続された外部装置に格納されている。各CPU101がBIOSコードを実行している状況時において、オペレータが入力装置13を操作してプログラム群の保存場所を指定し、そのプログラム群に情報処理装置1をアクセスさせる。そのアクセスによって、各CPU101は試験制御プログラム140或いは150と、CPU活性プログラム145をメモリ102にロードする。それにより、各CPU101は試験制御プログラム140或いは150を実行可能な状態になる。本実施形態による情報処理装置1は、各CPU101が試験制御プログラム140或いは150を実行することで実現される。
【0036】
試験制御プログラム140或いは150と、CPU活性プログラム145の各CPU101へのロードは、そのロードを行うためのプログラムを用意して、その用意したプログラムに行わせるようにしても良い。電流変動試験を実施可能な状態の実現方法は、特に限定されるものではない。
【0037】
上記プログラム群の保存場所の指定等は、出力装置14を見ながら行うことができる。それにより、図3の入出力制御部120は、図1の入力インターフェース106、及び出力インターフェース107をまとめたものに相当する。
【0038】
図5は、CPUの起動/停止制御を説明する図である。図5において、「停止用割り込みサイクル」は、時間軸上でCPU停止コントローラ204が制御信号を出力するタイミングを表し、「CPU実行、停止状態」は、時間軸上でCPU101の状態変化を表している。CPU停止コントローラ204が制御信号を出力するタイミング、CPU101の動作状態は共にH(High)レベルで表している。aは停止間隔、bは実行間隔、cはサイクル間隔をそれぞれ表している。Tはタイマクロックの1周期を表している。
【0039】
上記のように、各CPU101の動作状態から停止状態への移行、及び停止状態から動作状態への移行は、タイマ割り込みコントローラ203及びCPU停止コントローラ204がそれぞれCPUコア201に出力する信号によって行われる。各CPU101が停止状態に移行してから次に停止状態に移行するまでの間隔はサイクル間隔cに等しい。このため、各CPU101のCPUコア201は、CPU停止コントローラ204のレジスタ204aに、サイクル間隔cを表す値を格納する。
【0040】
各CPU101が動作状態に移行してから次に動作状態に移行するまでの間隔もサイクル間隔cに等しい。このため、各CPU101のCPUコア201は、タイマ割り込みコントローラ203のレジスタ203aに、サイクル間隔cを表す値を格納する。停止間隔a及び実行間隔bの実現は、タイマ割り込みコントローラ203及びCPU停止コントローラ204の各カウンタ203b及び204bのカウント開始タイミングを制御することで実現する。そのカウント開始タイミングの制御により、CPU停止コントローラ204が制御信号を出力してから停止間隔aが経過した後にタイマ割り込みコントローラ203に割り込み信号を出力させる。それにより、各CPU101は、設定されたCPU制御情報に従って、動作状態から停止状態への移行、及び停止状態から動作状態への移行を行うことができる。
【0041】
本実施形態では、実行間隔b及び停止間隔aの一方をCPU101全てで共通とし、他方をCPU101毎に異ならせることにより、任意の2つのCPU101間のサイクル間隔cの比率は互いに素の2つの整数を用いて表せるものとしている。そのように実行間隔bおよび停止間隔aを設定したサイクル間隔cでは、時間の経過に伴い、共通とした間隔のCPU101間の時間差が変化する。その時間差は、任意の2つのCPU101間のサイクル間隔cの比率を互いに素の2つの整数により表せるものとしているために、0から2つの整数のうちの小さい整数未満の間で様々に変化する。
【0042】
電流変動試験は、マスタCPU101がスタートフラグ173をセットすることにより開始される。各スレーブCPU101は個別に、スタートフラグ173がセットされた後、セットされたスタートフラグ173を確認する。このため、電流変動試験を開始するタイミングは、マスタCPU101と各スレーブCPU101とで異なるだけでなく、スレーブCPU101間でも異なる。しかし、上記のようなサイクル間隔cを各CPU101に設定することにより、そのようなタイミングの差によるCPU101間の実行間隔b或いは停止間隔aの時間差が0となる状況が発生する。電流が大きくなる方向の最大変動、或いは電流が小さくなる方向の最大変動は、そのような状況で発生する。このことから、電流の最大変動を発生させる電流変動試験を行うことができる。
【0043】
この状況は、各CPU101の動作を同期させるようなことを行わなくとも発生する。従来、そのような同期の実現には、1週間程度の時間が必要だった。このようなことから、同期を行うような電流変動試験と比較して、電流変動試験は極めて容易に行うことができる。
【0044】
図6、及び図7は、各CPUの状態の時間変化の例を表すタイミングチャートである。図6及び図7において、「CPU1」〜「CPU4」はそれぞれCPU101−0〜101−3を表している。レベルがL(Low)とH(High)の2段階で変化する波形は、Lが停止状態、Hが動作状態を表している。図7に表すケースでは、CPU101−1(CPU2)とCPU101−3(CPU4)の状態変化が、1タイムクロック分(1単位分)、図6に表すケースより遅れている。図6及び図7共に、実行間隔bをCPU101全てで共通としたケースである。
【0045】
図6に表すケースでは、電流変動試験を開始した後、時刻t1で各CPU101の動作状態が同期、つまり各CPU101で停止状態から動作状態への移行、及びその後の動作状態から停止状態への移行が同期している。図7に表すケースでは、時刻t2で各CPU101の動作状態が同期している。このことから明らかなように、上記のようなサイクル間隔cの各CPU101への設定を行った場合、各CPU101が任意のタイミングで電流変動試験を開始したとしても、状態の移行が同期するタイミングを発生させることができる。
【0046】
各CPU0101が同時に停止状態から動作状態に移行する場合、電流が増大する方向の最大電流変動が発生する。各CPU0101が同時に動作状態から停止状態に移行する場合、電流が減少する方向の最大電流変動が発生する。実行間隔b及び停止間隔aの一方をCPU101全てで共通とした場合、その2種類の最大電流変動が短い間隔内で発生する。このため、電流変動試験を効率的に行うことができ、システム制御装置15を介した電源ユニット130の状態監視もより容易となる。
【0047】
実行間隔bをCPU101全てで共通とした場合、上記のように、電流が増大する方向の最大電流変動→電流が減少する方向の最大電流変動、の順に2種類の最大電流変動が発生する。停止間隔aをCPU101全てで共通とした場合、逆に、電流が減少する方向の最大電流変動→電流が増大する方向の最大電流変動、の順に2種類の最大電流変動が発生する。
【0048】
このようなことから、実行間隔b及び停止間隔aの一方をCPU101全てで共通とすることにより、2種類の最大電流の変動の発生タイミングは制御することができる。それにより、電流変動試験の実施中、その発生タイミングを考慮した電源ユニット130の監視を行うことができる。
【0049】
図8は、本実施形態による試験制御プログラムによって各CPUが実行する処理の流れを表すフローチャートである。次に図8を参照して、試験制御プログラム140及び150によってマスタCPU101及びスレーブCPU101でそれぞれ実現される動作について詳細に説明する。
【0050】
試験制御プログラム140は、例えばユーザインターフェースを提供し、オペレータは、入力装置13を介して、電源変動試験の開始、或いは終了を指示する。図8には、電流変動試験の開始をオペレータが指示することを契機に実行される処理を抜粋して表している。
【0051】
先ず、マスタCPU101(のCPUコア201)は、システムバス108を介してROM103にアクセスし、ROM103に格納されているハードウェア構成情報160を取得する。取得したハードウェア構成情報160から対象CPU数171を抽出し、抽出した対象CPU数171を共有メモリ104の共有領域170に格納する(以上S1)。その格納後、マスタCPU101は、各CPU101に対し、停止間隔a及び実行間隔bを含むサイクル間隔cを試験条件として設定する条件設定処理を実行する(S2)。この条件設定処理の実行により、共有領域170にCPU制御リスト172が格納される。
【0052】
図9は、条件設定処理のフローチャートである。ここで上記S2として実行される条件設定処理について、図9を参照して詳細に説明する。この条件設定処理は、実行間隔bを各CPU101で共通とすることを前提としたものである。
【0053】
先ず、マスタCPU101は、共有領域170から対象CPU数171を読み出すことで取得する(S21)。次にマスタCPU101は、共有領域170にCPU制御リスト172の格納領域を確保し、CPU制御リスト172に自CPU101のCPU0制御情報を格納(登録)する。このとき、CPU0制御情報として、停止間隔(図9中「CPU停止間隔」と表記)aに1、実行間隔(図9中「CPU実行間隔」と表記)bに1、サイクル間隔(図9中「CPUサイクル間隔」と表記)cに2をそれぞれ設定する。これらの値は全てデフォルト値である。図9に表記の「停止間隔a」「実行間隔b」及び「サイクル間隔c」はそれぞれ変数に相当する。
【0054】
その後、マスタCPU101は、対象CPU数171分、停止間隔aを決定したか否か判定する(S23)。対象CPU数171分のCPU制御情報を生成した場合、S23の判定はYesとなり、ここで条件設定処理は終了する。一方、CPU制御情報を生成すべきCPU101が残っている場合、S23の判定はNoとなってS24に移行する。
【0055】
S24に移行したマスタCPU101は、停止間隔aの値をインクリメントする。次にマスタCPU101は、停止間隔aの値のインクリメント後に対応するサイクル間隔cの値を算出する(S25)。サイクル間隔cの新しい値は、停止間隔aの値に実行間隔bの値を加算することで得られる(サイクル間隔c=停止間隔a+実行間隔b)。
【0056】
次にマスタCPU101は、更新後のサイクル間隔cの値を、共有領域170のCPU制御リスト172に格納された全てのサイクル間隔cの値で除算する(S26)。その後。マスタCPU101は、除算結果のなかに余りが0のものが存在するか否か判定する(S27)。S26で算出したサイクル間隔cの値が、それまでに決定した何れかのサイクル間隔cの値の倍数であった場合、余りが0の除算結果が存在することになる。このため、その場合、S27の判定はYesとなって上記ステップS24に戻り、停止間隔aの値を更にインクリメントする。一方、S26で算出したサイクル間隔cの値を含め、それまでに決定した任意の2つのサイクル間隔cの値の比率が互いに素の2つの整数により表される場合、余りが0の除算結果は存在しないことから、S27の判定はNoとなってステップS28に移行する。
【0057】
S28に移行したマスタCPU101は、S22で得た実行間隔b、直前のS25及びS26でそれぞれ得た停止間隔a及びサイクル間隔cを、現在、対象とするCPU101のCPU制御情報として共有領域170のCPU制御リスト172に登録する。その後は上記ステップS23に戻る。
【0058】
このようにして、条件設定処理では、CPU番号が小さいほうのCPU101から順次、CPU制御情報を生成し、生成したCPU制御情報をCPU制御リスト172に登録(格納)する。CPU制御リスト172に登録されるCPU制御情報は、任意の2つのサイクル間隔cの値の比率が2つの異なる素数により表現されるものである。このため、図6及び図7に表すように、全てのCPU101の同じ状態移行を同期させることができる。
【0059】
上記条件設定処理では、実行間隔bを各CPU101で共通とすることを前提としている。停止間隔aを各CPU101で共通とすることを前提とする場合であっても、全体の処理の流れは図9と基本的に同じとなる。サイクル間隔cの値の初期値を2より大きい値にすることにより、任意の2つのサイクル間隔cの値の比率は、2つの異なる素数により表現されるものから、互いの素の2つの整数により表現されるものに変化する。
【0060】
図8の説明に戻る。
上記条件設定処理の実行後はS3に移行する。S3に移行したマスタCPU101は、共有領域170のスタートフラグ173をセットする(S3)。次にマスタCPU101は、共有領域170のCPU制御リスト172に格納された自CPU101のCPU0制御情報を読み出す(S5)。更にマスタCPU101は、CPU活性プログラム145を実行(起動)する(S5)。その後、マスタCPU101は、S4で読み出したCPU0制御情報のサイクル間隔cの値を、タイマ割り込みコントローラ203及びCPU停止コントローラ204の各レジスタ203a及び204aにそれぞれ格納する。CPU0制御情報の停止間隔a或いは実行間隔bに従って、マスタCPU101は、タイマ割り込みコントローラ203及びCPU停止コントローラ204の各カウンタ203b及び204bのカウント開始タイミングを制御する(以上S6)。そのようにして、マスタCPU101は、CPU0制御情報に従って、自CPU101が停止、及び動作を繰り返すように設定を行う。その後、電流変動試験の開始のための一連の処理が終了する。
【0061】
上記の処理において、S1の処理は、試験制御プログラム140の構成決定部141によって実現される。S2の条件設定処理は、条件設定部142によって実現される。残りは、試験実行制御部143によって実現される。本実施形態による試験条件設定方法は、構成決定部141、及び条件設定部142によって実現される。本実施形態による電流変動試験方法は、構成決定部141、及び条件設定部14による処理が行われた後に、試験実行制御部143による処理が行われることで実現される。
【0062】
一方、スレーブCPU101であるCPU101−1は、共有領域170に格納されるスタートフラグ171のポーリングを随時、行う(S11)。そのポーリングによって、スタートフラグ171のセットを認識すると、S12に移行して、スレーブCPU101は、共有領域170に格納された自CPU101のCPU1制御情報を読み出す。次にスレーブCPU101は、CPU活性プログラム145を実行(起動)する(S13)。
【0063】
その後、スレーブCPU101は、S12で読み出したCPU1制御情報のサイクル間隔cの値を、タイマ割り込みコントローラ203及びCPU停止コントローラ204の各レジスタ203a及び204aにそれぞれ格納する。CPU0制御情報の停止間隔a或いは実行間隔bに従って、スレーブCPU101は、タイマ割り込みコントローラ203及びCPU停止コントローラ204の各カウンタ203b及び204bのカウント開始タイミングを制御する(以上S14)。そのようにして、スレーブCPU101は、マスタCPU101と同様に、CPU1制御情報に従って、自CPU101が停止、及び動作を繰り返すように設定を行う。その後、電流変動試験の開始のための一連の処理が終了する。
【0064】
上記のような処理は、他のスレーブCPU101であるCPU101−2及び101−3でも同様に実行される。このことから、他のスレーブCPU101であるCPU101−2及び101−3で実行される処理の説明は省略する。
【0065】
マスタCPU101は、上記のようにして電流変動試験の開始のための処理を実行した後、電流変動試験の終了タイミングの到来を監視する。この終了タイミングの到来とは、上記のように、例えば予め定めた試験時間が経過するか、或いはオペレータによる終了指示が行われることである。マスタCPU101は、終了タイミングの到来により、スタートフラグ173をリセットし、CPU活性プログラムを終了させる。
【0066】
スレーブCPU101は、上記のようにして電流変動試験の開始のための処理を実行した後、スタートフラグ173のリセットを認識するために、スタートフラグ173のポーリングを行う。それにより、スタートフラグ173がリセットされた場合、CPU活性プログラム145を終了させる。
【0067】
なお、本実施形態では、各CPU101と各CPU制御情報の対応関係は固定としているが、その対応関係は変更しても良い。つまり電流変動試験は、各CPU101と各CPU制御情報の対応関係を変更して、複数、行うようにしても良い。その対応関係は、予め定めた規則に従って変更しても良いが、ランダムに変更しても良い。
【0068】
本実施形態では、電流変動試験は1台の情報処理装置1を対象にしているが、電流変動試験は複数台の情報処理装置1を対象に行うようにしても良い。つまり電流変動試験は、複数台の情報処理装置1に電流を供給する電源ユニットを想定したものであっても良い。情報処理装置1の構成は、図1に表すようなものに限定されない。
【0069】
本実施形態では、ソフトウェア制御が行われる負荷としてCPU101を想定しているが、ソフトウェア制御が行われ、停止(パワーオフ)、及び起動(パワーオン)を任意のタイミングで行えるようになっている負荷であれば、CPU以外のものを想定しても良い。また、電流変動試験は、ソフトウェア制御が行われない負荷を対象に含めて行っても良い。そのような負荷としては、図1に表す構成では、ファン駆動回路109が相当する。
【0070】
本実施形態を適用した電流変動試験では、同じ種類の最大電流変動は特有の時間間隔で発生する。このことから、例えばシステム制御装置15にその時間間隔を特定させ、発生した最大電流変動から特定させた時間間隔の経過に合わせてファン駆動回路109のオン/オフをさせれば良い。そのようにして、同じ電源ユニットから電流が供給される、ソフトウェア制御が行われない負荷を電流変動試験の対象にした場合には、より大きい電流変動を発生させることができる。従って、電源ユニットのより適切な確認が行ううえで有効である。
【符号の説明】
【0071】
1 情報処理装置
11 外部記憶装置
13 入力装置
14 出力装置
15 システム制御装置
101、101−0〜101−3 CPU
102、102−0〜102−3 メモリ
103 ROM
104 共有メモリ
105 I/Oインターフェース
106 入力インターフェース
107 出力インターフェース
108 システムバス
109 ファン駆動回路
110 メンテナンスバス
130 電源ユニット
131 DC−DCコンバータ
132、132−0〜132−3 電源回路
140、150 試験制御プログラム
141 構成決定部
142 条件設定部
143、151 試験実行制御部
145 CPU活性プログラム
170 共有領域
171 対象CPU数
172 CPU制御リスト
173 スタートフラグ
201 CPUコア
203 タイマ割り込みコントローラ
203a、204a レジスタ
203b、204b カウンタ
204 CPU停止コントローラ

【特許請求の範囲】
【請求項1】
複数のプロセッサを備えた情報処理装置に搭載された電源回路から供給される電流を変動させる電流変動試験の条件を設定するための方法であって、
プロセッサ毎に、該プロセッサの1回の起動により動作状態を維持させる動作間隔、及び該プロセッサの1回の停止により停止状態を維持させる停止間隔を含むサイクル間隔の長さを、前記電流変動試験に用いる複数のプロセッサの各サイクル間隔の長さの比率が互いに素数比となる長さに設定し、
前記プロセッサ毎に設定されたサイクル間隔の長さを、前記複数のプロセッサの電流変動試験の条件として設定する、
ことを特徴とする試験条件設定方法。
【請求項2】
前記動作間隔、及び前記停止間隔のうちの一方は前記複数のプロセッサで同じ長さとする、
ことを特徴とする請求項1記載の試験条件設定方法。
【請求項3】
プロセッサを複数、搭載した情報処理装置に搭載された電源回路から供給される電流の変動を発生させる電流変動試験を行うための方法であって、
前記電流変動試験のための前記複数のプロセッサの条件として、前記プロセッサの1回の起動により動作状態を維持させる動作間隔、及び該中央処理装置の1回の停止により停止状態を維持させる停止間隔を含むサイクル間隔の該複数のプロセッサの各長さを、該複数のプロセッサのうちの任意の2つのプロセッサのサイクル間隔の長さの比率が互いに素の2つの整数により表現される長さに設定し、
該設定されたサイクル間隔の長さに従って、前記複数のプロセッサをそれぞれ起動、及び停止させて前記電流変動試験を行う、
ことを特徴とする電流変動試験方法。
【請求項4】
前記動作間隔、及び前記停止間隔のうちの一方は前記複数のプロセッサで同じ長さである、
ことを特徴とする請求項3記載の電流変動試験方法。
【請求項5】
プロセッサを複数、搭載した情報処理装置において、
前記プロセッサの1回の起動により動作状態を維持させる動作間隔、及び該プロセッサの1回の停止により停止状態を維持させる停止間隔を含むサイクル間隔の該複数のプロセッサの各長さとして、該複数のプロセッサのうちの任意の2つのプロセッサのサイクル間隔の長さの比率が互いに素の2つの整数により表現される長さを表す条件データを格納した格納手段と、
前記プロセッサ毎に、該プロセッサの起動、及び停止を行わせる起動/停止手段と、
前記格納手段に格納された前記条件データに基づいて、前記起動/停止手段に各プロセッサの起動、及び停止を行わせる動作制御手段と、
を具備することを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図8】
image rotate

【図9】
image rotate

【図6】
image rotate

【図7】
image rotate