JP5948806B2 - プラグインカード収容装置及びプラグインカード制御方法 - Google Patents

プラグインカード収容装置及びプラグインカード制御方法 Download PDF

Info

Publication number
JP5948806B2
JP5948806B2 JP2011251112A JP2011251112A JP5948806B2 JP 5948806 B2 JP5948806 B2 JP 5948806B2 JP 2011251112 A JP2011251112 A JP 2011251112A JP 2011251112 A JP2011251112 A JP 2011251112A JP 5948806 B2 JP5948806 B2 JP 5948806B2
Authority
JP
Japan
Prior art keywords
node
data
configuration data
fpga
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011251112A
Other languages
English (en)
Other versions
JP2013105463A (ja
Inventor
明日香 高野
明日香 高野
松井 秀樹
秀樹 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011251112A priority Critical patent/JP5948806B2/ja
Priority to US13/625,341 priority patent/US8901960B2/en
Publication of JP2013105463A publication Critical patent/JP2013105463A/ja
Application granted granted Critical
Publication of JP5948806B2 publication Critical patent/JP5948806B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Microcomputers (AREA)
  • Logic Circuits (AREA)

Description

本発明は、プラグインカード収容装置及びプラグインカード制御方法に関する。
近年、半導体回路の微細化技術の進歩に伴いFPGA(Field-Programmable Gate Array)の回路規模も大規模化しているため、FPGAのコンフィグレーションデータ(以下、単にコンフィグデータと称する)のサイズも肥大化している。また、システム運用中にFPGAの一部の機能の変更を、FPGA内の他機能を停止させることなく、実行するため、FPGAに対する1個のコンフィグデータを複数の分割データに分割するパーシャルコンフィグレーション技術も採用されつつある。
図12は、伝送システムの一例を示す説明図である。図12に示す伝送システム100は、伝送装置等の複数のノード101と、集中管理装置102とを有する。ノード101及び集中管理装置102は、ネットワーク103を通じて通信接続するものである。
各ノード101は、複数のFPGA111と、メモリ112とを有する。メモリ112は、FPGA111のコンフィグデータを格納する領域である。FPGA111は、メモリ112に格納されたコンフィグデータに基づき、コンフィグレーションを実行する。集中管理装置102は、ネットワーク103上の全ノード101内の全FPGA111のコンフィグデータを一元管理する。更に、集中管理装置102は、メモリ121と、管理制御部122とを有する。メモリ121は、例えば、HDD(Hard Disk Drive)や半導体メモリ等で構成し、各FPGA111の種別に応じたコンフィグデータが格納してある。管理制御部122は、集中管理装置102全体を制御する。管理制御部122は、各ノード101内のFPGA111の種別に対応するコンフィグデータをメモリ121から読み出し、読み出されたコンフィグデータを該当FPGA111のノード101に送信する。
各ノード101は、集中管理装置102からコンフィグデータを受信した場合、受信されたコンフィグデータを該当FPGA111内のメモリ112に格納する。更に、ノード101は、メモリ112に格納されたコンフィグデータに基づき、FPGA111に対してコンフィグレーションを実行させる。
特開2001−306343号公報 特開2005−190305号公報
しかしながら、集中管理装置102では、ネットワーク103内の全ノード101のFPGA111のコンフィグデータを一元管理している。その結果、集中管理装置102では、コンフィグデータを格納するためのメモリ121の記憶領域が肥大化することは勿論のこと、各ノード102にコンフィグデータを提供する際の処理負荷が集中する。
更に、集中管理装置102では、該当FPGA111のコンフィグデータをノード101にダウンロードすることになるが、複数のノード101によるコンフィグデータのダウンロードが集中した場合、ネットワーク103の通信帯域が集中する。
しかも、1個のコンフィグデータを複数の分割データに分割するパーシャルコンフィグ機能を採用した場合、通常のコンフィグデータに比較して総データ量も増える。その結果、コンフィグデータを提供する際の集中管理装置102の処理負荷及び通信帯域の集中が顕著になる。
一つの側面では、FPGAに対してコンフィグデータを提供する際の処理負荷及び通信帯域の集中が分散化できるプラグインカード収容装置及びプラグインカード制御方法を提供することを目的とする。
開示の態様は、FPGAを搭載したプラグインカードと、ネットワークに接続された異なるノードに対してFPGAのコンフィグレーションデータの取得を要求するプロセッサとを有する。更に、プロセッサは、当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該FPGAに対するコンフィグレーションを実行する。
開示の態様では、FPGAに対してコンフィグレーションデータを提供する際の処理負荷及びネットワーク帯域の集中が分散化できる。
図1は、実施例1の伝送システムの一例を示す説明図である。 図2は、実施例1のノードのカードスロット構成の一例を示す説明図である。 図3は、管理テーブルのテーブル一例を示す説明図である。 図4は、装置構成データベースのテーブル一例を示す説明図である。 図5は、コンフィグレーション実行処理に関わる各ノードの処理動作の一例を示すフローチャートである。 図6は、ダウンロード元ノード決定処理に関わるノードの処理動作の一例を示すフローチャートである。 図7は、ダウンロード元ノード決定処理に関わる優先順位の一例を示す説明図である。 図8は、伝送システム内のコンフィグデータ及びテーブル更新情報の流れを示す説明図である。 図9は、分割コンフィグレーション実行処理に関わる各ノードの処理動作の一例を示すフローチャートである。 図10は、実施例2の伝送システムの一例を示す説明図である。 図11は、実施例3のノード内のFPGAとFPGA制御部との間の処理動作の一例を示す説明図である。 図12は、伝送システムの一例を示す説明図である。
以下、図面に基づいて、本願の開示するプラグインカード収容装置及びプラグインカード制御方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、実施例1の伝送システムの一例を示す説明図である。図2は、実施例1のノードのカードスロット構成の一例を示す説明図である。図1に示す伝送システム1は、ネットワーク2で接続する伝送装置等の複数のノード3を有し、ネットワーク2を通じてノード3間の通信を実現するシステムである。各ノード3は、図2に示すように複数枚のプラグインカード10をスロット方式で搭載する。プラグインカード10は、例えば、24枚のIFカード11と、2枚のファブリックスイッチ(Switch Fabric)カード12と、1枚の主制御(Main Control)カード13とを有する。
IFカード11は、様々な拡張機能を備え、例えば、#1〜#24の24枚のIFカードである。また、各IFカード11は、複数のFPGA(Field Programmable Gate Array)21と、FPGA制御部22と、物理メモリ(Physical Inventory)23と、ローカルCPU(Local CPU)24とを有する。
FPGA21は、コンフィグデータに基づき各種処理を実行する。FPGA21は、図示せぬ集積回路と、集積回路を制御するコンフィグデータを格納するメモリ21Aとを有する。尚、メモリ21Aは、例えば、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、EEPROM、フラッシュメモリ等の半導体メモリである。FPGA制御部22は、FPGA21内のメモリ21Aに格納されたコンフィグデータに基づき、FPGA21のコンフィグレーションを制御する。尚、FPGA制御部22は、例えば、CPLD(Complex Programmable Logic Device)で構成する。物理メモリ23は、各プラグインカード10の種別や、使用デバイス等の情報が格納してある。尚、物理メモリ23は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)等で構成する。ローカルCPU24は、IFカード11全体を制御する機能と、他のIFカード11内のローカルCPU24、ファブリックスイッチカード12内のローカルCPUや主制御カード13内のCPU34との通信を司る機能とを有する。
ファブリックスイッチカード12は、プラグインカード収容装置1内に収容する各プラグインカード10間のクロスコネクト機能を内蔵し、IFカード11と同様に、図示せぬが、FPGA、FPGA制御部、物理メモリ及びローカルCPUを有する。
主制御カード13は、通信インタフェース31と、管理テーブル32と、装置構成データベース33と、CPU34とを有する。通信インタフェース31は、ネットワーク2を通じて各ノード3との通信を司るインタフェースである。
図3は、管理テーブル32のテーブル一例を示す説明図である。図3に示す管理テーブル32は、カード情報32Aを管理する。カード情報32Aは、カード種別41と、FPGA種別42と、コンフィグデータ情報43と、バージョン情報44と、サイズ45と、チェックサム46と、保有ノード情報47と、パーシャルデータ情報48とを有する。カード種別41は、プラグインカード10の種別を識別する情報である。FPGA種別42は、プラグインカード10に搭載するFPGA21の種別を識別する情報である。コンフィグデータ情報43は、FPGA21内のコンフィグデータを格納するメモリ21Aの領域を識別する情報である。バージョン情報44は、コンフィグデータのバージョンを識別する情報である。サイズ45は、コンフィグデータのデータサイズである。チェックサム46は、データの誤り検出に使用する情報である。保有ノード情報47は、コンフィグデータを格納するノード3を識別する装置識別情報である。パーシャルデータ情報48は、コンフィグデータが分割された分割データの情報である。
パーシャルデータ情報48は、データ種別48Aと、サイズ48Bと、チェックサム48Cとを有する。データ種別48Aは、分割データを識別する情報である。サイズ48Bは、分割データのデータサイズである。チェックサム48Cは、分割データの誤り検出に使用する情報である。
図4は、装置構成データベース33のテーブル一例を示す説明図である。装置構成データベース33は、ノード3内のプラグインカード10の実装情報やカード間接続構成情報の他に、ネットワーク情報を管理する。図4に示すネットワーク情報33Aは、伝送システム1内の全ノード3のトポロジー情報である。ネットワーク情報33Aは、ノード名51と、ノード識別子52と、負荷状態53と、距離情報54とを有する。ノード名51は、伝送システム1内の各ノード3を識別する名称である。ノード識別子52は、伝送システム1内の各ノード3を識別する識別子である。負荷状態53は、ノード3の負荷状態に相当し、例えば、Nomal→Busy→Very Busyの順に負荷状態が段々と高くなる。距離情報54は、伝送システム1内で自ノード3から該当ノード3までのホップ数に相当するものである。尚、例えば、#Aのノード3の装置構成データベース33の場合、図4に示す通り、自ノード3は、ホップ数が0であるため、#Aのノード3となる。
主制御カード13内のCPU34は、IFカード11内のFPGA21のコンフィグデータを取得する際、管理テーブル32を参照し、該当コンフィグデータを格納したメモリ21Aを保有するノード3に対してコンフィグデータのダウンロードを要求する。
該当コンフィグデータを格納したノード3内の主制御カード13内のCPU34は、ダウンロード要求に応じて、該当コンフィグデータをメモリ21Aから読み出し、読み出されたコンフィグデータを、ダウンロードを要求した要求元のノード3に送信する。
要求元のノード3内の主制御カード13内のCPU34は、ネットワーク2経由で、該当コンフィグデータを格納したノード3からコンフィグデータを受信すると、FPGA制御部22を通じて、コンフィグデータを該当FPGA21内のメモリ21Aに格納する。更に、CPU34は、FPGA21内のメモリ21Aに格納されたコンフィグデータに基づき、FPGA制御部22を通じて、FPGA21のコンフィグレーションを実行する。
次に実施例1の伝送システム1の動作について説明する。図5は、コンフィグレーション実行処理に関わる各ノード3の処理動作の一例を示すフローチャートである。図5に示すコンフィグレーション実行処理は、要求元のノード3内のFPGA21のコンフィグデータを格納したノード3から該当コンフィグデータをダウンロードし、コンフィグデータに基づき、FPGA21にコンフィグレーションを実行させる処理である。尚、要求元のノード3は、例えば、“#A”のノード3とし、ダウンロード元のノード3は、例えば、“#N”のノード3とする。
図5に示す“#A”のノード3の主制御カード13内のCPU34は、例えば、IFカード11やファブリックスイッチカード12等のプラグインカード10の新たな実装を検出する(ステップS11)。尚、CPU34は、実装を検出すると、プラグインカード10内の物理メモリ23に格納された情報に基づきカード種別を認識する。CPU34は、検出されたプラグインカード10のカード種別に基づき、プラグインカード10内のFPGA21に設定するコンフィグデータを格納したメモリ21Aを保有するノード3の保有ノード情報47を管理テーブル32から検索する(ステップS12)。
CPU34は、検索結果の保有ノード情報47に基づき、該当コンフィグデータを格納したメモリ21Aを保有するノード3がネットワーク2内にあるか否かを判定する(ステップS13)。CPU34は、ネットワーク2内にある場合に(ステップS13肯定)、該当コンフィグデータを格納したノード3が複数あるか否かを判定する(ステップS14)。CPU34は、該当コンフィグデータを格納したノード3が複数ある場合(ステップS14肯定)、該当コンフィグデータのダウンロード元のノード3を決定する、図6のダウンロード元ノード決定処理を実行する(ステップS15)。
CPU34は、ダウンロード元のノード3、例えば、#Nのノード3に対して該当コンフィグデータのダウンロード要求を送信し(ステップS16)、所定時間内にダウンロード要求に対する応答があるか否かを判定する(ステップS17)。CPU34は、所定時間内にダウンロード要求に対する応答がある場合(ステップS17肯定)、ダウンロード元のノード3から応答を受信する(ステップS18)。
CPU34は、ダウンロード元のノード3から応答を受信すると、OK応答を受信したか否かを判定する(ステップS19)。CPU34は、ダウンロード元のノード3からOK応答を受信した場合(ステップS19肯定)、ダウンロード元のノード3からコンフィグデータの受信を待機する(ステップS20)。
CPU34は、コンフィグデータの受信を待機し、コンフィグデータを受信する(ステップS21)。FPGA制御部22は、管理テーブル32内のサイズ45及びチェックサム46等を参照し受信したコンフィグデータの内容が正常であるか否かを判定する。CPU34は、FPGA制御部22の判定結果に基づき、ダウンロード元のノード3からコンフィグデータを正常に受信したか否かを判定する(ステップS22)。
CPU34は、コンフィグデータを正常に受信した場合(ステップS22肯定)、コンフィグデータをFPGA21内のメモリ21Aに格納し、格納されたコンフィグデータに基づき、FPGA21にコンフィグレーションを実行させる(ステップS23)。そして、CPU34は、FPGA21のコンフィグレーションを実行した後、コンフィグデータを保有するノード3の保有ノード情報47として自ノード3を追加すべく、管理テーブル32を更新する(ステップS24)。CPU34は、管理テーブル32のテーブル更新情報を隣接する各ノード3に送信し(ステップS25)、図5に示す処理動作を終了する。
また、CPU34は、該当コンフィグデータを格納したノード3がネットワーク2内にない場合(ステップS13否定)、コンフィグデータのインストール要求を報知出力する(ステップS26)。尚、CPU34は、インストール要求を、例えば、表示部に警告表示する。その結果、利用者は、警告表示を見て、コンフィグデータをインストールすることになる。
また、CPU34は、該当コンフィグデータを格納したノード3が複数ない場合(ステップS14否定)、当該ノード3をダウンロード元のノード3とし、ダウンロード元のノード3に対してダウンロード要求を送信すべく、ステップS16に移行する。また、CPU34は、所定時間内にダウンロード要求に対する応答がなかった場合(ステップS17否定)、該当コンフィグデータを格納した他のノード3があるか否かを判定する(ステップS27)。CPU34は、該当コンフィグデータを格納した他のノード3がある場合(ステップS27肯定)、該当コンフィグデータを格納したノード3に対するダウンロード要求を送信すべく、ステップS16に移行する。また、CPU34は、該当コンフィグデータを格納した他のノード3がない場合(ステップS27否定)、インストール要求を報知出力すべく、ステップS26に移行する。
また、ダウンロード元のノード3のCPU34は、ステップS16にてダウンロード要求を受信した場合(ステップS28)、データ送信が可能な状態であるか否かを判定する(ステップS29)。ダウンロード元のノード3のCPU34は、データ送信が可能な状態である場合(ステップS29肯定)、OK応答を要求元のノード3にネットワーク2経由で送信する(ステップS30)。
ダウンロード元のノード3のCPU34は、FPGA制御部22を通じて該当カードのFPGA21のメモリ21Aからコンフィグデータを読み出す(ステップS31)。尚、FPGA制御部22は、管理テーブル32内のサイズ45及びチェックサム46等を参照し、読み出されたコンフィグデータの内容が正常であるか否かを判定する。CPU34は、FPGA制御部22の判定結果に基づき、読み出されたコンフィグデータを正常に読み出したか否かを判定する(ステップS32)。
ダウンロード元のノード3のCPU34は、コンフィグデータを正常に読み出した場合(ステップS32肯定)、読み出されたコンフィグデータをネットワーク2経由で要求元のノード3に送信する(ステップS33)。
また、ダウンロード元のノード3のCPU34は、データ送信が可能な状態でない場合(ステップS29否定)、NG応答を要求元のノード3にネットワーク2経由で送信する(ステップS34)。また、ダウンロード元のノード3のCPU34は、コンフィグデータを正常に読み出せなかった場合(ステップS32否定)、FPGA21からコンフィグデータを再度読み出すべく、ステップS31に移行する。
また、要求元のノード3のCPU34は、ダウンロード元のノード3からOK応答を受信しなかった場合(ステップS19否定)、該当コンフィグデータを格納した他のノード3があるか否かを判定すべく、ステップS27に移行する。また、要求元のノード3のCPU34は、ダウンロード元のノード3からコンフィグデータを正常に受信できなかった場合(ステップS22否定)、該当コンフィグデータを格納した他のノード3があるか否かを判定すべく、ステップS27に移行する。
また、ダウンロード元ノード3のCPU34は、要求元のノード3から新たなテーブル更新情報を受信すると(ステップS35)、テーブル更新情報に基づき管理テーブル32を更新し(ステップS36)、図5に示す処理動作を終了する。
図5に示す要求元のノード3は、管理テーブル32を参照してFPGA21に設定するコンフィグデータを格納したノード3の内、ダウンロード元のノード3に対してダウンロードを要求する。要求元のノード3は、ダウンロード元のノード3からダウンロードされたコンフィグデータを該当FPGA21内のメモリ21Aに格納し、格納されたコンフィグデータに基づき、FPGA21にコンフィグレーションを実行する。その結果、各ノード3は、ネットワーク2上の他のノード3からFPGA21と同一種別のコンフィグデータをダウンロードできる。
図6は、ダウンロード元ノード決定処理に関わるノード3の処理動作の一例を示すフローチャートである。図6に示すダウンロード元ノード決定処理は、ネットワーク情報33A内の負荷状態53及び距離情報54に基づき、該当コンフィグデータを格納したノード3の内、ダウンロード効率の最適なダウンロード元のノード3を決定する処理である。
図6に示すダウンロード元のノード3のCPU34は、装置構成テーブル33内の負荷状態53に基づき、該当コンフィグデータを格納したメモリ21Aを保有するノード3の負荷状態を認識する(ステップS41)。CPU34は、該当コンフィグデータを格納したノード3の負荷状態がNormal状態であるか否かを判定する(ステップS42)。CPU34は、該当コンフィグデータを格納したノード3の負荷状態がNormal状態である場合(ステップS42肯定)、装置構成テーブル33内の距離情報54に基づき、Normal状態のノード3の距離情報を認識する(ステップS43)。
CPU34は、距離情報に基づき、Normal状態のノード3の内、自ノード3に最も近接するノード3を第1位の最適なダウンロード元のノード3に決定し(ステップS44)、図6に示す処理動作を終了する。図7は、ダウンロード元ノード決定処理に関わる優先順位の一例を示す説明図である。ステップS44の処理では、図7に示す通り、ダウンロード元ノード3の優先順位を決定する。その結果、CPU34は、Normal状態で距離情報54がホップ数“3”のノード“#P”を第1位の最適なダウンロード元のノード3として決定する。
また、CPU34は、該当コンフィグデータを格納したノード3の負荷状態がNormal状態でない場合(ステップS42否定)、負荷状態がBusy状態であるか否かを判定する(ステップS45)。CPU34は、負荷状態がBusy状態である場合(ステップS45肯定)、装置構成テーブル33内の距離情報54に基づき、Busy状態のノード3の距離情報を認識する(ステップS46)。更に、CPU34は、距離情報に基づき、Busy状態のノード3の内、自ノード3に最も近接するノード3を第1位の最適なダウロード元のノード3に決定し(ステップS47)、図6に示す処理動作を終了する。
CPU34は、該当コンフィグデータを格納したノード3の負荷状態がBusy状態でない場合(ステップS45否定)、装置構成テーブル33内の距離情報54に基づき、負荷状態がVery Busy状態のノード3の距離情報を認識する(ステップS48)。更に、CPU34は、距離情報に基づき、Very Busy状態のノード3の内、自ノード3に最も近接するノード3を第1位の最適なダウンロード元のノード3に決定し(ステップS49)、図6に示す処理動作を終了する。
図6に示す処理では、該当コンフィグデータを格納した複数のノード3の内、負荷状態がNormalで、かつ、距離情報が自ノード3に最も近接するノード3をダウンロード効率の最適なダウンロード元のノード3として決定する。その結果、該当コンフィグデータを格納した複数のノード3からダウンロード効率の最適なダウンロード元のノード3を自動的に決定できる。
図8は、伝送システム1内のコンフィグデータ及びテーブル更新情報の流れを示す説明図である。図8に示す伝送システム1は、例えば、#A〜#Fの6台のノード3を有する。#A,#C,#D及び#Eのノード3は、種別#1のFPGA21を有する。これに対して、#B及び#Fのノード3は、種別#2のFPGA21を有する。そして、#Aのノード3は、種別#1のFPGA21内のメモリ21Aに新規バージョンのコンフィグデータを格納したとする。この際、#Aのノード3は、新規バージョンのコンフィグデータに基づき管理テーブル32を更新する。尚、CPU34は、管理テーブル32内のコンフィグデータに関わる保有ノード情報47をクリアし、保有ノード情報47として自ノード3を追加して更新する。
#Aのノード3は、隣接する#C及び#Bのノード3に対して管理テーブル32のテーブル更新情報を送信する。また、#Bのノード3は、隣接する#Dのノード3→#Fのノード3に対してテーブル更新情報を送信する。同様に、#Cのノード3は、隣接する#Eのノード3に対してテーブル更新情報を送信する。
また、各#A〜#Fのノード3は、テーブル更新情報に基づき、管理テーブル32を更新する。#Cのノード3は、管理テーブル32を参照し、種別#1のFPGA21の新規バージョンのコンフィグデータが識別されると、該当コンフィグデータを格納したノード3である#Aのノード3に対してコンフィグデータのダウンロードを要求する。#Cのノード3は、ダウンロード要求に対応するコンフィグデータを#Aのノード3からダウンロードしてコンフィグデータをメモリ21Aに格納する。更に、#Cのノード3は、格納したコンフィグデータに基づき、FPGA21にコンフィグレーションを実行する。その結果、#Cのノード3は、管理テーブル32内の保有ノード情報47に自ノード3を追加するテーブル更新情報を伝送システム1内の各ノード3に送信する。そして、伝送システム1内の全ノード3は、テーブル更新情報に基づき、管理テーブル32の該当コンフィグデータに関わる保有ノード情報47を更新する。
また、#Dのノード3は、管理テーブル32を参照して、種別#1のFPGA21のコンフィグデータの新規バージョンの更新が識別されると、例えば、隣接する#Cのノード3に対してコンフィグデータのダウンロードを要求する。#Dのノード3は、ダウンロード要求に対応するコンフィグデータを#Cのノード3からダウンロードしてコンフィグデータをメモリ21Aに格納する。更に、#Dのノード3は、格納したコンフィグデータに基づき、FPGA21にコンフィグレーションを実行する。その結果、#Dのノード3は、管理テーブル32内の保有ノード情報47に自ノード3を追加するテーブル更新情報を伝送システム1内の各ノード3に送信する。そして、伝送システム1内の全ノード3は、テーブル更新情報に基づき、管理テーブル32の該当コンフィグデータに関わる保有ノード情報47を更新する。
図8に示す伝送システム1では、隣接するノード3が、管理テーブル32のテーブル更新に基づき、該当コンフィグデータを格納した、隣接するノード3から最新のコンフィグデータをダウンロードする。そして、ノード3は、ダウンロードされた最新のコンフィグデータをFPGA21内のメモリ21Aに格納する。
また、各ノード3は、障害等を検出すると、その障害発生に応じてネットワーク情報33A及びカード情報32Aに変更が生じると、その変更内容を反映したテーブル更新情報を隣接するノード3に送信する。各ノード3内のCPU34は、テーブル更新情報に基づき、管理テーブル32及び装置構成データベース33の内容を更新する。尚、各ノード3は、障害を検出するだけでなく、ネットワーク2の通信状況やノード3間の通信状況を定期的に監視し、その監視結果に基づき、その監視結果を反映したテーブル更新情報を隣接するノード3に送信する。
次に、コンフィグデータが複数の分割データで構成した場合の動作について説明する。図9は、分割コンフィグレーション実行処理に関わる各ノード3の処理動作の一例を示すフローチャートである。分割コンフィグレーション実行処理は、要求元のノード3内のFPGA21に設定するコンフィグデータの分割データを他のノード3からダウンロードし、ダウンロードされた分割データに基づき、FPGA21にコンフィグレーションを実行させる処理である。
図9において要求元のノード3のCPU34は、プラグインカード10の新たな実装を検出する(ステップS11A)。尚、CPU34は、検出されたプラグインカード10内の物理メモリ23に格納された情報に基づきカード種別を認識する。CPU34は、プラグインカード10のカード種別に基づきプラグインカード10内のFPGA21に設定するコンフィグデータの分割データを格納したメモリ21Aを保有するノード3の保有ノード情報47を管理テーブル32から検索する(ステップS12A)。
CPU34は、検索結果である保有ノード情報47に基づき、該当分割データを格納したメモリ21Aを保有するノード3がネットワーク2内にあるか否かを判定する(ステップS13A)。CPU34は、ネットワーク2内にある場合に(ステップS13A肯定)、該当分割データを格納したノード3が複数あるか否かを判定する(ステップS14A)。CPU34は、該当分割データを格納したノード3が複数ある場合(ステップS14A肯定)、該当分割データのダウンロード元の各ノード3を決定すべく、ダウンロード元ノード決定処理を実行する(ステップS15A)。尚、CPU34は、ダウンロード元ノード決定処理を実行し、負荷状態53及び距離情報54に基づき、複数の該当分割データを格納した複数のノード3の内、該当分割データ毎に最適なダウンロード元のノード3を決定する。
CPU34は、ダウンロード元の各ノード3、例えば、#N1,#N2,#Nxのノード3に対して該当分割データのダウンロード要求を送信し(ステップS16A)、所定時間内にダウンロード要求に対する応答があるか否かを判定する(ステップS17A)。CPU34は、所定時間内にダウンロード要求に対する応答がある場合(ステップS17A肯定)、ダウンロード元の各ノード3から応答を受信する(ステップS18A)。
CPU34は、ダウンロード元の各ノード3から応答を受信すると、OK応答を受信したか否かを判定する(ステップS19A)。CPU34は、ダウンロード元の各ノード3からOK応答を受信した場合(ステップS19A肯定)、ダウンロード元の各ノード3から分割データの受信を待機する(ステップS20A)。
CPU34は、分割データの受信を待機した後、各ノード3から分割データを受信する(ステップS21A)。CPU34は、FPGA制御部22を通じて、ダウンロード元の各ノード3から全分割データを正常に受信したか否かを判定する(ステップS22A)。
CPU34は、全分割データを正常に受信した場合(ステップS22A肯定)、全分割データでコンフィグデータを再構築する(ステップS61)。CPU34は、再構築されたコンフィグデータをFPGA21内のメモリ21Aに格納し、格納されたコンフィグデータに基づき、FPGA21にコンフィグレーションを実行させる(ステップS23A)。そして、CPU34は、FPGA21のコンフィグレーションを実行した後、コンフィグデータに関わる保有ノード情報47として自ノード3を追加すべく、管理テーブル32を更新する(ステップS24A)。CPU34は、管理テーブル32のテーブル更新情報を隣接する各ノード3に送信し(ステップS25A)、図9に示す処理動作を終了する。
また、CPU34は、該当分割データを格納したメモリ21Aを保有するノード3がネットワーク2内にない場合(ステップS13A否定)、コンフィグデータのインストール要求を報知出力する(ステップS26A)。尚、CPU34は、インストール要求を、例えば、表示部に警告表示する。その結果、ユーザは、警告表示を見て、コンフィグデータのインストールを実行することになる。
また、CPU34は、該当分割データを格納したノード3が複数ない場合(ステップS14A否定)、当該ノード3をダウンロード元のノード3とし、ダウンロード元のノード3に対してダウンロード要求を送信すべく、ステップS16Aに移行する。また、CPU34は、所定時間内にダウンロード要求に対する応答がなかった場合(ステップS17A否定)、該当分割データを格納した他のノード3があるか否かを判定する(ステップS27A)。CPU34は、該当分割データを格納した他のノード3がある場合(ステップS27A肯定)、該当分割データを格納したノード3に対するダウンロード要求を送信すべく、ステップS16Aに移行する。また、CPU34は、該当分割データを格納した他のノード3がない場合(ステップS27A否定)、インストール要求を表示すべく、ステップS26Aに移行する。
また、ダウンロード元のノード3のCPU34は、ステップS16Aにてダウンロード要求を受信した場合(ステップS28A)、データ送信が可能な状態であるか否かを判定する(ステップS29A)。ダウンロード元のノード3のCPU34は、データ送信が可能な状態である場合(ステップS29A肯定)、OK応答を要求元のノード3にネットワーク2経由で送信する(ステップS30A)。
ダウンロード元のノード3のCPU34は、FPGA制御部22を通じて該当カード内のFPGA21のメモリ21Aから該当の分割データを読み出す(ステップS31A)。尚、FPGA制御部22は、管理テーブル32内のサイズ45及びチェックサム46等を参照し、読み出された分割データの内容が正常であるか否かを判定する。CPU34は、FPGA制御部22の判定結果に基づき、読み出された分割データを正常に読み出したか否かを判定する(ステップS32A)。
ダウンロード元のノード3のCPU34は、分割データを正常に読み出した場合(ステップS32A肯定)、読み出された分割データをネットワーク2経由で要求元のノード3に送信する(ステップS33A)。
また、ダウンロード元のノード3のCPU34は、データ送信が可能な状態でない場合(ステップS29A否定)、NG応答を要求元のノード3にネットワーク2経由で送信する(ステップS34A)。また、ダウンロード元のノード3のCPU34は、分割データを正常に読み出せなかった場合(ステップS32A否定)、FPGA21から分割データを再度読み出すべく、ステップS31Aに移行する。
また、要求元のノード3のCPU34は、ダウンロード元のノード3からOK応答を受信しなかった場合(ステップS19A否定)、該当分割データを格納した他のノード3があるか否かを判定すべく、ステップS27Aに移行する。また、要求元のノード3のCPU34は、ダウンロード元のノード3から分割データを正常に受信できなかった場合(ステップS22A否定)、該当分割データを格納した他のノード3があるか否かを判定すべく、ステップS27Aに移行する。
また、ダウンロード元のノード3のCPU34は、要求元のノード3から新たなテーブル更新情報を受信すると(ステップS35A)、テーブル更新情報に基づき管理テーブル32を更新し(ステップS36A)、図9に示す処理動作を終了する。
図9に示す要求元のノード3は、管理テーブル32を参照してFPGA21に設定するコンフィグデータの分割データを格納したノード3の内、ダウンロード元の各ノード3に対して分割データのダウンロードを要求する。要求元のノード3は、ダウンロード元の各ノード3からダウンロードされた分割データを該当FPGA21内のメモリ21Aに格納し、格納された分割データに基づき、FPGA21にコンフィグレーションを実行する。その結果、各ノード3は、ネットワーク2上の他のノード3からFPGA21と同一種別の分割データをダウンロードできる。
実施例1の各ノード3は、管理テーブル32を参照し、FPGA21の種別に対応したコンフィグデータを格納したメモリ21Aを保有するノード3を同一ネットワーク2内から識別する。そして、各ノード3は、識別されたノード3に対してコンフィグデータのダウンロードを要求し、ダウンロードされたコンフィグデータに基づきFPGA21のコンフィグレーションを実行する。その結果、コンフィグデータを格納した全ノード3がダウンロード元のノード3となり得るため、各ノード3でコンフィグデータを提供する際のネットワーク帯域及び処理負荷の集中を分散化できる。
しかも、ネットワーク2の規模が大きくなるに連れてコンフィグデータを格納したノード3の台数が増えるため、コンフィグデータの高度な冗長性を確保できる。その結果、コンフィグデータの消失や破損にも迅速に対応できる。また、ネットワーク2の一部に障害が発生した場合でも、コンフィグデータを迅速に取得できる。
また、実施例1では、従来技術のように、各ノード3のコンフィグデータを一元管理する集中管理装置のような大容量の記憶デバイスを必要としないため、その分のコストの削減や実装面積が増やせる。
また、実施例1では、該当コンフィグデータを格納した複数のノード3の内、負荷状態がNormalで、かつ、距離情報が自ノード3に最も近接するノード3をダウンロード効率の最適なダウンロード元のノード3として決定する。その結果、該当コンフィグデータを格納した複数のノード3からダウンロード効率の最適なダウンロード元のノード3を自動的に決定できる。
また、実施例1のノード3は、管理テーブル32を参照して、コンフィグデータを複数分割した分割データを格納したメモリ21Aを保有するノード3を識別する。各ノード3は、識別されたノード3に対して分割データのダウンロードを要求し、全分割データに基づきFPGA21のコンフィグレーションを実行する。その結果、データ量が増える、パーシャルコンフィグレーション機能にも十分対応できる。
また、実施例1では、ネットワーク2上の1個のノード3のコンフィグデータの更新を行えば、個々にインストールする必要はなく、隣接ノード3を通じてネットワーク2全体の各FPGA21の更新が可能となる。
図10は、実施例2の伝送システム1の一例を示す説明図である。尚、実施例1の伝送システム1と同一のものには同一符号を付すことで、その重複する構成及び動作の説明について省略する。図10に示すノード3内のIFカード11Aは、FPGA21のソフトエラーを監視するSER監視部60を有する。尚、ソフトエラーは、例えば、1ビットエラーや2ビット以上の同時エラー、すなわちマルチビットエラー等である。SER監視部60は、FPGA21のマルチビットエラーを検出すると、マルチビットエラー検出時に影響のあるコンフィグデータのブロック、例えば、分割データを特定する。
主制御カード13のCPU34は、SER監視部60から1ビットエラーを検出した場合、図示せぬECC(Error detection and Correction)回路でエラー訂正を実行する。
また、CPU34は、FPGA21のマルチビットエラーを検出する、すなわちSER監視部60からFPGA21のマルチビットエラー検出時の分割データを特定する通知を検出すると、特定された分割データを格納したメモリ21Aを保有するノード3の保有ノード情報47を管理テーブル32から検索する。CPU34は、検索された保有ノード情報47に対応したノード3に対して、分割データのダウンロードを要求する。
CPU34は、該当分割データを格納したノード3からダウンロード要求に対応した分割データを受信した場合、分割データをFPGA21内のメモリ21Aに格納する。CPU34は、FPGA制御部22を通じてFPGA21内のメモリ21Aに格納されたコンフィグデータに基づき、FPGA21のコンフィグレーションを実行する。
実施例2では、SER監視部60を通じてFPGA21のマルチビットエラー検出時の分割データを特定した場合、管理テーブル32を参照して、特定された分割データを格納したノード3に対して分割データのダウンロードを要求する。その結果、分割データにマルチビットエラーが生じ、コンフィグデータの一部が破損した場合でも、該当分割データを格納した他のノード3から該当する分割データを取得できるため、ECCによる訂正不可能なソフトエラーが生じたとしても、迅速に復旧できる。
実施例3の伝送システムについて説明する。図11は、実施例3のIFカード内のFPGAとFPGA制御部との間の処理動作の一例を示す説明図である。尚、実施例1の伝送システム1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
図11に示すFPGA21Bは、メモリ21Aと、活性度監視回路71と、抽出ポート72と、コンフィグレーション制御部73とを有する。メモリ21Aは、コンフィグデータの分割データを格納する領域である。活性度監視回路71は、FPGA21Bが処理する主信号の活性度を監視する回路である。尚、活性度とは、主信号の内、実際に使用する有効データの割合を示すレベルを示し、その割合が高い順に高レベル→中レベル→低レベル→ゼロレベルとなる。つまり、活性度が高レベルの場合、FPGA21Bの負荷状態は高レベル、活性度が中レベルの場合、FPGA21Bの負荷状態は中レベル、活性度が低レベルの場合、FPGA21Bの負荷状態は低レベルとなる。また、活性度がゼロレベルの場合、FPGA21Bの負荷状態は、例えばアイドルデータ等が流れている状態で、無処理の状態である。
抽出ポート72は、メモリ21Aに格納された分割データを抽出するポートである。コンフィグレーション制御部73は、FPGA制御部22A経由で取得したコンフィグレーションデータ、例えば、分割データを該当のメモリ21Aに格納する。更に、コンフィグレーション制御部73は、メモリ21Aに格納された分割データに基づき、FPGA21Bのコンフィグレーションを実行する。
また、FPGA制御部22Aは、抽出制御部81と、入力制御部82と、実行制御部83とを有する。抽出制御部81は、要求元のノード3からのダウンロード要求に応じてFPGA21B内の抽出ポート72を通じて該当のメモリ21Aに格納された該当データを抽出する。入力制御部82は、FPGA21B内のコンフィグレーション制御部73を通じて、ダウンロード元のノード3から取得されたデータをFPGA21B内の該当メモリ21Aに格納する。更に、実行制御部83は、FPGA21B内のコンフィグレーション制御部73に対して、該当メモリ21Aのコンフィグデータに基づくコンフィグレーションの実行を指示する。
抽出制御部81は、ダウンロード要求を受信した後、活性度監視回路71で活性度が低レベルの場合にのみ、該当データのメモリ21Aからの抽出動作を開始する。入力制御部82は、ダウンロード元のノード3からデータを受信した後、活性度が低レベルの場合にのみ、該当メモリ21Aに該当データを格納する動作を開始する。更に、実行制御部83は、該当メモリ21Aに該当データを格納した後、活性度が低レベル及びゼロレベルの場合、又はゼロレベルの場合、メモリ21Aに格納されたデータに基づきFPGA21Bのコンフィグレーションの実行動作を開始する。
実施例3では、要求元のノード3からダウンロード要求を受信したとしても、活性度が低レベル及びゼロレベルの場合、又はゼロレベルの場合、該当データのメモリ21Aから抽出動作を開始する。その結果、FPGA21Bの運用中のサービスに対する影響を防止できる。
実施例3では、ダウンロード元のノード3からコンフィグデータを受信したとしても、活性度が低レベル及びゼロレベルの場合、又はゼロレベルの場合、該当データをFPGA21B内のメモリ21Aに格納する格納動作を開始する。その結果、FPGA21Bの運用中のサービスに対する影響を防止できる。
実施例3では、ダウンロード元のノード3からコンフィグデータを受信して該当メモリ21Aに格納したとしても、活性度が低レベル及びセロレベルの場合、又はゼロレベルの場合、該当データに基づくコンフィグレーション動作を開始する。その結果、FPGA21Bの運用中のサービスに対する影響を防止できる。
また、上記実施例では、コンフィグデータを格納するメモリ21Aを内蔵したFPGA21を例示して説明したが、FPGA21の外部にメモリを配置し、このメモリにコンフィグデータを格納しても良い。尚、メモリは、SRAM、DRAM、EEPROM、フラッシュメモリ等の半導体メモリやハードディスク等であっても良い。
また、FPGA21にコンフィグレーションしたコンフィグデータが読出し可能な構成とすれば、FPGA21内にコンフィグデータを格納するメモリ21Aを設けなくても良い。
また、上記実施例では、ダウンロード元のノード3を決定する処理の優先条件としてノード3の負荷状態53を高く設定したが、優先条件として負荷状態53よりも距離情報54を高く設定しても良い。また、ユーザの指定やネットワーク2上の伝送路のトラフィック状況に応じて優先条件を設定しても良い。
また、上記実施例では、図9に示すステップS61にて受信した全分割データでコンフィグデータを再構築したが、再構築せず、分割データ毎にコンフィグレーションを実行させるようにしても良い。
また、各ノード3の主制御カード内のCPU34が、ネットワーク2経由や記録媒体を使用して、プラグイン制御プログラムをインストールできるようにしても良い。この場合、CPU34は、プラグイン制御プログラム内の要求プログラムに基づき、ネットワーク2に接続された異なるノード3に対してFPGA21のコンフィグデータのダウンロードを要求する要求プロセスを実行する。
更に、CPU34は、プラグイン制御プログラム内の格納プログラムに基づき、ダウンロード要求に応じて、ノード3から取得されたコンフィグデータをFPGA21内のメモリ21Aに格納する格納プロセスを実行する。更に、CPU34は、プラグイン制御プログラム内の実行プログラムに基づき、FPGA21内のメモリ21Aに格納されたコンフィグデータに基づき、FPGA21のコンフィグレーションをFPGA制御部22に実行させる実行プロセスを実行する。
各ノード3は、自分のFPGA21の種別に対応したコンフィグデータを格納したメモリ21Aを保有するノード3に対してコンフィグデータのダウンロードを要求する。更に、各ノード3は、ダウンロードされたコンフィグデータに基づきFPGA21のコンフィグレーションを実行する。その結果、コンフィグデータを格納した全ノード3がダウンロード元のノード3となり得るため、コンフィグデータをダウンロードする際のネットワーク帯域及び処理負荷の集中を分散できる。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。
(付記1)FPGAを搭載したプラグインカードと、
ネットワークに接続された異なるノードに対してFPGAのコンフィグレーションデータの取得を要求すると共に、当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該FPGAに対するコンフィグレーションを実行するプロセッサと
を有することを特徴とするプラグインカード収容装置。
(付記2)前記コンフィグレーションデータを識別するデータ識別情報と、当該コンフィグレーションデータを格納する前記ノードを識別する装置識別情報とを対応付けて管理する管理部を有し、
前記プロセッサは、
取得対象のコンフィグレーションデータを識別するデータ識別情報に対応した装置識別情報を前記管理部から読み出し、読み出された装置識別情報に対応した前記ノードに対して、当該コンフィグレーションデータの取得を要求することを特徴とする付記1に記載のプラグインカード収容装置。
(付記3)前記FPGAの負荷状態を監視する監視部を有し、
前記プロセッサは、
前記FPGAの負荷状態が基準レベルよりも低下した場合に、前記取得要求に応じた前記コンフィグレーションデータの読出し動作、又は前記取得要求に応じて取得された前記コンフィグレーションデータのコンフィグレーション動作を実行することを特徴とする付記1に記載のプラグインカード収容装置。
(付記4)前記コンフィグレーションデータを複数に分割し、分割された複数の分割データを識別する前記データ識別情報と、各分割データを格納する前記ノードを識別する前記装置識別情報とを対応付けて前記管理部に管理し、
前記プロセッサは、
取得対象のコンフィグレーションデータ内の各分割データを識別するデータ識別情報に対応した各装置識別情報を前記管理部から読み出し、読み出された各装置識別情報に対応した各ノードに対して、各分割データの取得を要求すると共に、当該取得要求に応じて、各ノードから取得された各分割データに基づき、当該FPGAに対するコンフィグレーションを実行することを特徴とする付記1に記載のプラグインカード収容装置。
(付記5)前記FPGAのコンフィグレーションデータのデータエラーを検出すると共に、データエラー検出時の分割データを特定する監視部を有し、
前記プロセッサは、
前記監視部によって特定された前記分割データのデータ識別情報に対応する前記装置識別情報を前記管理部から読み出し、読み出された前記装置識別情報に対応した前記ノードに対して、当該分割データの取得を要求することを特徴とする付記4に記載のプラグインカード収容装置。
(付記6)FPGAを搭載したプラグインカードと、プロセッサとを有するプラグインカード収容装置のプラグインカード制御方法であって、
前記プロセッサは、
ネットワークに接続された異なるノードに対してFPGAのコンフィグレーションデータの取得を要求し、
当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該FPGAに対するコンフィグレーションを実行する
各処理を実行することを特徴とするプラグインカード制御方法。
(付記7)FPGAを搭載したプラグインカードと、プロセッサとを有するプラグインカード収容装置のプラグインカード制御プログラムであって、
ネットワークに接続された異なるノードに対してFPGAのコンフィグレーションデータの取得を要求し、
当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該FPGAに対するコンフィグレーションを実行する
各処理を前記プロセッサに実行させることを特徴とするプラグインカード制御プログラム。
1 伝送システム
2 ネットワーク
3 ノード
10 プラグインカード
11 IFカード
12 ファイブリックスイッチカード
13 主制御カード
21 FPGA
21A メモリ
21B FPGA
22 FPGA制御部
22A FPGA制御部
32 管理テーブル
34 CPU
60 SER監視部
71 活性度監視回路
81 抽出制御部
82 入力制御部
83 実行制御部

