(57)【要約】【課題】情報処理装置に搭載された通信装置の消費電力を適切に抑制するための技術を提供する。【解決手段】情報処理装置１は、各ルートコンプレックス２３、各スイッチ３１、アダプタ３５、ＳＡＴＡコントローラ４１、及びイーサネットコントローラ４２をＣＰＵ２０とＩＯ装置間の通信用の通信装置として備える。サービスプロセッサ５０は、エラーの発生、或いは通信装置の停止により、消費電力を抑制する範囲を特定し、特定した範囲内に存在する通信装置のなかで電源を停止可能な通信装置の電源を停止させる。それにより、通信装置による不必要な消費電力を抑制させる。【選択図】図１
2015197732.tif 000002
【特許請求の範囲】
【請求項１】
複数の入出力装置に接続される情報処理装置において、
演算を行う演算処理装置と、
前記複数の入出力装置と前記演算処理装置との間の通信をそれぞれ行う複数の通信装置と、
前記複数の通信装置のうち、消費電力を制御可能な通信装置を特定する特定部と、
前記特定部が特定した通信装置に対して、消費電力を抑制させる管理部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記特定部は、
前記複数の通信装置のいずれかにおけるエラーの発生、又は、前記複数の入出力装置におけるエラーの発生に基づき、消費電力を制御可能な通信装置を特定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記特定部は、
前記複数の通信装置のいずれかに接続された入出力装置の認識ができない場合、消費電力を制御可能な通信装置を特定することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
複数の入出力装置に接続されるとともに、演算を行う演算処理装置と、前記複数の入出力装置と前記演算処理装置との間の通信をそれぞれ行う複数の通信装置とを備える情報処理装置の制御方法において、
前記情報処理装置が有する特定部が、前記複数の通信装置のうち、消費電力を制御可能な通信装置を特定し、
前記情報処理装置が有する管理部が、特定された前記通信装置に対して、消費電力を抑制することを特徴とする情報処理装置の制御方法。
【請求項５】
複数の入出力装置に接続されるとともに、演算を行う演算処理装置と、前記複数の入出力装置と前記演算処理装置との間の通信をそれぞれ行う複数の通信装置とを備える情報処理装置の制御プログラムにおいて、
前記情報処理装置が有する特定部に、前記複数の通信装置のうち、消費電力を制御可能な通信装置を特定させ、
前記情報処理装置が有する管理部が、特定された前記通信装置に対して、消費電力を抑制させることを特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
に関する。
【背景技術】
【０００２】
情報処理装置に搭載された演算処理装置としてのＣＰＵ（Central Processing Unit）は、ＩＯ装置からデータを取得して処理を行う。情報処理装置では、ＣＰＵとＩＯ装置間の通信は、その通信用のデバイス（以降「通信装置」と表記）を介して行うのが普通である。その通信装置とは、具体的には、ブリッジＬＳＩ（Large Scale Integrated circuit）、或いはスイッチＬＳＩ等である。
【０００３】
情報処理装置には、ＩＯ装置との間で通信を行う通信装置は、通常、複数設けられている。複数台のＩＯ装置が接続可能な情報処理装置では、トポロジがツリー構造となるように、各通信装置が接続される。
【０００４】
近年、情報処理装置の消費電力を抑制する省電力化の要請が強くなっている。その要請により、消費電力が比較的に小さい通信装置にも、省電力機能が搭載されつつある。
【０００５】
例えばＰＣＩｅ（Peripheral Components Interconnect Express）規格には、ＡＳＰＭ（Active-State Power Management）と呼ばれる消費電力管理機能が定義されており、リンクを介して接続されている２つの通信装置に、そのリンクの状態に応じて省電力状態に移行させることが可能である。すなわち、ＡＳＰＭは、リンクの状態に応じて、消費電力を抑制させることができる。
【０００６】
省電力状態に通信装置を移行させた場合、リンクのレイテイシは増大する。そのため、高性能が要求されるような情報処理装置には、ＡＳＰＭは常時用いるべきではない。しかし、情報処理装置の消費電力が最大若しくは最大に近づいている場合など、消費電力の抑制が要請される状況では、通信装置の消費電力をも抑制する必要がある。
【０００７】
特許文献１には、複数のレーンからなるＰＣＩ Ｅｘｐｒｅｓｓインターフェースを有する情報処理装置であって、前記ＰＣＩ Ｅｘｐｒｅｓｓインターフェースの制御をおこない、このインターフェースの動作状態を保持するコントローラと、情報処理装置の初期処理完了時に前記コントローラから前記ＰＣＩ Ｅｘｐｒｅｓｓインターフェースの動作状態を取得して記憶し、故障発生の通知をうけた場合に、記憶している動作状態と前記コントローラが保持している動作状態を比較し、レーン数が縮退していることを検出したならば、予め決められた所定の対応処理をおこなうシステム管理装置とを備えた情報処理装置が記載されている。
【０００８】
特許文献２に記載の情報処理装置では、ＰＣＩｅアダプタ／エンドポイント（以下、エンドポイントという）の合計最大および／または最小データ転送速度と、フロントサイド・バスに対する最大データ転送速度、即ち、フロントサイド・バスの帯域幅と、の比較に基づいてエンドポイントの操作パラメータを調整するために、２つのテーブル・データ構造がファームウェアによって利用される。第１テーブル・データ構造は、データ処理システムの各エンドポイントの帯域幅使用を制御するための操作パラメータ設定の種々の組み合わせを含む。第２テーブル・データ構造は、データ処理システムがそれらの関連した最小データ転送速度および優先順位をサポートするエンドポイントのリストを含む。第２テーブル・データ構造は、更に、どのエンドポイントがアイソクロナス要件を有するかということを指示する。
【０００９】
操作に関しては、搭載された機構が、所定の期間内に生じ得るエラーの閾値を設定する。エラーがその閾値を超える場合、その機構は、フロントサイド・バスがその最大データ転送速度で作動しているかどうかを決定するために、フロントサイド・バス・パフォーマンス・カウンタに照会を行う。フロントサイド・バスが最大データ転送速度で作動していない場合、その機構は、閾値を超えるエンドポイントに対するデータ転送速度の設定値を増加させる。フロントサイド・バスがそれの最大データ転送速度で作動している場合、その機構は、どのエンドポイントがアクティブであるかを決定するためにすべてのエンドポイントに照会を行う。次に、その機構は、不適切な（complaining）エンドポイントよりも低い優先順位にあるエンドポイントが存在するかどうかを決定する。そこで、その機構は、低い優先順位のエンドポイントを１ステップだけ減少させ、不適切なエンドポイントを１ステップだけ増加させる。フロントサイド・バスがそれの最大データ転送速度で作動し且つアクティブな低い優先順位のエンドポイントが存在しない場合、その機構は不適切なエンドポイントだけを切り離す。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−２０１８８１号公報
【特許文献２】特開２００９−９３６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
１側面では、本発明は、情報処理装置に搭載された通信装置の消費電力を適切に抑制するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明を適用した１システムは、複数の入出力装置に接続されることを前提とし、演算を行う演算処理装置と、複数の入出力装置と演算処理装置との間の通信をそれぞれ行う複数の通信装置と、複数の通信装置のうち、消費電力を制御可能な通信装置を特定する特定部と、特定部が特定した通信装置に対して、消費電力を抑制させる管理部と、を有する。
【発明の効果】
【００１３】
本発明を適用した場合には、情報処理装置に搭載された通信装置の消費電力を適切に抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態による情報処理装置の構成例を説明する図である。
【図２】ＣＰＵボードに搭載されるＣＰＵの構成例を説明する図である。
【図３】電源管理処理のフローチャートである。
【図４】電源停止処理のフローチャートである。
【図５】ＵＥにおけるデバイス特定処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による情報処理装置の構成例を説明する図である。本実施形態による情報処理装置１は、例えばデータセンタに構築された情報処理システムを構成する情報処理装置である。この情報処理装置１は、並列計算機を構成するノードとして用いることも可能であり、図１に表すように、ＣＰＵボード２、ＩＯボード３、ＩＯサブボード４、及び制御用ボード５を備えている。
【００１６】
ＣＰＵボード２は、複数のＣＰＵ２０（２０−０、２０−１）が実装されたボードである。ＣＰＵボード２には、他に、メモリ（メモリモジュール）、及びファームウェアを格納したＦＷＨ（Firm-Ware Hub）等が実装されている。
【００１７】
図２は、ＣＰＵボードに搭載されるＣＰＵの構成例を説明する図である。
図２に構成例を表すＣＰＵ２０は、４つのＣＰＵコア２０１、２つのメモリコントローラ２０２、インターコネクトコントローラ２０３、及びＩＯコントローラ２１を備える。図２に表す構成例は一例であり、ＣＰＵ２０の構成は図２に表す例に限定されない。また、図２には、主要な構成要素のみを表しており、２次キャッシュ、及び２次キャッシュコントローラ等は図示を省略している。
【００１８】
各メモリコントローラ２０２は、何れかのＣＰＵコア２０１の制御に従い、ＣＰＵ２０に接続された何れかのメモリ２１０にアクセスする。それにより、各ＣＰＵコア２０１は、メモリコントローラ２０２を介して、何れかのメモリ２１０へのデータの書き込み、或いはデータの読み出しを行う。
【００１９】
並列計算機を構成する複数のノードは、専用のコンピュータネットワークであるインターコネクトによって接続される。図２中に２２０を付して表記の「Ｔｏｆｕ」は、６次元メッシュ／トーラスのインターコネクトであるTorus Fusionの略記である。インターコネクトコントローラ２０３は、Ｔｏｆｕ２２０を介した他の情報処理装置（ノード）１とのデータ通信を実現させる。
【００２０】
ＩＯコントローラ２１は、情報処理装置１内部のデータの入出力を管理する。ＩＯコントローラ２１には、ブリッジ２２、及びPCI express Root Complex（以降「ルートコンプレックス」と表記）２３が搭載されている。
【００２１】
ＰＣＩｅ（PCI express）では、階層化されたツリー構造となる形で各通信装置が接続されるのが普通である。ルートコンプレックス２３は、階層の根幹（ルート）となる通信装置である。ブリッジ２２は、ＣＰＵコア２０１とルートコンプレックス２３間で必要なプロトコル変換を行う。
【００２２】
ＩＯボード３は、各種ＩＯデバイスを接続可能にする。そのために、ＩＯボード３には、２つのPCI express Switch（以降「スイッチ」と略記）３１（３１−０、３１−１）、及びPCI express Adaptor（以降「アダプタ」と略記）３５が実装されている。
【００２３】
スイッチ３１−０は、２つのポート３２（３２−０、３２−１）が内部バス３３により接続されたスイッチである。ポート３２−０はＣＰＵ２０−０のＩＯコントローラ２１内のルートコンプレックス２３と接続され、ポート３２−１はアダプタ３５と接続されている。アダプタ３５は、エンドポイントであり、スロット３６内に挿入されることでＩＯボード３に搭載されている。
【００２４】
アダプタ３５には、ＩＯ装置用のスイッチ６が接続されている。このスイッチ６は、例えば外部ファイル装置（外部記憶装置）等との接続を想定したスイッチである。アダプタ３５にスイッチ６を接続させることにより、１台以上のＩＯ装置を情報処理装置１に追加させることができる。
【００２５】
スイッチ３１−１は、３つのポート３２（３２−２〜３２−４）が内部バス３３により接続されたスイッチである。ポート３２−２はＣＰＵ２０−１のＩＯコントローラ２１と接続され、ポート３２−３、及び３２−４はＩＯサブボード４上のＳＡＴＡ（Serial AT Attachment）コントローラ４１、及びイーサネット（Ethernet）コントローラ４２と接続されている。ＳＡＴＡコントローラ４１、及びイーサネットコントローラ４２はエンドポイントである。
【００２６】
ＩＯサブボード４は、ＩＯ装置を搭載可能なボードである。図１中にＩＯ装置４３として表記の「device」は、例えばＯＳ（Operating System）、及び各種アプリケーション・プログラム（以降「アプリケーション」と略記）等を格納したハードディスク装置、或いはＳＳＤ（Solid State Drive）等の記憶装置である。そのＩＯ装置４３は、ＳＡＴＡコントローラ４１に接続されている。
【００２７】
イーサネットコントローラ４２には、ハブ(hub)７が接続されている。情報処理装置１を制御、或いは管理のためのコンソール（端末装置）等は、ハブ７に接続して用いることができる。
【００２８】
制御用ボード５は、情報処理装置１全体を管理する管理装置であるサービスプロセッサ５０が実装されたボードである。このサービスプロセッサ５０は、本実施形態による管理装置が実行されたコンピュータであり、例えばＭＰＵ（Micro-Processing Unit）５１、フラッシュメモリ５２、及びメモリ５３を備えた構成である。
【００２９】
ＭＰＵ５１は、制御用の専用信号８１が接続されるインターフェースを備えている。
専用信号８１には、他に各ＣＰＵ２０、各スイッチ３１、アダプタ３５、ＳＡＴＡコントローラ４１、及びイーサネットコントローラ４２に接続されている。ＭＰＵ５１は、専用信号８１を介し、各ＣＰＵ２０、各スイッチ３１、アダプタ３５、ＳＡＴＡコントローラ４１、及びイーサネットコントローラ４２のメンテナンス用資源にアクセスし、必要な情報を収集する。また、各ＣＰＵ２０、各スイッチ３１、アダプタ３５、ＳＡＴＡコントローラ４１、及びイーサネットコントローラ４２は、専用信号を介して、各種エラー通知のための割り込みをサービスプロセッサ５０に行うか、ＣＰＵ２０がソフトウェアにエラー通知の割り込みを行いソフトウェアからサービスプロセッサ５０へエラーを通知する。
【００３０】
フラッシュメモリ５２には、ＭＰＵ５１が実行するファームウェアが格納されている。ＭＰＵ５１は、ファームウェアを実行することにより、通信装置の消費電力の抑制を含む各種管理を行う。
【００３１】
各ＣＰＵ２０のＩＯコントローラ２１に実装されたルートコンプレックス２３、各スイッチ３１、アダプタ３５、ＳＡＴＡコントローラ４１、及びイーサネットコントローラ４２は、ＩＯ装置を接続させるための通信装置（ＰＣＩｅデバイス）である。サービスプロセッサ５０は、状況の変化に応じて、これらの通信装置の消費電力を抑制するための制御を行う。
【００３２】
各ＣＰＵ２０は、電源オン、或いはシステムリセット等により、ＦＷＨに格納されたファームウェアを起動させ、初期化を行う。その初期化時に、各ＣＰＵ２０は、通信装置の接続関係（トポロジ）を認識する。この認識結果として得られる、各通信装置間の接続関係を表す接続情報５３ａは、例えば各ＣＰＵ２０から専用信号８１を介してサービスプロセッサ５０に送信され、サービスプロセッサ５０のメモリ５３に保存される。サービスプロセッサ５０は、保存した接続情報５３ａを用いて、通信装置の消費電力を抑制するための制御を行う。
【００３３】
本実施形態では、通信装置の消費電力を抑制する制御を行う契機となる状況の変化として、障害の発生を想定している。ここでは、便宜的に、障害として、通信装置の停止、及びエラーの発生のみを想定する。
【００３４】
各通信装置は、ＡＥＲ（Advanced Error Reporting）機能を備えている。このＡＥＲ機能は、ＰＣＩｅデバイス向けに拡張エラーレポートを提出する機能である。ＡＥＲ機能を実装した通信装置は、各種検出結果をまとめた情報（以降「ＡＥＲテーブル」と表記する）を記憶部に保持している。図２に表記の２６、３２ａ、３５a、４１ａ、及び４２ａは、ＡＥＲテーブルが格納される記憶部である。ここでは、記憶部を有する通信装置を特定する必要のない場合、記憶部に符号を付さないこととする。
【００３５】
ＡＥＲテーブルは、複数のレジスタを含む。レジスタには、アンコレクタブルエラーに係わる情報が格納されるレジスタ（以降「アンコレクタブル・エラー・レジスタ」と表記）が含まれる。このアンコレクタブル・エラー・レジスタにステータスが表されるアンコレクタブルエラーとしては、Poisoned TLP、Unexpected Completion、ECRC Error、Unsupported Request、Malformed TLP、及びFlow Control Protocol Error等がある。これらのエラーは何れも、対象となる部品の交換が必要なエラーである。そのため、本実施形態では、何れかのエラーを検出した通信装置は停止対象としている。
【００３６】
ＣＰＵ２０のＩＯコントローラ２１内に実装された通信装置以外の通信装置は、アンコレクタブルエラーを検出した場合、その旨をＣＰＵ２０に割り込みを介して通知する。サービスプロセッサ５０へのアンコレクタブルエラーの通知は、ＣＰＵ２０、及びアンコレクタブルエラーを検出した通信装置の何れに行わせても良い。ここでは便宜的に、アンコレクタブルエラーを検出した通信装置は、そのアンコレクタブルエラーの検出をサービスプロセッサ５０に直接、通知すると想定する。
【００３７】
アンコレクタブルエラーの検出は、割り込みによってサービスプロセッサ５０に通知される。サービスプロセッサ５０は、割り込みによってアンコレクタブルエラーの検出が通知された場合、専用信号８１を介して、割り込みを行った通信装置の記憶部にアクセスし、アンコレクタブル・エラー・レジスタの情報を取得する。それにより、サービスプロセッサ５０は、発生したアンコレクタブルエラーのエラー種別を特定し、特定したエラー種別、及び割り込みを行った通信装置に応じて、消費電力を抑制するための制御を行う。
【００３８】
上記接続情報５３ａは、消費電力を抑制すべき範囲の特定に用いられる。サービスプロセッサ５０は、エラー種別、及び割り込みを行った通信装置から、実際にアンコレクタブルエラーが発生した可能性が考えられる通信装置の候補を被疑個所として選択する。停止対象通信装置は、被疑個所のなかから１つ選択される。
【００３９】
アンコレクタブルエラーは、実際に通信を行うことで検出される。そのため、実際にアンコレクタブルエラーが発生した通信装置は、データの送信側、データの受信側、及びその両方のうちの何れかとなる。このことから、被疑個所として、データの送信側、及びデータの受信側の２つの通信装置が選択される。２つの通信装置のうちの一方は、アンコレクタブルエラーを検出した通信装置である。
【００４０】
２つの通信装置が同時に故障する確率は低いと考えられる。また、停止対象通信装置がより上流側に位置するほど、消費電力の抑制範囲は広くなりやすく、停止対象通信装置の選択結果が誤っていた場合のペナルティも大きくなりやすい。このようなことから、本実施形態では、停止対象通信装置は被疑個所とする２つの通信装置のうちの下流側（ルートコンプレックス２３から見て、より離れた側）に位置する方としている。
【００４１】
停止対象の通信装置を選択（特定）した後、サービスプロセッサ５０は、接続情報５３ａを参照し、選択した停止対象通信装置から、消費電力を抑制する範囲を特定し、特定した範囲内に存在する通信装置の消費電力を抑制する。消費電力を抑制する範囲は、その消費電力の抑制による悪影響を発生させることなく、且つ発生したアンコネクタブルエラーが影響を及ぼす範囲である。その消費電力の抑制による影響を受けるＩＯ装置の消費電力を制御可能であれば、消費電力を制御可能なＩＯ装置も消費電力を抑制する範囲に含まれる。消費電力を抑制する範囲内に存在する通信装置やＩＯ装置の消費電力を抑制させるため、情報処理装置１に要求されるパフォーマンス等に係わらず、情報処理装置１の消費電力を適切に削減させることができる。
【００４２】
ＰＣＩｅ仕様で規定される基準クロックを出力するために、ＣＰＵボード上にそれぞれのルートコンプレックスごとへ供給するクロック発生回路２５を搭載している。
【００４３】
ＣＰＵにはルートコンプレックスの他にメモリやインターコネクトコントローラも内蔵されており、その部分へ供給されるクロックと、ルートコンプレックスへ供給される基準クロックは分かれている。
【００４４】
ルートコンプレックス２３への基準クロックの出力を停止させることにより、ＣＰＵ内の演算機能を止めることはなく、ルートコンプレックス２３部分のみ通信装置の消費電力は低減する。本実施形態では、特定した範囲内にルートコンプレックス２３が含まれている場合、そのルートコンプレックス２３への基準クロックの出力を停止させるようにしている。また、特定した範囲内に存在するルートコンプレックス２３以外の通信装置、具体的にはスイッチ３１、アダプタ３５、ＳＡＴＡコントローラ４１、及びイーサネットコントローラ４２は、電源、つまり電力供給を停止させるようにしている。そのようにして、本実施形態では、ルートコンプレックス２３以外の通信装置は、通信装置単位で電源を停止させ、消費電力をより抑制できるようにしている。
【００４５】
通信装置単位の電源の停止は、例えば通信装置に内蔵されている電源回路（例えばＤＣ（Direct Current）−ＤＣコンバータ）のオン／オフをサービスプロセッサ５０に行わせることで実現させることができる。専用信号８１は、サービスプロセッサ５０が各通信装置の消費電力を制御するためにも用いられる。なお、通信装置単位の電源の停止は、電源回路以外を制御して行っても良い。例えば通信装置への電力供給を停止させることで行っても良い。電源の停止は、スイッチ３１のポート３２単位で行うようにしても良い。ポート３２単位で電源を停止できるようにした場合には、消費電力の抑制はより細かく制御することができる。
【００４６】
ここで、図１に表す構成例を参照し、被疑個所によって特定される消費電力の抑制範囲について具体的に説明する。
【００４７】
図１に表す構成例では、停止対象通信装置がＣＰＵ２０−０のルートコンプレックス２３、スイッチ３１−０の何れかのポート３２、或いはアダプタ３５であった場合、消費電力の抑制範囲は、それらを全て含む範囲となる。そのため、ＣＰＵ２０−０のルートコンプレックス２３のクロック発生回路２５は停止され、スイッチ３１−０、及びアダプタ３５の電源は停止される。
【００４８】
停止対象通信装置がＣＰＵ２０−１のルートコンプレックス２３、スイッチ３１−１のポート３２−２であった場合、消費電力の抑制範囲は、そのルートコンプレックス２３、及び下流側の全てを含む範囲となる。そのため、ＣＰＵ２０−１のルートコンプレックス２３のクロック発生回路２５は停止され、スイッチ３１−１、ＳＡＴＡコントローラ４１、イーサネットコントローラ４２、及びＩＯ装置４３の電源は全て停止される。
【００４９】
停止対象通信装置がスイッチ３１−１のポート３２−３、或いはＳＡＴＡコントローラ４１であった場合、消費電力の抑制範囲は、そのＳＡＴＡコントローラ４１、及びその下流側の全てを含む範囲となる。そのため、ＳＡＴＡコントローラ４１、及びＩＯ装置４３の電源は全て停止される。
【００５０】
停止対象通信装置がスイッチ３１−１のポート３２−４、或いはイーサネットコントローラ４２であった場合、消費電力の抑制範囲は、そのイーサネットコントローラ４２のみの範囲となる。そのため、イーサネットコントローラ４２の電源のみが停止される。
【００５１】
本実施形態では、アンコレクタブルエラー以外のエラーの発生（検出）により、消費電力の抑制を行うようにしている。
【００５２】
現在、ＰＣＩｅ規格に沿った通信が可能な通信装置のなかには、転送速度を自動的に調整可能な通信装置がある。本実施形態では、予め設定された転送速度（バンド幅）よりも低速な転送速度への調整、つまりバンド幅が劣化するエラーの発生（検出）を契機に、必要に応じて消費電力の抑制を行うようにしている。
【００５３】
通信装置通信装置のダウンストリームポートは、バンド幅の劣化を検出した場合、その旨をＣＰＵ２０、及びサービスプロセッサ５０に通知する。バンド幅の劣化が通知されたサービスプロセッサ５０は、２つの通信装置に、一定値（以降「閾値」と表記）を上限にリトレーニングを行わせ、性能が回復、つまりバンド幅が回復したか否かの確認を行う。
【００５４】
リンクに一時的な性能劣化が発生した場合、リトレーニングによりバンド幅は回復し、例えば最大転送速度、最大レーン数でリンクアップすると期待できる。このことから、本実施形態では、バンド幅が回復しない場合、リンクに接続されている２つの通信装置のうちの一方に固定故障が発生しているとみなし、消費電力の抑制を行うようにしている。被疑個所は、リンクに接続されている２つの通信装置であり、停止対象通信装置は、アンコレクタブルエラーの検出時と同様の理由から、被疑個所のなかで下流側に位置する通信装置である。
【００５５】
リンクの性能が劣化していたとしても、通信自体は可能である。このことから、本実施形態では、リンクの性能の劣化により消費電力を抑制するか否かの判定は、その判定用の情報（以降「継続可否情報」と表記）５３ｂに従って行うようにしている。その継続回避情報５３ｂは、例えばリンク毎に、性能の劣化を固定故障として扱うか否かを表す情報であり、例えばハブ７に直接、或いは間接的に接続されるコンソール等の端末装置を用いてサービスプロセッサ５０に保持される。図２では、継続可否情報５３ｂをメモリ５３内に表しているが、その継続可否情報５３ｂの保存にはフラッシュメモリ５２も用いられる。
【００５６】
性能の劣化を固定故障として扱う場合に特定される消費電力の抑制範囲は、アンコレクタブルエラーの検出時と同様である。
【００５７】
性能が回復しないリンクに接続されている２つの通信装置のうちの一方に固定故障が発生しているとみなし、消費電力の抑制を行うことにより、情報処理装置１の消費電力はより低減させることができる。継続可否情報５３ｂにより、性能が回復しないリンクのなかで通信に用いるべきリンクは継続して通信に用いられる。このようなことから、抑制すべき消費電力のみを適切に抑制することになる。
【００５８】
通信装置の停止（異常停止）は、上流側、若しくは下流側に位置する通信装置によって検出されるか、或いはサービスプロセッサ５０によって直接的に検出される。停止した通信装置は、停止対象通信装置として扱われ、消費電力の抑制範囲が特定される。
【００５９】
停止した通信装置を介したＣＰＵ２０とＩＯ装置間の通信は不可能である。そのため、停止した通信装置から特定される消費電力の抑制範囲内の消費電力を抑制させたとしても不具合は発生しない。
【００６０】
サービスプロセッサ５０は、エラー検出時、或いは停止した通信装置の検出時、図３にフローチャートを表す電源管理処理を実行することにより、消費電力の抑制を行う。次に図３を参照し、消費電力の抑制のためのサービスプロセッサ５０の動作について、より詳細に説明する。
【００６１】
図３にフローチャートを表す電源管理処理は、アンコレクタブルエラー、若しくは性能の劣化（バンド幅の劣化）の通知、或いは停止した通信装置の検知を契機に、サービスプロセッサ５０が実行する処理である。その電源管理処理は、サービスプロセッサ５０のＭＰＵ５１が、フラッシュメモリ５２のファームウェアを実行することで実現される。
【００６２】
先ず、サービスプロセッサ５０は、停止した通信装置が検知されたか否か判定する（Ｓ１）。通信装置の停止が別の通信装置から通知されるか、或いはサービスプロセッサ５０自身が通信装置の停止を認識した場合、Ｓ１の判定はＹｅｓとなってＳ２に移行する。新たに停止した通信装置が存在しない場合、Ｓ１の判定はＮｏとなってＳ３に移行する。
【００６３】
Ｓ２では、サービスプロセッサ５０は、消費電力の抑制範囲を特定し、特定した抑制範囲内の消費電力を抑制するための電源停止処理を実行する。その電源停止処理を実行した後、電源管理処理が終了する。
【００６４】
Ｓ３では、サービスプロセッサ５０は、リンクの性能の劣化（バンド幅の劣化）が通知されたか否か判定する。バンド幅の劣化が通知された場合、Ｓ３の判定はＹｅｓとなってＳ４に移行する。バンド幅の劣化が通知されていない場合、Ｓ３の判定はＮｏとなってＳ１０に移行する。
【００６５】
上記のように、本実施形態では、バンド幅の劣化が検出されたリンクに接続されている２つの通信装置に対し、閾値を上限に、バンド幅の劣化を回復させるためのリトレーニング（図３中「回復処理」及び「PCIe LINK retrain処理」と表記）を行わせる。そのリトレーニングは、Ｓ４に移行することで行われる。
【００６６】
Ｓ４では、サービスプロセッサ５０は、バンド幅の劣化が検出されたリンクに接続されている２つの通信装置に対し、リトレーニングを行わせる。次にサービスプロセッサ５０は、リトレーニングの結果を確認し、バンド幅が期待するレベルに回復したか否か判定する（Ｓ５）。バンド幅が期待するレベルに回復した場合、Ｓ５の判定はＹｅｓとなり、ここで電源管理処理が終了する。一方、バンド幅が期待するレベルにまで回復しなかった場合、Ｓ５の判定はＮｏとなってＳ６に移行する。
【００６７】
Ｓ６では、サービスプロセッサ５０は、リトレーニングを行わせた回数が閾値以下か否か判定する。閾値分のリトレーニングを行わせた場合、Ｓ６の判定はＮｏとなってＳ７に移行する。閾値分のリトレーニングを行わせていない場合、Ｓ６の判定はＹｅｓとなってＳ４に戻る。それにより、サービスプロセッサ５０は再度、リトレーニングを行わせる。
【００６８】
Ｓ７では、サービスプロセッサ５０は、継続可否情報５３ｂを参照し、バンド幅が劣化したリンクに、そのバンド幅の劣化を固定故障として扱うと設定されているか否か判定する。バンド幅の劣化を固定故障として扱わないと設定、つまり動作継続オプションが付いている場合、Ｓ７の判定はＹｅｓとなり、ここで電源管理処理が終了する。この結果、バンド幅が劣化したリンクは、バンド幅が劣化したまま使用されることとなる。一方、バンド幅の劣化を固定故障として扱うと設定、つまり動作継続オプションが付いていない場合、Ｓ７の判定はＮｏとなってＳ８に移行する。
【００６９】
Ｓ８では、サービスプロセッサ５０は、被疑個所として、バンド幅が劣化したリンクに接続されている２つの通信装置を選択する。選択される２つの通信装置のうちの１つは、バンド幅の劣化を検知した通信装置であり、もう１つは、その通信装置とリンクを介して接続されている通信装置（図３中「対向デバイス」と表記）である。
【００７０】
Ｓ８に続くＳ９では、サービスプロセッサ５０は、被疑個所のうち、下流側（下方）に位置する通信装置を停止対象通信装置（図３中「停止が通知されたデバイス」と表記）に決定する。その後、上記Ｓ２に移行する。
【００７１】
上記Ｓ３の判定がＮｏとなって移行するＳ１０では、サービスプロセッサ５０は、アンコレクタブルエラー（図３中「ＵＥ」と表記）が通知されたか否か判定する。何らかのアンコレクタブルエラーが通知された場合、Ｓ１０の判定はＹｅｓとなってＳ１１に移行する。何れのアンコレクタブルエラーも通知されていない場合、Ｓ１０の判定はＮｏとなり、ここで電源管理処理が終了する。
【００７２】
Ｓ１１では、サービスプロセッサ５０は、通知されたアンコレクタブルエラーで停止対象通信装置を特定するためのＵＥにおけるデバイス特定処理を実行する。その実行後、上記Ｓ２に移行する。
【００７３】
図４は、Ｓ２で実行される電源停止処理のフローチャートである。次に図４を参照し、電源停止処理について詳細に説明する。
【００７４】
停止が通知された通信装置、及び停止対象通信装置の下流側は全て、消費電力を抑制する対象となる。このことから、消費電力の抑制範囲は、停止が通知された通信装置、或いは停止対象通信装置の上流側の範囲を特定することで決定される。
【００７５】
先ず、サービスプロセッサ５０は、停止を通知された通信装置をＡとする（Ｓ２１）。次にサービスプロセッサ５０は、Ａと接続された、Ａの一つ上流側（上位）の通信装置をＢとする（Ｓ２２）。その後、サービスプロセッサ５０は、ＢにＡ以外の通信装置がリンクにより接続されているか否か判定する（Ｓ２３）。ＢにＡ以外の通信装置が接続されている場合、Ｓ２３の判定はＹｅｓとなってＳ２５に移行する。ＢにＡ以外の通信装置が接続されていない場合、Ｓ２３の判定はＮｏとなってＳ２４に移行し、Ｂを新たにＡとする。その後は上記Ｓ２２に戻る。それにより、Ｓ２２〜Ｓ２４によって形成される処理ループは、停止を通知された通信装置、或いは停止対象通信装置を起点に、消費電力の抑制による影響が発生しない上流側の範囲の探索を実現させる。
【００７６】
最上流に位置する通信装置は、ルートコンプレックス２３であり、ルートコンプレックス２３より上流側には対象となる通信装置は存在しない。このことから、Ｂがルートコンプレックス２３であった場合、Ｓ２３の判定はＹｅｓとなる。
【００７７】
Ｓ２５では、サービスプロセッサ５０は、消費電力の抑制範囲（図３中「電源停止可能範囲」と表記）を特定する。その抑制範囲は、Ａ、及びそのＡの下流側に存在する全ての通信装置（場合によってはＩＯ装置を含む）である。
【００７８】
Ｓ２５に続くＳ２６では、サービスプロセッサ５０は、Ｂはルートコンプレックス２３か否か判定する。Ｂがルートコンプレックス２３であった場合、Ｓ２６の判定はＹｅｓとなってＳ２７に移行する。Ｂがルートコンプレックス２３でない場合、Ｓ２６の判定はＮｏとなってＳ２８に移行する。
【００７９】
Ｓ２７では、サービスプロセッサ５０は、Ｂであるルートコンプレックス２３へ供給する基準クロックの出力を停止させる。次に、サービスプロセッサ５０は、Ａ、及びそのＡの下流側に位置する全ての通信装置の電源を停止させる。そのようにして、特定した消費電力の抑制範囲内に存在する通信装置の消費電力の抑制を行った後、この電源停止処理が終了する。
【００８０】
図５は、図３に表す電源管理処理内でＳ１１として実行されるＵＥにおけるデバイス特定処理のフローチャートである。最後に図５を参照し、ＵＥにおけるデバイス特定処理について詳細に説明する。
【００８１】
先ず、サービスプロセッサ５０は、被疑個所の候補を特定する（Ｓ３１）。ここで被疑個所の候補として特定される通信装置は、アンコレクタブルエラーを検知した通信装置（図５中「検知デバイス」と表記）、その通信装置と対向する通信装置、及びパケットを送信した通信装置である。
【００８２】
次に、サービスプロセッサ５０は、エラーを検知した通信装置にＡＥＲ機能が実装されているか否か判定する（Ｓ３２）。エラーを検知した通信装置にＡＥＲ機能が実行されている場合、Ｓ３２の判定はＹｅｓとなってＳ３３に移行する。その通信装置にＡＥＲ機能が実装されていない場合、Ｓ３２の判定はＮｏとなってＳ３６に移行する。
【００８３】
Ｓ３３では、サービスプロセッサ５０は、エラー種別はPoisoned TLP、Unexpected Completion、ECRC Error、及びUnsupported Requestのうちの何れかであるか否か判定する。この判定処理は、エラーを検知した通信装置としてルートコンプレックス２３、及びエンドポイントを想定した処理である。そのため、エラーを検知した通信装置がルートコンプレックス２３、或いはエンドポイントであり、且つエラー種別が該当している場合、Ｓ３３の判定はＹｅｓとなってＳ３４に移行する。エラーを検知した通信装置がルートコンプレックス２３、及びエンドポイントの何れでもないか、或いはエラー種別が該当していない場合、Ｓ３３の判定はＮｏとなってＳ３６に移行する。
【００８４】
Ｓ３４では、サービスプロセッサ５０は、被疑個所として、エラーを検知した通信装置ａ、及びパケットを送信した通信装置ｂ（ここではルートコンプレックス２３、及びＩＯ装置が含まれる）を特定する。次に、サービスプロセッサ５０は、被疑個所として特定した通信装置ａ、及び通信装置ｂのなかで、より下流に位置する通信装置を停止対象通信装置（図５中「停止を通知されたデバイス」と表記）とする（Ｓ３５）。その後、このＵＥにおけるデバイス特定処理が終了する。
【００８５】
上記Ｓ３２、或いはＳ３３の判定がＮｏとなって移行するＳ３６では、サービスプロセッサ５０は、被疑個所として、エラーを検知した通信装置ａ、及びその通信装置と対向する通信装置ｂを特定する。その後、上記Ｓ３５に移行する。
【００８６】
Ｓ３５で特定された停止対象通信装置は、図４に表す電源停止処理の実行時、停止を通知されたデバイスとして扱われる。それにより、エラー種別、及び通信装置の停止等に係わらず、消費電力の抑制範囲は特定される。
【００８７】
なお、本実施形態では、エラーの発生、或いは通信装置の停止による状況の変化を契機に、消費電力の抑制を行うようにしているが、消費電力の抑制を行う契機は状況の変化以外であっても良い。例えばＣＰＵ２０は、初期化時に、通信装置（エンドポイント）に接続されているＩＯ装置を認識する。ＩＯ装置の認識により、ＣＰＵ１０とＩＯ装置間の通信に使用されない通信装置を特定することができる。ＣＰＵ２０とＩＯ装置との間の通信に用いられない通信装置の電源を停止させても、不具合は発生しない。このことから、ＣＰＵ２０による初期化（ＩＯ装置の認識）を契機に、消費電力の抑制を行うようにしても良い。通信に使用されない通信装置の特定は、接続される可能性があるエンドポイント（必要に応じてポートを含む）を予め設定し、ＩＯ装置の認識結果の他に、設定を反映させて行うようにしても良い。このようなことからも、様々な変形を行うことができる。
【００８８】
本実施形態では、ＰＣＩｅ規格に対応した通信装置を消費電力の抑制対象としている。消費電力の抑制対象とする通信装置が対応の規格はＰＣＩｅ規格に限定されない。規格の数も１つだけに限定されない。
【００８９】
また、本実施形態では、サービスプロセッサ５０に通信装置を対象にした消費電力の抑制を行わせているが、その消費電力の抑制は別のコンピュータに行わせても良い。必要な情報の取得、及び消費電力の抑制のための制御が外部から可能にした場合、情報処理装置１の外部に存在するコンピュータを管理装置として用いても良い。
【００９０】
上記以外にも、様々な変形を行うことができる。
【００９１】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の入出力装置に接続される情報処理装置において、
演算を行う演算処理装置と、
前記複数の入出力装置と前記演算処理装置との間の通信をそれぞれ行う複数の通信装置と、
前記複数の通信装置のうち、消費電力を制御可能な通信装置を特定する特定部と、
前記特定部が特定した通信装置に対して、消費電力を抑制させる管理部と、
を有することを特徴とする情報処理装置。
（付記２）
前記特定部は、
前記複数の通信装置のいずれかにおけるエラーの発生、又は、前記複数の入出力装置におけるエラーの発生に基づき、消費電力を制御可能な通信装置を特定することを特徴とする付記１記載の情報処理装置。
（付記３）
前記特定部は、
前記複数の通信装置のいずれかに接続された入出力装置の認識ができない場合、消費電力を制御可能な通信装置を特定することを特徴とする付記１又は２記載の情報処理装置。
（付記４）
前記管理部は、
前記特定部が特定した通信装置のなかで電源を停止可能な通信装置の電源を停止させる  ことを特徴とする付記１、２又は３記載の情報処理装置。
（付記５）
複数の入出力装置に接続されるとともに、演算を行う演算処理装置と、前記複数の入出力装置と前記演算処理装置との間の通信をそれぞれ行う複数の通信装置とを備える情報処理装置に用いられ、
前記複数の通信装置のうち、消費電力を制御可能な範囲を特定する特定部と、
前記特定部が特定した通信装置に対して、消費電力を制御する管理部と、
を有することを特徴とする管理装置。
（付記６）
複数の入出力装置に接続されるとともに、演算を行う演算処理装置と、前記複数の入出力装置と前記演算処理装置との間の通信をそれぞれ行う複数の通信装置とを備える情報処理装置の制御方法において、
前記情報処理装置が有する特定部が、前記複数の通信装置のうち、消費電力を制御可能な通信装置を特定し、
前記情報処理装置が有する管理部が、特定された前記通信装置に対して、消費電力を抑制することを特徴とする情報処理装置の制御方法。
（付記７）
複数の入出力装置に接続されるとともに、演算を行う演算処理装置と、前記複数の入出力装置と前記演算処理装置との間の通信をそれぞれ行う複数の通信装置とを備える情報処理装置の制御プログラムにおいて、
前記情報処理装置が有する特定部に、前記複数の通信装置のうち、消費電力を制御可能な通信装置を特定させ、
前記情報処理装置が有する管理部が、特定された前記通信装置に対して、消費電力を抑制させることを特徴とする情報処理装置の制御プログラム。
【符号の説明】
【００９２】
１    情報処理装置
２    ＣＰＵボード
３    ＩＯボード
４    ＩＯサブボード
５    制御用ボード
２０、２０−０、２０−１    ＣＰＵ
２１    ＩＯコントローラ
２３    ルートコンプレックス
２５    クロック発生回路
２６、３２ａ、４１ａ、４２ａ    記憶部
３１、３１−０、３１−１    スイッチ
３２、３２−０〜３２−４    ポート
３５    アダプタ
４１    ＳＡＴＡコントローラ
４２    イーサネットコントローラ
４３    ＩＯ装置
５０    サービスプロセッサ
５１    ＭＰＵ
５２    フラッシュメモリ
５３    メモリ
５３ａ    接続情報
５３ｂ    継続可否情報
【図１】
2015197732.tif 000003
【図２】
2015197732.tif 000004
【図３】
2015197732.tif 000005
【図４】
2015197732.tif 000006
【図５】
2015197732.tif 000007