(57)【要約】【課題】並列計算機に含まれるノードをシミュレートするシミュレーション装置の処理速度を向上させること。【解決手段】並列計算機に含まれるノードをシミュレートするシミュレーション装置は、処理回路と、コンピュータとを備える。前記処理回路は、前記並列計算機に含まれる管理装置から命令を受信し、前記命令が書き込み命令である場合、前記書き込み命令のエラーチェックを行い、チェック結果に応じた応答を前記管理装置に送信し、前記チェック結果と前記書き込み命令を前記コンピュータに送信する。前記コンピュータは、前記通信部から前記チェック結果と前記書き込み命令を受信した場合、前記チェック結果に応じて前記書き込み命令に含まれる書き込みデータを記憶部に書き込む。【選択図】図３
2019003560.tif 000002
【特許請求の範囲】
【請求項１】
並列計算機に含まれるノードをシミュレートするシミュレーション装置であって、
処理回路と、
コンピュータとを備え、
前記処理回路は、
前記並列計算機に含まれる管理装置から命令を受信する通信部と、
前記命令を判定する判定部と、
前記判定部が前記命令が書き込み命令であると判定した場合、前記書き込み命令のエラーチェックを行い、チェック結果に応じた応答を前記管理装置に送信するエラーチェック部とを含み、
前記通信部は、前記判定部が前記命令が前記書き込み命令であると判定した場合、前記チェック結果と前記書き込み命令を前記コンピュータに送信し、前記判定部が前記命令が読み出し命令であると判定した場合、前記読み出し命令を前記コンピュータに送信し、
前記コンピュータは、
シミュレートされているノードが有する情報を記憶する記憶部と、
前記通信部から前記チェック結果と前記書き込み命令を受信した場合、前記チェック結果に応じて前記書き込み命令に含まれる書き込みデータを前記記憶部に書き込み、前記通信部から前記読み出し命令を受信した場合、前記記憶装置から前記情報を読み出し、前記読み出した情報の誤り検出符号を算出して前記読み出した情報に付加し、前記処理回路を介して前記読み出した情報を前記管理装置に送信する演算処理装置とを含むことを特徴とするシミュレーション装置。
【請求項２】
前記演算処理装置は、前記応答が前記管理装置に送信された後に、前記記憶部に前記書き込みデータを書き込むことを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
前記処理回路は、Field-Programmable Gate Arrayであることを特徴とする請求項１または２記載のシミュレーション装置。
【請求項４】
前記シミュレーション装置は複数の前記ノードをシミュレートし、
前記通信部は、前記管理装置に接続され、ノード毎に異なる通信インタフェースを有し、
前記記憶部は、ノード毎に異なる記憶領域を有することを特徴とする請求項１乃至３いずれかに記載のシミュレーション装置。
【請求項５】
処理回路と、コンピュータと、を備え並列計算機に含まれるノードをシミュレートするシミュレーション装置のシミュレーション方法であって、前記コンピュータは、シミュレートされているノードが有する情報を記憶する記憶部と、演算処理装置と、を含み、
前記処理回路が
前記並列計算機に含まれる管理装置から命令を受信し、
前記命令を判定し、
前記命令が書き込み命令である場合、前記書き込み命令のエラーチェックを行い、
チェック結果に応じた応答を前記管理装置に送信し、
前記命令が前記書き込み命令である場合、前記チェック結果と前記書き込み命令を前記コンピュータに送信し、
前記命令が読み出し命令である場合、前記読み出し命令を前記コンピュータに送信し、
前記演算処理装置が
前記処理回路から前記チェック結果と前記書き込み命令を受信した場合、前記チェック結果に応じて前記書き込み命令に含まれる書き込みデータを前記記憶部に書き込み、
前記処理回路から前記読み出し命令を受信した場合、前記記憶装置から前記情報を読み出し、前記読み出した情報の誤り検出符号を算出して前記読み出した情報に付加し、前記処理回路を介して前記読み出した情報を前記管理装置に送信する
処理を有するシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置およびシミュレーション方法に関する。
【背景技術】
【０００２】
科学技術計算などの大規模な計算を行う場合、並列計算を行う並列計算機が利用される。並列計算機は、並列計算を行う複数のノードと、複数のノードを管理する管理装置と、を含む。管理装置ではファームウェアが動作し、管理装置は各ノードの起動や監視、および制御等を行う。ノード内には複数のデバイスが存在し管理装置により制御される。
【０００３】
管理装置のファームウェアの試験を行う上で問題となるのが、ノードの不足である。予算上の問題やハードウェアの故障、開発遅延など様々な理由により、ノード(またはノードの一部デバイス)を用意できず、ファームウェアの試験を実施することが困難な場合がある。
【０００４】
このような場合の解決策として、シミュレーション装置を使用する方法がある。ノード(またはノードの一部デバイス)の代わりに、シミュレーション装置を接続し、ファームウェアの試験を実施する方法である。１つのシミュレーション装置で複数のノードを代替することも可能である。これにより、実際に多数のノードを用意することなく管理装置のファームウェアの試験が出来るため、管理装置の開発や保守の試験のコストを削減することが出来る。
【０００５】
ハードウェアが未完成の場合にソフトウェアの試験を行う技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１９４９６０号公報
【特許文献２】特開平８−１６６８９６号公報
【特許文献３】特開２００９−４８２８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
管理装置のファームウェアの試験を行うにあたり、不足する複数のノードをシミュレーション装置で代替した場合、管理装置から複数のノード宛のパケットがシミュレーション装置に送出される。特に並列計算機の起動時においては、管理装置からシミュレートされているノード宛の大量のパケットがシミュレーション装置に送出される。シミュレーション装置において、受信した大量のパケットに対するシミュレート処理が追いつかなくなると、シミュレーション装置の反応が遅くなってしまうという問題がある。
【０００８】
本発明は、並列計算機に含まれるノードをシミュレートするシミュレーション装置の処理速度を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
実施の形態に係るシミュレーション装置は、並列計算機に含まれるノードをシミュレートする。前記シミュレーション装置は、処理回路と、コンピュータとを含む。
前記処理回路は、通信部と、判定部と、エラーチェック部と、を含む。
【００１０】
前記通信部は、前記並列計算機に含まれる管理装置から命令を受信する。
前記判定部は、前記命令を判定する。
【００１１】
前記エラーチェック部は、前記判定部が前記命令が書き込み命令であると判定した場合、前記書き込み命令のエラーチェックを行い、チェック結果に応じた応答を前記管理装置に送信する。
【００１２】
前記通信部は、前記判定部が前記命令が前記書き込み命令であると判定した場合、前記チェック結果と前記書き込み命令を前記コンピュータに送信し、前記判定部が前記命令が読み出し命令であると判定した場合、前記読み出し命令を前記コンピュータに送信する。
【００１３】
前記コンピュータは、記憶部と、演算処理装置と、を含む。
前記記憶部は、シミュレートされている前記ノードが有する情報を記憶する。
【００１４】
前記演算処理装置は、前記通信部から前記チェック結果と前記書き込み命令を受信した場合、前記チェック結果に応じて前記書き込み命令に含まれる書き込みデータを前記記憶部に書き込む。前記演算処理装置は、前記通信部から前記読み出し命令を受信した場合、前記記憶装置から前記情報を読み出し、前記読み出した情報の誤り検出符号を算出して前記読み出した情報に付加し、前記処理回路を介して前記読み出した情報を前記管理装置に送信する。
【発明の効果】
【００１５】
実施の形態によれば、並列計算機に含まれるノードをシミュレートするシミュレーション装置の処理速度を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態に係るシステムの構成図である。
【図２】実施の形態に係るノードの構成図である。
【図３】実施の形態に係るシミュレーション装置の構成図である。
【図４】Ｉ２Ｃ信号データを示す図である。
【図５】実施の形態に係るパケット受信時のＦＰＧＡの処理のフローチャートである。
【図６】実施の形態に係るリード処理時のシステムの処理のシーケンス図である
【図７】実施の形態に係るライト処理時のシステムの処理のシーケンス図である。
【図８】他の実施の形態に係るシステムの構成図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら実施の形態について説明する。
並列計算機の起動時においては、管理装置から複数のノード宛の大量の書き込みを要求するパケット（ライトパケット）がシミュレーション装置に送出される。シミュレーション装置において、受信したライトパケットのエラーチェックが行われる。シミュレーション装置において、エラーチェックをノードのシミュレートを実行しているＣＰＵで実行すると、大量のライトパケットを受信した場合に、エラーチェックの処理の負荷が大きくなり、ノードのシミュレート処理が追いつかなくなり、シミュレーション装置の反応が遅くなってしまう。
【００１８】
図１は、実施の形態に係るシステムの構成図である。
システム１０１は、並列計算機２０１、シミュレーション装置５０１、およびパーソナルコンピュータ（ＰＣ）６０１を含む。
【００１９】
並列計算機２０１は、管理装置３０１およびノード４０１−０を含む。管理装置３０１とノード４０１−０は、Inter-Integrated Circuit（Ｉ２Ｃ）バスにより接続し、互いに通信可能である。
【００２０】
並列計算機２０１は、さらにノード４０１−ｋ（ｋ＝１〜３）を含み、ノード４０１−ｋは管理装置３０１と接続する予定である。そして、ノード４０１−ｉ（ｉ＝０〜３）は、並列計算を行う。しかし、実施の形態では、予算上の問題や開発遅延などの様々な理由により、ノード４０１−ｋを用意していない。そこで、ノード４０１−ｋの代わりにシミュレーション装置５０１が管理装置３０１とＩ２Ｃバスにより接続している。以下の説明または図面において、ノード４０１−ｉは、ノード＃ｉと表記する場合がある。
【００２１】
管理装置３０１は、ノード４０１−ｉの起動や監視、およびノード４０１−ｉ内のデバイスの制御等を行う。上述のように、実施の形態では、ノード４０１−ｋの代わりにシミュレーション装置５０１が管理装置３０１と接続している。そのため、実際には、管理装置３０１は、シミュレーション装置５０１上でシミュレートされている仮想的なノード４０１−ｋの起動や監視、およびノード４０１−ｋ内のデバイスの制御等を行う。
【００２２】
管理装置３０１は、Central Processing Unit（ＣＰＵ）３１１、メモリ３２１、Read Only Memory（ＲＯＭ）３３１、および中継装置３４１を含む。
【００２３】
ＣＰＵ３１１は、ファームウェア３３２をメモリ３２１上に読み出し、実行する。それにより、ＣＰＵ３１１は、ノード４０１−ｉの起動や監視、およびノード４０１−ｉ内のデバイスの制御等を行う。
【００２４】
メモリ３２１は、管理装置３０１で使用されるデータやプログラム等を一時的に記憶する記憶装置である。メモリ３２１は、例えば、Random Access Memory（ＲＡＭ）である。
【００２５】
ＲＯＭ３３１は、管理装置３０１で使用されるデータやプログラム等を記憶する記憶装置である。ＲＯＭ３３１は、ファームウェア３３２を記憶する。
【００２６】
ファームウェア３３２は、ノード４０１−ｉの起動や監視、およびノード４０１−ｉ内のデバイスの制御等を行うプログラムである。
【００２７】
中継装置３４１は、ノード４０１−０およびシミュレーション装置５０１（詳細には、シミュレーション装置５０１上でシミュレートされているノード４０１−ｋ）とのＩ２Ｃパケットの送受信を行う。
【００２８】
シミュレーション装置５０１は、ノード４０１−ｋの動作をシミュレートする。シミュレーション装置５０１は、Local Area Network（ＬＡＮ）を介してＰＣ６０１と接続する。
【００２９】
ＰＣ６０１は、管理装置３０１の試験の評価者により利用され、シミュレーション装置５０１が有する情報を参照および更新する。
【００３０】
図２は、実施の形態に係るノードの構成図である。
ノード４０１−０は、ＣＰＵ４１１、メモリ４２１、およびSolid State Drive（ＳＳＤ）４３１、デバイス４４１−ｊ（ｊ＝１〜５）、および中継装置４５１を含む。
【００３１】
ＣＰＵ４１１は、ノードソフトウェア４３２をメモリ４２１に読み出して実行する。それにより、ＣＰＵ４１１は、オペレーティングシステム（ＯＳ）や並列計算処理を実行する。ＣＰＵ４１１は、バスを介して、メモリ４２１、ＳＳＤ４３１、デバイス４４１−ｊ、および中継装置４５１と接続している。
【００３２】
メモリ４２１は、ノード４０１−０が使用するデータやプログラムを一時的に格納する記憶装置である。メモリ４２１は、例えば、Random Access Memory（ＲＡＭ）である。
【００３３】
ＳＳＤ４３１は、ノード４０１−０で使用されるデータやプログラム等を記憶する記憶装置である。ＳＳＤは、ノードソフトウェア４３２を記憶する。
【００３４】
ノードソフトウェア４３２は、ノード４０１−０で実行されるＯＳやＯＳ上で実行される並列計算処理を行うアプリケーションプログラムである。
【００３５】
デバイス４４１−ｊは、例えば、レジスタを含むLarge-Scale Integration（ＬＳＩ）、ファン、またはDirect Current（ＤＣ）／ＤＣコンバータ等である。
【００３６】
中継装置４５１は、管理装置３０１とＩ２Ｃパケットの送受信を行う。中継装置４５１は、バスを介して、ＣＰＵ４１１、メモリ４２１、およびデバイス４４１−ｊと接続している。
【００３７】
尚、図２に示すノード４０１−０の構成は一例であり、これに限られるものではない。また、ノード４０１−ｋの構成は、ノード４０１−０の構成と同様である。
【００３８】
図３は、実施の形態に係るシミュレーション装置の構成図である。
シミュレーション装置５０１は、Field-Programmable Gate Array（ＦＰＧＡ）５１１およびシングルボードコンピュータ５５１を含む。
【００３９】
ＦＰＧＡ５１１は、パケット処理回路５２１、Serial Peripheral Interface（ＳＰＩ）レジスタ５３１、Ｉ２Ｃインタフェース５４１−ｋ、ＳＰＩインタフェース５４２、およびGeneral Purpose Input/Output（ＧＰＩＯ）インタフェース５４３を含む。
【００４０】
パケット処理回路５２１は、信号データ生成回路５２２、受信／応答回路５２３、パケット判定回路５２４、およびPacket Error Checking（ＰＥＣ）チェック回路５２５を含む。
【００４１】
信号データ生成回路５２２は、管理装置３０１から受信したＩ２Ｃパケットからシミュレーションソフト５８２が利用可能な信号データ（Ｉ２Ｃ信号データ）を生成する。
【００４２】
受信／応答回路５２３は、管理装置３０１からのＩ２Ｃパケット受信、および管理装置３０１へ応答を送信する。受信／応答回路５２３は、通信部の一例である。
【００４３】
パケット判定回路５２４は、Ｉ２Ｃパケットの種別を判定する。詳細は、パケット判定回路５２４は、Ｉ２ＣパケットがＩ２ＣリードパケットかＩ２Ｃライトパケットか判定する。パケット判定回路５２４は、判定部の一例である。
【００４４】
ＰＥＣチェック回路５２５は、管理装置３０１から受信したＩ２ＣパケットがＩ２Ｃライトパケットである場合に、Ｉ２Ｃライトパケットにエラーがあるかチェック（ＰＥＣチェック）を行う。詳細には、ＰＥＣチェック回路５２５は、受信したＩ２ＣライトパケットからＰＥＣ値を算出し、算出したＰＥＣ値とＩ２Ｃライトパケットに含まれる管理装置３０１で算出されたＰＥＣ値とが一致するかによって、エラーの有無を判定する。ＰＥＣチェック回路５２５は、エラーチェック部の一例である。
【００４５】
ＰＥＣチェック回路５２５は、エラーチェックの結果、Ｉ２Ｃライトパケットが正常である（エラー無し）の場合、ＡＣＫ（正常応答）を管理装置３０１に送信する。ＰＥＣチェック回路５２５は、エラーチェックの結果、Ｉ２Ｃライトパケットが異常である（エラー有り）の場合、ＮＡＣＫ（エラー検出）を管理装置３０１に送信する。
【００４６】
Ｉ２Ｃライトパケットのエラーチェックを、ノード４０１−ｋのシミュレートを行っているＣＰＵ５６１でなく、ＰＥＣチェック回路５２５で行うことで、ＣＰＵ５６１の処理は削減され、ノード４０１−ｋのシミュレートの処理速度が向上する。
【００４７】
ＳＰＩレジスタ５３１は、信号データ生成回路５２２により生成されたＩ２Ｃ信号データを記憶する。
【００４８】
Ｉ２Ｃインタフェース５４１−ｋは、管理装置３０１と接続するＩ２Ｃのインタフェースである。Ｉ２Ｃインタフェース５４１−ｋは、ノード４０１−ｋと接続する予定の信号線と接続している。Ｉ２Ｃインタフェース５４１−ｋは、ノード４０１−ｋ宛のＩ２Ｃパケットを管理装置３０１から受信し、ノード４０１−ｋのレジスタＤＢ５７５−ｋから読み出したデータを出力する。Ｉ２Ｃインタフェース５４１−ｋは、通信インタフェースの一例である。
【００４９】
ＳＰＩインタフェース５４２は、シングルボードコンピュータ５５１とのＳＰＩ信号によるＩ２Ｃ信号データの送受信に使用されるインタフェースである。
【００５０】
ＧＰＩＯインタフェース５４３は、シミュレーションソフト５８２への割り込みに使用されるＧＰＩＯ信号の送信に使用されるインタフェースである。
【００５１】
ＦＰＧＡ５１１は、処理回路の一例である。処理回路は、ＦＰＧＡに限らず、ハードウェア回路であれば、Application Specific Integrated Circuit（ＡＳＩＣ）やＬＳＩ等を用いてもよい。
【００５２】
シングルボードコンピュータ５５１は、ＣＰＵ５６１、メモリ５７１、ＲＯＭ５８１、ＳＰＩインタフェース５９１、ＧＰＩＯインタフェース５９２、およびＬＡＮインタフェース５９３を含む。
【００５３】
ＣＰＵ５６１は、シミュレーションソフト５８２をメモリ５７１に読み出して実行する。それにより、ＣＰＵ５６１は、ノード４０１−ｋのシミュレートを行う。ＣＰＵ５６１は、演算処理装置の一例である。
【００５４】
メモリ５７１は、シングルボードコンピュータ５５１が使用するデータやプログラムを一時的に格納する記憶装置である。メモリ５７１は、シミュレーション用ＯＳ５７２、ドライバ５７３、ノードハードウェアシミュレーションデーモン５７４、およびレジスタＤＢ５７５−ｋを記憶する。メモリ５７１は、例えば、ＲＡＭである。メモリ５７１は、記憶部の一例である。
【００５５】
ＲＯＭ５８１は、シングルボードコンピュータ５５１が使用するデータやプログラムを格納する記憶装置である。ＲＯＭ５８１は、シミュレーションソフト５８２を記憶する。
【００５６】
シミュレーションソフト５８２は、ノード４０１−ｋをシミュレートするプログラムである。シミュレーションソフト５８２は、シミュレーション用ＯＳ５７２、ドライバ５７３、ノードハードウェアシミュレーションデーモン５７４、およびレジスタＤＢ５７５−ｋを含む。シミュレーション用ＯＳ５７２、ドライバ５７３、ノードハードウェアシミュレーションデーモン５７４は、メモリ５７１上に展開され、ＣＰＵ５６１により実行される。
【００５７】
シミュレーション用ＯＳ５７２は、ノード４０１−ｋで実行されるＯＳである。
ドライバ５７３は、ノード４０１−ｋで実行されるドライバである。シミュレーション用ＯＳ５７２およびドライバ５７３は、ノードハードウェアシミュレーションデーモン５７４に対してＳＰＩとＧＰＩＯのインタフェースを提供する。
【００５８】
ノードハードウェアシミュレーションデーモン５７４は、ノード４０１−ｋのハードウェアをシミュレートするプログラムである。ノードハードウェアシミュレーションデーモン５７４は、ＦＰＧＡ５１１とのデータの送受信、ＰＥＣ値のチェックと生成、レジスタＤＢ５７５の管理を行う。ＰＥＣ値は、例えば、Cyclic Redundancy Check（ＣＲＣ）である。ＰＥＣ値は、誤り検出符号の一例である。
【００５９】
レジスタＤＢ５７５−ｋは、ノード４０１−ｋが有するデバイス（例えば、ＬＳＩ等）のレジスタのデータを含むテーブルである。レジスタＤＢ５７５−ｋは、ノード４０１−ｋが有するデバイスのレジスタに対応する。レジスタＤＢ５７５−ｋは、記憶領域の一例である。
【００６０】
ＳＰＩインタフェース５９１は、ＦＰＧＡ５１１とのＳＰＩ信号によるＩ２Ｃ信号データの送受信に使用されるインタフェースである。
【００６１】
ＧＰＩＯインタフェース５９２は、シミュレーションソフト５８２への割り込みに使用されるＧＰＩＯ信号の受信に使用されるインタフェースである。
【００６２】
ＬＡＮインタフェース５９３は、ＰＣ６０１とＬＡＮにより接続し、ＰＣ６０１との通信に使用されるインタフェースである。ＰＣ６０１は、管理装置３０１の試験の評価者により利用され、ＬＡＮインタフェース５９３を介して、レジスタＤＢ５７５−ｋを参照および更新する。
【００６３】
管理装置３０１は、ノード４０１−ｋが有するデバイス（例えば、ＬＳＩ）のレジスタに記憶されたデータを取得する。詳細には、管理装置３０１は、ノード４０１−ｋにレジスタのデータの読み出しを命令するＩ２Ｃリードパケットを送信し、ノード４０１−ｋはレジスタからデータを読み出して、管理装置３０１に送信する。実施の形態では、ノード４０１−ｋは接続されておらず、ノード４０１−ｋはシミュレーション装置５０１でシミュレートされている。よって、ノード４０１−ｋがレジスタからデータを読み出する処理は、シミュレーション装置５０１において、レジスタＤＢ５７５−ｋのデータを読み出す処理に相当する。
【００６４】
管理装置３０１は、ノード４０１−ｋが有するデバイス（例えば、ＬＳＩ）のレジスタにデータを書き込む。詳細には、管理装置３０１は、ノード４０１−ｋにレジスタのデータの書き込みを命令するＩ２Ｃライトパケットを送信し、ノード４０１−ｋはＩ２Ｃライトパケットに含まれる書き込みデータをレジスタに書き込む。実施の形態では、ノード４０１−ｋは接続されておらず、ノード４０１−ｋはシミュレーション装置５０１でシミュレートされている。よって、ノード４０１−ｋがレジスタに書き込みデータを書き込む処理は、シミュレーション装置５０１において、レジスタＤＢ５７５−ｋに書き込みデータを書き込む処理に相当する。
【００６５】
次に、信号データ生成回路５２２によりＩ２Ｃパケットから生成されるＩ２Ｃ信号データについて説明する。
【００６６】
図４は、Ｉ２Ｃ信号データを示す図である。
信号データ生成回路５２２により生成されるＩ２Ｃ信号データは、ノード番号、Ｒｅａｄ／Ｗｒｉｔｅフラグ、データ長、バス番号、Ｓｌａｖｅアドレス、Ｉ２Ｃデータ、ＰＥＣ値、ＰＥＣ検査結果を含む。
【００６７】
ノード番号は、ノード４０１−ｋを識別する番号である。ノード番号は、書き込み先または読み出し先のレジスタを有するノード４０１−ｋを示す。
【００６８】
Ｒｅａｄ／Ｗｒｉｔｅフラグは、Ｉ２Ｃパケットの種別を示す。Ｒｅａｄ／Ｗｒｉｔｅフラグが＝Ｒｅａｄの場合、Ｉ２ＣパケットはＩ２Ｃリードパケットであり、生成されＩ２Ｃ信号データは読み出し命令であることを示す。Ｒｅａｄ／Ｗｒｉｔｅフラグが＝Ｗｒｉｔｅの場合、Ｉ２ＣパケットはＩ２Ｃライトパケットであり、生成されＩ２Ｃ信号データは書き込み命令であることを示す。
【００６９】
データ長は、Ｉ２Ｃデータの長さである。
バス番号は、ノード４０１−ｋが有するデバイスのレジスタ（実際には、レジスタＤＢ５７５−ｋ）の書き込み先又は読み出し先を示す。
【００７０】
Ｓｌａｖｅアドレスは、ノード４０１−ｋが有するデバイスのレジスタ（実際には、レジスタＤＢ５７５−ｋ）の書き込み先又は読み出し先を示す。
【００７１】
Ｉ２Ｃデータは、ノード４０１−ｋが有するデバイスのレジスタ（実際には、レジスタＤＢ５７５−ｋ）への書き込み（ライト）データである。
【００７２】
ＰＥＣ値は、エラーチェックに使用される誤り検出符号である。
ＰＥＣ検査結果は、ＰＥＣチェックの結果を示す。ＰＥＣ検査結果＝００は、ＰＥＣチェックが未実施を示す。ＰＥＣ検査結果＝０１は、ＰＥＣチェックを実施済み且つエラー無しを示す。ＰＥＣ検査結果＝１１は、ＰＥＣチェックを実施済み且つエラーありを示す。尚、ＰＥＣ検査結果の初期値は００である。
【００７３】
ノード番号、Ｒｅａｄ／Ｗｒｉｔｅフラグ、データ長、バス番号、Ｓｌａｖｅアドレス、およびＰＥＣ値の各データは、信号データ生成回路５２２が受信したＩ２Ｃパケットに含まれている。Ｉ２Ｃデータは、受信したＩ２ＣパケットがＩ２Ｃライトパケットである場合にＩ２Ｃライトパケットに含まれている。ＰＥＣ検査結果は、ＰＥＣチェック回路５２５により生成される。
【００７４】
次に、シミュレーション装置５０１がパケットを受信した場合のＦＰＧＡ５１１の処理について説明する。
【００７５】
図５は、実施の形態に係るパケット受信時のＦＰＧＡの処理のフローチャートである。
先ず、管理装置３０１はノード４０１−ｋが有するデバイス（例えば、ＬＳＩ）のレジスタに記憶されたデータを読み出すまたはレジスタに書き込むＩ２Ｃパケットを送信する。実施の形態において、ノード４０１−ｋは、シミュレーション装置５０１によりシミュレートされているので、ノード４０１−ｋ宛のＩ２Ｃパケットは、シミュレーション装置５０１に入力される。
【００７６】
ステップＳ７０１において、受信／応答回路５２３は、管理装置３０１からパケットを受信する。
【００７７】
ステップＳ７０２において、パケット判定回路５２４は、受信したパケットがＩ２Ｃパケットであるか判定する。受信したパケットがＩ２Ｃパケットである場合、制御はステップＳ７０３に進み、受信したパケットがＩ２Ｃパケットで無い場合、制御はステップＳ７１０に進む。
【００７８】
ステップＳ７０３において、パケット判定回路５２４は、受信したＩ２Ｃパケットの種別を判定する。詳細には、パケット判定回路５２４は、受信したＩ２ＣパケットがＩ２ＣライトパケットかＩ２Ｃリードパケットか判定する。受信したＩ２ＣパケットがＩ２Ｃライトパケットの場合、制御はステップＳ７０４に進み、受信したＩ２ＣパケットがＩ２Ｃリードパケットの場合、制御はステップＳ７０９に進む。
【００７９】
ステップＳ７０４において、ＰＥＣチェック回路５２５は、Ｉ２Ｃライトパケットのエラーチェック（ＰＥＣチェック）を行う。詳細には、ＰＥＣチェック回路５２５は、Ｉ２Ｃライトパケットに含まれるＰＥＣ値が正常であるか判定する。
【００８０】
ステップＳ７０５において、ＰＥＣ値が正常である場合、制御はステップＳ７０６に進み、ＰＥＣ値が正常でない場合、制御はステップＳ７０７に進む。
【００８１】
ステップＳ７０６において、ＰＥＣチェック回路５２５は、ＡＣＫ（正常応答）を管理装置３０１に送信する。ＡＣＫは、チェック結果の一例である。
【００８２】
ステップＳ７０７において、ＰＥＣチェック回路５２５は、ＮＡＣＫ（エラー検出）を管理装置３０１に送信する。ＮＡＣＫは、チェック結果の一例である。
【００８３】
ステップＳ７０８において、ＰＥＣチェック回路５２５は、ＰＥＣチェックの結果に応じて、ＰＥＣ検査結果を更新する。
【００８４】
ステップＳ７０９において、信号データ生成回路５２２は、受信したＩ２ＣパケットからＩ２Ｃ信号データを生成し、ＳＰＩレジスタ５３１に記憶する。
【００８５】
ステップＳ７１０において、受信／応答回路５２３は、ＧＰＩＯインタフェース５４３からＧＰＩＯ信号を用いて、ＣＰＵ５６１で実行されているシミュレーションソフト５９３に割り込みを行う。
【００８６】
次に、管理装置３０１がノード４０１−ｋが有するデバイス（例えば、ＬＳＩ）のレジスタに記憶されたデータを読み出す場合の処理（リード処理）を説明する。実施の形態において、ノード４０１−ｋは、シミュレーション装置５０１によりシミュレートされているので、実際には、シミュレーション装置５０１のメモリ５７１に記憶されたレジスタＤＢ５７５−ｋのデータが読み出される。
【００８７】
図６は、実施の形態に係るリード処理時のシステムの処理のシーケンス図である。
ここで、管理装置３０１のＣＰＵ３１１は、ファームウェア３３２を実行している。また、シミュレーション装置５０１のＣＰＵ５６１は、シミュレーションソフト５８１（シミュレーション用ＯＳ、ドライバ５７３、およびノードハードウェアシミュレーションデーモン５７４）を実行し、ノード４０１−１〜４０１−３をシミュレートしている。
【００８８】
ステップＳ７２１において、管理装置３０１のＣＰＵ３１１は、Ｉ２Ｃのパケット（Ｉ２Ｃパケット）をノード４０１−ｋに送信する。実施の形態において、ノード４０１−ｋの代わりにシミュレーション装置５０１が接続され、ノード４０１−ｋはシミュレーション装置５０１でシミュレートされている。よって、管理装置３０１からのノード４０１−ｋへのＩ２Ｃパケットは、シミュレーション装置５０１に入力される。図６において、管理装置３０１からのノード４０１−ｋへのＩ２Ｃパケットは、ノード４０１−ｋが有するデバイスのレジスタに記憶されたデータの読み出しを要求するパケット（Ｉ２Ｃリードパケット）である。
【００８９】
ステップＳ７２２において、受信／応答回路５２３は、管理装置３０１からＩ２Ｃパケットを受信する。
【００９０】
ステップＳ７２３において、パケット判定回路５２４は、受信したＩ２Ｃパケットの種別を判定する。ここで、受信したＩ２Ｃパケットは、Ｉ２Ｃリードパケットであると判定されるとする。
【００９１】
ステップＳ７２８において、信号データ生成回路５２２は、受信したＩ２ＣパケットからＩ２Ｃ信号データを生成する。Ｉ２ＣリードパケットおよびＩ２Ｃリードパケットから生成されるＩ２Ｃ信号データは、読み出し命令の一例である。
【００９２】
ステップＳ７２９において、受信／応答回路５２３は、ＧＰＩＯインタフェース５４３からＧＰＩＯ信号を用いて、ＣＰＵ５６１で実行されているシミュレーションソフト５９３に割り込みを行う。すなわち、受信／応答回路５２３は、割り込み信号をシングルボードコンピュータ５５１に送信する。
【００９３】
ステップＳ７３０において、ＣＰＵ５６１は、割り込み信号を受信することで割り込みを検出する。
【００９４】
ステップＳ７３１において、ＣＰＵ５６１は、Ｉ２Ｃ信号データをＦＰＧＡ５１１に要求する。
【００９５】
ステップＳ７３２において、受信／応答回路５２３は、ＳＰＩインタフェースを介して、Ｉ２Ｃ信号データをシングルボードコンピュータ５５１に送信する。
【００９６】
ステップＳ７３３において、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるＰＥＣ検査結果を参照する。ここでは、ＰＥＣ検査結果は、「００」である。よって、ＰＥＣチェックは未実施であることが確認される。また、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるＲｅａｄ／Ｗｒｉｔｅフラグから、受信したＩ２Ｃ信号データは読み出し命令であると判定する。
【００９７】
ステップＳ７３４において、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるノード番号を参照し、ノード番号を取得（認識）する。また、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるバス番号とＳｌａｖｅアドレスを取得する。
【００９８】
ステップＳ７３５において、ＣＰＵ５６１は、取得したノード番号が示すノード４０１−ｋのレジスタに対応するレジスタＤＢ５７５−ｋから取得したバス番号とＳｌａｖｅアドレスに基づいてデータを読み出す。ＣＰＵ５６１は、ノード番号が「ｘ」の場合、対応するレジスタＤＢは、レジスタＤＢ５７５−ｘである。
【００９９】
ステップＳ７３６において、ＣＰＵ５６１は、読み出したデータからＰＥＣ値を算出し、ＰＥＣ値を読み出したデータに付加する。
【０１００】
ステップＳ７３７において、ＣＰＵ５６１は、読み出したデータと算出したＰＥＣ値を含む完了通知をＦＰＧＡ５１１に送信する。
【０１０１】
ステップＳ７３８において、受信／応答回路５２３は、シングルボードコンピュータ５５１から完了通知を受信し、完了通知を管理装置３０１に送信する。
【０１０２】
ステップＳ７３９において、管理装置３０１のＣＰＵ３１１は、中継装置３４１を介して完了通知を受信する。
【０１０３】
次に、管理装置３０１がノード４０１−ｋが有するデバイス（例えば、ＬＳＩ）のレジスタにデータを書き込む場合の処理（ライト処理）を説明する。実施の形態において、ノード４０１−ｋは、シミュレーション装置５０１によりシミュレートされているので、実際には、シミュレーション装置５０１のメモリ５７１に記憶されたレジスタＤＢ５７５−ｋにデータは書き込まれる。
【０１０４】
図７は、実施の形態に係るライト処理時のシステムの処理のシーケンス図である。
ここで、管理装置３０１のＣＰＵ３１１は、ファームウェア３３２を実行している。また、シミュレーション装置５０１のＣＰＵ５６１は、シミュレーションソフト５８１（シミュレーション用ＯＳ、ドライバ５７３、およびノードハードウェアシミュレーションデーモン５７４）を実行し、ノード４０１−１〜４０１−３をシミュレートしている。
【０１０５】
ステップＳ７４１において、管理装置３０１のＣＰＵ３１１は、Ｉ２Ｃのパケット（Ｉ２Ｃパケット）をノード４０１−ｋに送信する。実施の形態において、ノード４０１−ｋの代わりにシミュレーション装置５０１が接続され、ノード４０１−ｋはシミュレーション装置５０１でシミュレートされている。よって、管理装置３０１からのノード４０１−ｋへのＩ２Ｃパケットは、シミュレーション装置５０１に入力される。図７において、管理装置３０１からのノード４０１−ｋへのＩ２Ｃパケットは、ノード４０１−ｋが有するデバイスのレジスタにデータの書き込みを要求するパケット（Ｉ２Ｃライトパケット）である。Ｉ２Ｃライトパケットは、ノード４０１−ｋが有するデバイスのレジスタに対する書き込み（ライト）データを含む。
【０１０６】
ステップＳ７４２において、受信／応答回路５２３は、管理装置３０１からＩ２Ｃパケットを受信する。
【０１０７】
ステップＳ７４３において、パケット判定回路５２４は、受信したＩ２Ｃパケットの種別を判定する。ここで、受信したＩ２Ｃパケットは、Ｉ２Ｃライトパケットであると判定されるとする。
【０１０８】
ステップＳ７４４において、ＰＥＣチェック回路５２５は、Ｉ２Ｃライトパケットのエラーチェック（ＰＥＣチェック）を行う。詳細には、ＰＥＣチェック回路５２５は、受信したＩ２ＣライトパケットからＰＥＣ値を算出し、算出したＰＥＣ値とＩ２Ｃライトパケットに含まれる管理装置３０１で算出されたＰＥＣ値とが一致するか判定する。それにより、ＰＥＣチェック回路５２５は、Ｉ２Ｃライトパケットにエラーがあるか判定する。
【０１０９】
ステップＳ７４５において、ＰＥＣチェック回路５２５は、ＰＥＣ値が正常である（算出したＰＥＣ値とＩ２Ｃライトパケットに含まれるＰＥＣ値とが一致する）場合、完了通知としてＡＣＫ（正常応答）を管理装置３０１に送信する。ＰＥＣチェック回路５２５は、ＰＥＣ値が正常でない（算出したＰＥＣ値とＩ２Ｃライトパケットに含まれるＰＥＣ値とが一致しない）場合、完了通知としてＮＡＣＫ（エラー検出）を管理装置３０１に送信する。
【０１１０】
ステップＳ７４６において、管理装置３０１は、シミュレーション装置５０１から完了通知を受信し、次の処理を実行する。
【０１１１】
ステップＳ７４７において、ＰＥＣチェック回路５２５は、完了通知の送信後、ＰＥＣチェックの結果に応じて、ＰＥＣ検査結果を更新する。詳細には、ＰＥＣチェック回路５２５は、ＰＥＣチェックにおいてＰＥＣ値が正常である場合、ＰＥＣ検査結果を「１０」に更新する。ＰＥＣチェック回路５２５は、ＰＥＣチェックにおいてＰＥＣ値が正常でない場合、ＰＥＣ検査結果を「１１」に更新する。
【０１１２】
ステップＳ７４８において、信号データ生成回路５２２は、受信したＩ２ＣパケットからＩ２Ｃ信号データを生成する。Ｉ２ＣライトパケットおよびＩ２Ｃライトパケットから生成されるＩ２Ｃ信号データは、書き込み命令の一例である。
【０１１３】
ステップＳ７４９において、受信／応答回路５２３は、ＧＰＩＯインタフェース５４３からＧＰＩＯ信号を用いて、ＣＰＵ５６１で実行されているシミュレーションソフト５９３に割り込みを行う。すなわち、受信／応答回路５２３は、割り込み信号をシングルボードコンピュータ５５１に送信する。
【０１１４】
ステップＳ７５０において、ＣＰＵ５６１は、割り込み信号を受信することで割り込みを検出する。
【０１１５】
ステップＳ７５１において、ＣＰＵ５６１は、Ｉ２Ｃ信号データをＦＰＧＡ５１１に要求する。
【０１１６】
ステップＳ７５２において、受信／応答回路５２３は、ＳＰＩインタフェースを介して、Ｉ２Ｃ信号データをシングルボードコンピュータ５５１に送信する。
【０１１７】
ステップＳ７５３において、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるＰＥＣ検査結果を参照する。ここでは、ＰＥＣ検査結果は、「１０」または「１１」である。また、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるＲｅａｄ／Ｗｒｉｔｅフラグから、受信したＩ２Ｃ信号データは書き込み命令であると判定する。
【０１１８】
ステップＳ７５４において、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるノード番号を参照し、ノード番号を取得（認識）する。また、ＣＰＵ５６１は、受信したＩ２Ｃ信号データに含まれるバス番号とＳｌａｖｅアドレスを取得する。
【０１１９】
ステップＳ７５５において、ＣＰＵ５６１は、ＰＥＣ検査結果が「１０」の場合、取得したノード番号が示すノード４０１−ｋのレジスタに対応するレジスタＤＢ５７５−ｋに取得したバス番号とＳｌａｖｅアドレスに基づいて書き込みデータを書き込む。書き込みデータは、Ｉ２Ｃ信号データに含まれるＩ２Ｃデータに相当する。ＣＰＵ５６１は、ＰＥＣ検査結果が「１１」の場合、ＦＰＧＡ５１１が受信したＩ２Ｃパケットにエラーがあるため、レジスタＤＢ５７５−ｋの更新は行わない。
【０１２０】
ステップＳ７５６において、ＣＰＵ５６１は、書き込み完了の通知をＦＰＧＡ５１１に送信する。
【０１２１】
ステップＳ７５６において、ＦＰＧＡ５１１は、書き込み完了の通知を受信する。
実施の形態のシミュレーション装置によれば、Ｉ２ＣライトパケットのエラーチェックをＦＰＧＡで行うことで、エラーチェックをソフトウェアを用いてＣＰＵで実行するより高速に行うことができる。また、エラーチェックをＦＰＧＡで行うことで、ノードのシミュレートを行っているＣＰＵの負荷を低減できる。それにより、シミュレーション装置の処理速度を向上させることができる。
【０１２２】
実施の形態のシミュレーション装置によれば、Ｉ２ＣライトパケットのエラーチェックをＦＰＧＡで行い、レジスタＤＢにデータを書き込む前に管理装置へ応答を送信している。それにより、管理装置は、応答を受信後、すぐに次の処理に進むことができ、シミュレート性能を向上させることが出来る。
【０１２３】
実施の形態のシミュレーション装置によれば、数千ノード以上有するスーパーコンピュータの管理装置の試験および評価を行うために、同数のノードを準備する必要がなくなるため、管理装置の試験および評価のコストや時間を低減することができる。
【０１２４】
シミュレーション装置５０１は、ノード４０１−ｉに含まれる一部のデバイス４４１−ｊやＣＰＵ４１１をシミュレートしてもよい。
【０１２５】
図８は、他の実施の形態に係るシステムの構成図である。
システム１１０１は、並列計算機１２０１、シミュレーション装置５０１、およびＰＣ６０１を含む。
【０１２６】
並列計算機１２０１は、管理装置３０１およびノード４０１−ｉを含む。管理装置３０１とノード４０１−ｉは、Ｉ２Ｃバスにより接続し、互いに通信可能である。
【０１２７】
管理装置３０１は、ノード４０１−ｉの起動や監視、およびノード４０１−ｉ内のデバイスの制御等を行う。図８の管理装置３０１の構成および機能は、図１の管理装置３０１の構成および機能と同様であるため詳細な説明は省略する。
【０１２８】
ノード４０１−ｉは、並列計算を行う。他の実施の形態のノード４０１−０の構成は、図２のノード４０１−０と同様の構成となる予定である。しかしながら、他の実施の形態では、予算上の問題や開発遅延などの様々な理由により、ノード４０１−０のデバイス４４１−２、４４１−４、およびＣＰＵ４４１を用意していない。
【０１２９】
他の実施の形態のノード４０１−０において、デバイス４４１−２、４４１−４、およびＣＰＵ４４１の代わりに、シミュレーション装置１５０１が接続されている。
【０１３０】
シミュレーション装置１５０１は、ノード４０１−０のデバイス４４１−２、４４１−４、およびＣＰＵ４４１の動作をシミュレートする。シミュレーション装置１５０１は、実施の形態のシミュレーション装置５０１と同様の構成および機能を有する。シミュレーション装置１５０１は、ＬＡＮを介してＰＣ６０１と接続する。
【０１３１】
ＰＣ６０１は、管理装置３０１の試験の評価者により利用され、シミュレーション装置１５０１が有する情報を参照および更新する。
【０１３２】
シミュレーション装置１５０１は、上述の実施の形態のノード４０１−ｋ宛てのＩ２Ｃパケットの代わりに、デバイス４４１−２、４４１−４、およびＣＰＵ４４１宛てのＩ２Ｃパケットを受信する。そして、受信したＩ２Ｃパケットの種別に応じて、上述のシミュレーション装置５０１と同様の処理を行う。それにより、シミュレーション装置１５０１は、実施の形態のシミュレーション装置５０１と同様の効果が得られる。
【０１３３】
他の実施の形態のシミュレーション装置によれば、Ｉ２ＣライトパケットのエラーチェックをＦＰＧＡで行うことで、エラーチェックを高速に行うことができる。また、エラーチェックをＦＰＧＡで行うことで、ＣＰＵの負荷を低減できる。それにより、シミュレーション装置の処理速度を向上させることができる。
【０１３４】
他の実施の形態のシミュレーション装置によれば、Ｉ２ＣライトパケットのエラーチェックをＦＰＧＡで行い、データを書き込む前に管理装置へ応答を送信している。それにより、管理装置は、応答を受信後、すぐに次の処理に進むことができ、シミュレート性能を向上させることが出来る。
【０１３５】
他の実施の形態のシミュレーション装置によれば、実際のノードが有するデバイスを用意することなく、管理装置の試験および評価を行うことができ、管理装置の試験および評価のコストを低減することができる。
【０１３６】
以上の実施の形態に関し、さらに以下の付記を開示する。  
（付記１）
並列計算機に含まれるノードをシミュレートするシミュレーション装置であって、
処理回路と、
コンピュータとを備え、
前記処理回路は、
前記並列計算機に含まれる管理装置から命令を受信する通信部と、
前記命令を判定する判定部と、
前記判定部が前記命令が書き込み命令であると判定した場合、前記書き込み命令のエラーチェックを行い、チェック結果に応じた応答を前記管理装置に送信するエラーチェック部とを含み、
前記通信部は、前記判定部が前記命令が前記書き込み命令であると判定した場合、前記チェック結果と前記書き込み命令を前記コンピュータに送信し、前記判定部が前記命令が読み出し命令であると判定した場合、前記読み出し命令を前記コンピュータに送信し、
前記コンピュータは、
シミュレートされているノードが有する情報を記憶する記憶部と、
前記通信部から前記チェック結果と前記書き込み命令を受信した場合、前記チェック結果に応じて前記書き込み命令に含まれる書き込みデータを前記記憶部に書き込み、前記通信部から前記読み出し命令を受信した場合、前記記憶装置から前記情報を読み出し、前記読み出した情報の誤り検出符号を算出して前記読み出した情報に付加し、前記処理回路を介して前記読み出した情報を前記管理装置に送信する演算処理装置とを含むことを特徴とするシミュレーション装置。
（付記２）
前記演算処理装置は、前記応答が前記管理装置に送信された後に、前記記憶部に前記書き込みデータを書き込むことを特徴とする付記１記載のシミュレーション装置。
（付記３）
前記処理回路は、Field-Programmable Gate Arrayであることを特徴とする付記１または２記載のシミュレーション装置。
（付記４）    
前記演算処理装置は、前記複数のノードのシミュレートを実行することを特徴とする付記１乃至３のいずれかに記載のシミュレーション装置。
（付記５）
前記シミュレーション装置は複数の前記ノードをシミュレートし、
前記通信部は、前記管理装置に接続され、ノード毎に異なる通信インタフェースを有し、
前記記憶部は、ノード毎に異なる記憶領域を有することを特徴とする付記１乃至４のいずれかに記載のシミュレーション装置。
（付記６）
処理回路と、コンピュータと、を備え並列計算機に含まれるノードをシミュレートするシミュレーション装置のシミュレーション方法であって、前記コンピュータは、シミュレートされている前記ノードが有する情報を記憶する記憶部と、演算処理装置と、を含み、
前記処理回路が
前記並列計算機に含まれる管理装置から命令を受信し、
前記命令を判定し、
前記命令が書き込み命令である場合、前記書き込み命令のエラーチェックを行い、
チェック結果に応じた応答を前記管理装置に送信し、
前記命令が前記書き込み命令である場合、前記チェック結果と前記書き込み命令を前記コンピュータに送信し、
前記命令が読み出し命令である場合、前記読み出し命令を前記コンピュータに送信し、
前記演算処理装置が
前記処理回路から前記チェック結果と前記書き込み命令を受信した場合、前記チェック結果に応じて前記書き込み命令に含まれる書き込みデータを前記記憶部に書き込み、
前記処理回路から前記読み出し命令を受信した場合、前記記憶装置から前記情報を読み出し、前記読み出した情報の誤り検出符号を算出して前記読み出した情報に付加し、前記処理回路を介して前記読み出した情報を前記管理装置に送信する
処理を有するシミュレーション方法。
（付記７）
前記演算処理装置は、前記応答が前記管理装置に送信された後に、前記記憶部に前記書き込みデータを書き込むことを特徴とする付記６記載のシミュレーション方法。
（付記８）
前記処理回路は、Field-Programmable Gate Arrayであることを特徴とする付記６または７記載のシミュレーション方法。
（付記９）    
前記処理部は、前記複数のノードのシミュレートを実行することを特徴とする付記６乃至８のいずれかに記載のシミュレーション方法。
（付記１０）
前記シミュレーション装置は複数の前記ノードをシミュレートし、
前記処理回路は、前記管理装置に接続され、ノード毎に異なる通信インタフェースを有し、
前記記憶部は、ノード毎に異なる記憶領域を有することを特徴とする付記６乃至９のいずれかに記載のシミュレーション方法。
【符号の説明】
【０１３７】
１０１    システム
２０１    並列計算機
３０１    管理装置
４０１    ノード
４１１    ＣＰＵ
４２１    メモリ
４３１    ＳＳＤ
４３２    ノードソフトウェア
４４１    デバイス
４５１    中継装置
５０１    シミュレーション装置
５１１    ＦＰＧＡ
５２１    パケット処理回路
５２２    信号データ生成回路
５２３    受信／応答回路
５２４    パケット判定回路
５２５    ＰＥＣチェック回路
５３１    ＳＰＩレジスタ
５４１    Ｉ２Ｃインタフェース
５４２    ＳＰＩインタフェース
５４３    ＧＰＩＯインタフェース
５５１    シングルボードコンピュータ
５６１    ＣＰＵ
５７１    メモリ
５７２    シミュレーション用ＯＳ
５７３    ドライバ
５７４    ノードハードウェアシミュレーションデーモン
５７５    レジスタＤＢ
５８１    ＲＯＭ
５８２    シミュレーションソフト
５９１    ＳＰＩインタフェース
５９２    ＧＰＩＯインタフェース
５９３    ＬＡＮインタフェース
６０１    ＰＣ
【図１】
2019003560.tif 000003
【図２】
2019003560.tif 000004
【図３】
2019003560.tif 000005
【図４】
2019003560.tif 000006
【図５】
2019003560.tif 000007
【図６】
2019003560.tif 000008
【図７】
2019003560.tif 000009
【図８】
2019003560.tif 000010