Claims (5)

  1. FPGAを搭載したプラグインカードと、
    同一ネットワーク内の複数のノードの内、取得対象のFPGAのコンフィグレーションデータを格納するノードがあるか否かを判定し、当該ノードがある場合に、同一ネットワークに接続された異なるノードに対してFPGAのコンフィグレーションデータの取得を要求すると共に、当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該FPGAに対するコンフィグレーションを実行するプロセッサと
    前記コンフィグレーションデータを識別するデータ識別情報と、当該コンフィグレーションデータを格納する前記ノードを識別する装置識別情報とを対応付けて管理する管理部とを有し、
    前記プロセッサは、
    取得対象のコンフィグレーションデータを識別するデータ識別情報に対応した装置識別情報を前記管理部から読み出し、読み出された装置識別情報に対応した前記ノードに対して、当該コンフィグレーションデータの取得を要求することを特徴とするプラグインカード収容装置。
  2. 前記FPGAの負荷状態を監視する監視部を有し、
    前記プロセッサは、
    前記FPGAの負荷状態が基準レベルよりも低下した場合に、前記取得要求に応じた前記コンフィグレーションデータの読出し動作、又は前記取得要求に応じて取得された前記コンフィグレーションデータのコンフィグレーション動作を実行することを特徴とする請求項1に記載のプラグインカード収容装置。
  3. 前記コンフィグレーションデータを複数に分割し、分割された複数の分割データを識別する前記データ識別情報と、各分割データを格納する前記ノードを識別する前記装置識別情報とを対応付けて前記管理部に管理し、
    前記プロセッサは、
    取得対象のコンフィグレーションデータ内の各分割データを識別するデータ識別情報に対応した各装置識別情報を前記管理部から読み出し、読み出された各装置識別情報に対応した各ノードに対して、各分割データの取得を要求すると共に、当該取得要求に応じて、各ノードから取得された各分割データに基づき、当該FPGAに対するコンフィグレーションを実行することを特徴とする請求項1又は2に記載のプラグインカード収容装置。
  4. 前記FPGAのコンフィグレーションデータのデータエラーを検出すると共に、データエラー検出時の分割データを特定する監視部を有し、
    前記プロセッサは、
    前記監視部によって特定された前記分割データのデータ識別情報に対応する前記装置識別情報を前記管理部から読み出し、読み出された前記装置識別情報に対応した前記ノードに対して、当該分割データの取得を要求することを特徴とする請求項に記載のプラグインカード収容装置。
  5. FPGAを搭載したプラグインカードと、プロセッサとを有するプラグインカード収容装置のプラグインカード制御方法であって、
    前記プロセッサは、
    同一ネットワーク内の複数のノードの内、取得対象のFPGAのコンフィグレーションデータを格納するノードがあるか否かを判定し、
    当該ノードがある場合に、同一ネットワークに接続された異なるノードに対してFPGAのコンフィグレーションデータの取得を要求し、
    当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該FPGAに対するコンフィグレーションを実行すると共に、
    前記コンフィグレーションデータを識別するデータ識別情報と、当該コンフィグレーションデータを格納する前記ノードを識別する装置識別情報とを対応付けて管理する管理部から取得対象のコンフィグレーションデータを識別するデータ識別情報に対応した装置識別情報を読み出し、読み出された装置識別情報に対応した前記ノードに対して、当該コンフィグレーションデータの取得を要求し、
    当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該FPGAに対するコンフィグレーションを実行する
    各処理を実行することを特徴とするプラグインカード制御方法。
JP2011251112A 2011-11-16 2011-11-16 プラグインカード収容装置及びプラグインカード制御方法 Expired - Fee Related JP5948806B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011251112A JP5948806B2 (ja) 2011-11-16 2011-11-16 プラグインカード収容装置及びプラグインカード制御方法
US13/625,341 US8901960B2 (en) 2011-11-16 2012-09-24 FPGA mounted apparatus and FPGA configuration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011251112A JP5948806B2 (ja) 2011-11-16 2011-11-16 プラグインカード収容装置及びプラグインカード制御方法

Publications (2)

Publication Number Publication Date
JP2013105463A JP2013105463A (ja) 2013-05-30
JP5948806B2 true JP5948806B2 (ja) 2016-07-06

Family

ID=48279986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011251112A Expired - Fee Related JP5948806B2 (ja) 2011-11-16 2011-11-16 プラグインカード収容装置及びプラグインカード制御方法

Country Status (2)

Country Link
US (1) US8901960B2 (ja)
JP (1) JP5948806B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270709B2 (en) 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
WO2015186210A1 (ja) * 2014-06-04 2015-12-10 三菱電機株式会社 機能管理システム及び機能管理方法
CN105511897B (zh) 2014-09-26 2018-11-09 新华三技术有限公司 用于初始化可编程器件的方法和装置
US10511478B2 (en) 2015-04-17 2019-12-17 Microsoft Technology Licensing, Llc Changing between different roles at acceleration components
US10296392B2 (en) 2015-04-17 2019-05-21 Microsoft Technology Licensing, Llc Implementing a multi-component service using plural hardware acceleration components
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US9652327B2 (en) * 2015-04-17 2017-05-16 Microsoft Technology Licensing, Llc Restoring service acceleration
US10216555B2 (en) 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
JP6527045B2 (ja) * 2015-07-16 2019-06-05 東芝ディーエムエス株式会社 コンフィグレーションromのバージョンアップ装置および方法
JP6610271B2 (ja) * 2016-01-08 2019-11-27 富士通株式会社 制御回路、データ処理装置および論理回路管理方法
CN109086068A (zh) * 2017-06-14 2018-12-25 浙江昱能科技有限公司 一种fpga控制单元的配置数据更新系统及方法
CN107704285B (zh) * 2017-09-27 2021-01-05 中国科学院微电子研究所 现场可编程门阵列多版本配置芯片、系统和方法
JP7281275B2 (ja) * 2018-12-20 2023-05-25 Nttエレクトロニクス株式会社 モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3075166B2 (ja) * 1996-02-13 2000-08-07 日本電気株式会社 遠隔保守システム
JPH11353136A (ja) * 1998-06-08 1999-12-24 Canon Inc 印刷装置、ソフトウェア更新方法および記憶媒体
JP2001306343A (ja) 2000-04-21 2001-11-02 Fujitsu I-Network Systems Ltd Fpgaを有する装置のためのシステム
IL137296A (en) * 2000-07-13 2009-09-01 Nds Ltd Configurable hardware system
JP4260197B2 (ja) * 2003-01-15 2009-04-30 三洋電機株式会社 処理装置
JP4367026B2 (ja) * 2003-06-26 2009-11-18 日本電気株式会社 ソフトウェアダウンロード方式および方法
JP4443213B2 (ja) 2003-12-26 2010-03-31 富士通株式会社 通信装置
JP2006253815A (ja) * 2005-03-08 2006-09-21 Toshiba Corp 回路デバイスシステムおよびコンフィギュレーション方法
JP5446229B2 (ja) * 2008-12-04 2014-03-19 日本電気株式会社 電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法

Also Published As

Publication number Publication date
US8901960B2 (en) 2014-12-02
US20130120022A1 (en) 2013-05-16
JP2013105463A (ja) 2013-05-30

Similar Documents

Publication Publication Date Title
JP5948806B2 (ja) プラグインカード収容装置及びプラグインカード制御方法
US20230403194A1 (en) Rules driven software deployment agent
CN109347675B (zh) 服务器配置方法、装置以及电子设备
JP5370897B2 (ja) リモート・ダイレクト・ストレージ・アクセス
US11188561B2 (en) Prioritizing microservices on a container platform for a restore operation
KR101871383B1 (ko) 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템
US10963351B2 (en) Data storage backup system
CN109189627B (zh) 一种硬盘故障监控检测方法、装置、终端及存储介质
CN113382077B (zh) 微服务调度方法、装置、计算机设备和存储介质
US9866443B1 (en) Server data port learning at data switch
US9697078B2 (en) Method and device for auto recovery storage of JBOD array
CN110083380A (zh) 固件更新方法及使用此方法的电子装置
WO2016013199A1 (ja) 仮想化基盤管理装置、仮想化基盤管理システム、仮想化基盤管理方法、及び、仮想化基盤管理プログラムが記録された記録媒体
JP5632820B2 (ja) 広域分散構成変更システム
US11582101B2 (en) Update of programmable for computing nodes
CN102081570B (zh) 一种i2c设备的访问方法及装置
EP3479256B1 (en) Fabric encapsulated resilient storage
JP2010086363A (ja) 情報処理装置及び装置構成組み換え制御方法
JP2010170168A (ja) 流量制御方法およびシステム
CN109151016B (zh) 流量转发方法和装置、服务系统、计算设备及存储介质
CN107704399B (zh) 一种存储数据的方法和装置
JP2021043725A (ja) 計算システム、計算方法及びプログラム
US20120278565A1 (en) Processing device, controlling unit, and method for processing
JP6802056B2 (ja) クライアント装置、サーバ装置およびサーバ選択方法
JP7123110B2 (ja) クライアント装置、サーバ装置およびサーバ選択方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5948806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees