"1枚のボードに複数のプロセッサを搭載するマルチプロセッサシステムにおいて、前記複数のプロセッサのうち、前記ボードの起動処理を実行するメインプロセッサの状態を監視する状態監視手段と、前記メインプロセッサが前記ボードの起動処理を実行できない場合、当該メインプロセッサが行う起動処理を前記複数のプロセッサにおける他のプロセッサに実行させるための起動指示手段とを備えることを特徴とするマルチプロセッサシステム。複数のプロセッサのうち、メインプロセッサを示す特権管理表を生成する特権管理表生成手段と、前記特権管理表におけるメインプロセッサの更新を行う特権管理表更新手段とを備え、前記特権管理表更新手段は、状態管理手段で前記メインプロセッサが前記ボードの起動処理を実行できないことを検知した場合または前記メインプロセッサからの指示により前記特権管理表を更新すると共に、起動指示手段は前記更新された特権管理表に基づいて他のプロセッサへの起動指示を行うことを特徴とする請求項1記載のマルチプロセッサシステム。複数のプロセッサを搭載した基板を利用するマルチプロセッサシステムにおいて、各基板を制御するメインプロセッサが故障すると、他のプロセッサは正常であっても基板が起動できない等の弊害が生じる。その結果、基板として使用できずに交換が必要となるため、システムの稼働率が低下し、また予備基板との交換を含むメンテナンスの頻度が増えてライフサイクルコスト上昇の要因となっていた。この発明は上記のような課題を解決するためになされたもので、メインプロセッサの故障が発生した場合でもシステムとしての稼働率の低下を防止し、ライフサイクルコストの上昇を抑えることのできるマルチプロセッサシステムを得ることを目的とする。この発明に係るマルチプロセッサシステムは、1枚のボードに複数のプロセッサを搭載するマルチプロセッサシステムにおいて、複数のプロセッサのうち、ボードの起動処理を実行するメインプロセッサの状態を監視する状態監視手段と、メインプロセッサがボードの起動処理を実行できない場合、メインプロセッサが行う起動処理を複数のプロセッサにおける他のプロセッサに実行させるための起動指示手段とを備えたものである。この発明のマルチプロセッサシステムは、メインプロセッサがボードの起動処理を実行できない場合、メインプロセッサが行う起動処理を複数のプロセッサにおける他のプロセッサに実行させるようにしたので、メインプロセッサの故障が発生した場合でもシステムとしての稼働率の低下を防止し、ライフサイクルコストの上昇を抑えることができる。実施の形態1.図1は、この発明の実施の形態1によるマルチプロセッサシステムを示す構成図である。図1に示すシステムは、複数のデータ処理ボード1a,1b,1cとデータ供給ボード2とネットワーク3を備えている。データ処理ボード1a,1b,1cは、それぞれ複数のプロセッサを搭載したボードであり、例えばレーダ信号処理といったデータ処理をボード単位で行うものである。データ供給ボード2は、データ処理ボード1a,1b,1cにデータを供給するためのボードであり、ネットワーク3は、データ供給ボード2とデータ処理ボード1a,1b,1cとを接続するLAN等のネットワークである。図2は、データ処理ボード1a,1b,1cの内部構成を示すものである。図1に示すそれぞれのデータ処理ボード1a,1b,1cの構成は同様であるため、図2ではデータ処理ボード1として説明する。データ処理ボード1は、CPU0100、CPU1200、FPGAFieldProgrammableGateArray300、PCIExpressスイッチ400、LANコントローラ0500、LANコントローラ1600、共有入出力700を備えている。CPU0100は、図3に示すように、コアAC0A101、コアBC0B102、FPGA通知手段103を備えたデュアルコアのCPUである。ここで、C0A101は、CPU0100において、データ処理ボード1の起動処理を行うメインプロセッサとしてのCPUコアである。また、FPGA通知手段103は、C0A101またはC0B102が正常に稼働していることをFPGA300に通知するための手段である。CPU1200は、CPU0100と基本的な機能は同様であり、図4に示すように、コアAC1A201、コアBC1B202を備えたデュアルコアのCPUである。即ち、データ処理ボード1には四つのCPUコアが搭載されているものである。FPGA300は、データ処理ボード1の起動処理を実行するメインプロセッサであるC0A101の状態を監視する状態監視手段と、C0A101がデータ処理ボード1の起動処理を実行できない場合、C0A101が行う起動処理を他のプロセッサに実行させるための起動指示手段の機能を実現する機能部であり、図5に示すように、特権管理表生成手段301、特権管理表記憶手段302、特権管理表更新手段303、CPU0インタフェースI/F304、CPU0信号処理補助手段305、C0A動作監視手段306,C0A隔離手段307、C0B通知手段308、CPU1インタフェースI/F309、CPU1信号処理補助手段310を備えている。ここで、C0A動作監視手段306が状態監視手段を構成し、C0A隔離手段307とC0B通知手段308とで起動指示手段を構成している。特権管理表生成手段301は、複数のプロセッサC0A101~C1B202のうち、データ処理ボード1の起動処理を行うメインプロセッサを示す特権管理表を生成する手段であり、特権管理表記憶手段302は、特権管理表生成手段301で生成された特権管理表を記憶する手段である。また、特権管理表更新手段303は、C0A動作監視手段306でC0A101がデータ処理ボード1の起動処理を実行できないことを検知した場合またはC0A101からの指示により特権管理表を更新する手段である。特権管理表は、図6に示すように、データ処理ボード1におけるC0A101~C1B202のボード起動の優先順位のパターンを示すものである。図6において、0~3が優先順位を示しており、0が最も高い優先順位である。CPU0インタフェース304は、FPGA300におけるCPU0100とのインタフェースであり、CPU0信号処理補助手段305~C0B通知手段308が接続されている。CPU0信号処理補助手段305は、FPGA300において、CPU0100の信号処理に関する処理を行う手段である。C0A動作監視手段306は、CPU0100におけるコアA101の動作状態の監視を行う手段であり、例えば、一定時間毎にC0A101の生存確認を行う、といった手段を用いて監視を行う。C0A隔離手段307は、C0A動作監視手段306において、コアA101の動作状態を確認できない場合、コアA101を隔離処理する手段である。C0B通知手段308は、C0A隔離手段307でコアA101が隔離された場合、コアB102に対してメインプロセッサであることを通知する手段である。また、CPU1インタフェース309は、CPU1200とのインタフェースであり、CPU1信号処理補助手段310は、FPGA300においてCPU100の信号処理に関する処理を行う手段である。図2に戻り、PCIExpressスイッチ以下、スイッチという400は、CPU0100とCPU1200との共有入出力700へのスイッチングを行う手段であり、図7に示すように、CPU0が接続されるアップストリームポートUpStreamPort401、CPU1が接続される非透過ポートNonTransparentPort402、共有入出力700が接続されるダウンストリームポートDownStreamPort403を備えている。LANコントローラ0500及びLANコントローラ1600は、それぞれCPU0100及びCPU1200とネットワーク3とのネットワーク制御を行うための制御部である。共有入出力700は、CPU0100とCPU1200とが共有する入出力手段であり、図8に示すように、スイッチ400に接続されるPCIExpressブリッジ701、USBUniversalSerialBusが接続されるUSBコントローラ702、VMEバスが接続されるVMEバスブリッジ703、PMCPCIメザニンカード704、PCIExpressブリッジ701とUSBコントローラ702~PMC704とを接続するPCIバス705を備えている。次に、実施の形態1のマルチプロセッサシステムの動作について説明する。図9は、正常時の起動処理のシーケンスを示す説明図である。データ処理ボード1に電源が投入されると、4つのコアC0A101~C1B202は各々起動処理を実行しステップST900、ST901、FPGA300は特権管理表に初期値を設定するステップST902。即ち、FPGA300における特権管理表更新手段303は、特権管理表記憶手段302に記憶されている特権管理表に初期値を設定する。初期値のメインプロセッサはC0A101であり、C0A動作監視手段306によってC0A101の生存状態が確認される。その後、C1A201とC1B202はスイッチ400のアクセスがCPU0100側から許可されるまで待機しステップST903~ST904、C0A101がスイッチ400を設定してCPU1200側からのアクセスを許可するステップST905。続いて、C1A201とC1B202は共有入出力700の初期設定完了を待ち、C0A101がこれを設定するステップST906~ST908。以降は、C0A101~C1B202が、それぞれスイッチ400を介して共有入出力700とのデータ入出力を行うと共に、LANコントローラ0500及びLANコントローラ1600を介してデータ処理ボード1外部とのデータ入出力を行う。次に、メインプロセッサが故障した場合の動作について説明する。図10は、この場合の起動処理のシーケンスを示す説明図である。通常はC0A101がボード全体を制御するが、ステップST1000,ST1001の起動処理完了後、何らかの原因で故障する等で起動できない場合ステップST1002は、FPGA300からの動作監視に応答しなくなりステップST1005~ST1006、FPGA300のC0A動作監視手段306がC0A101の故障を検出する。尚、C1A201とC1B202は待機状態のままであるステップST1003~ST1004。C0A101の故障を検出したFPGA300では、C0A隔離手段307がC0A101を隔離するステップST1007と共に、特権管理表更新手段303は特権管理表を更新しステップST1008、C0B通知手段308は、共有入出力700を初期設定する権限をC0B102に移した上で、C0B102に起動処理の実行を指示するステップST1009。以下、スイッチ400を設定してCPU1200から共有入出力700へのアクセスを許可する処理ステップST1010と、共有入出力700の初期設定ステップST1011~ST1013は、C0B102が行う。この状態でC0A101を除く三つのCPUC0B102,C1A201,C1B202はFPGA300を利用することができ、また、共有入出力700を含むボード上のリソースも通常通り利用できる。次に図11を用いて、C0A101が故障せずに他のCPU例えばC0B102に特権を譲渡する動作を説明する。ここで、ステップST1100~ステップST1102の処理は図9におけるステップST900~ステップST902と同様である。起動処理を終えたC0A101は、FPGA300の特権管理表を更新した後、C0B102に起動を指示して特権をC0B102に譲渡するステップST1103~ST1105。尚、C0A101による特権管理表の更新は、CPU0信号処理補助手段305を介して特権管理表更新手段303に更新指示を行うことによって実行される。その後の処理は、C1A201とC1B202の待機状態ステップST1106~ST1107の後、C0B102がスイッチ400を設定してCPU1200から共有入出力700へのアクセスを許可する処理ステップST1108と、共有入出力700の初期設定ステップST1109~ST1111はC0B102が行う。ここで、図10に示したC0A101が故障したケースとでは、4つのCPUC0A101~C1B202全てがFPGA300や共有入出力700を利用することができる点が異なる。尚、上記実施の形態1では、メインプロセッサをC0A101としたが、これに限定されるものではなく、どのプロセッサが起動処理を行う場合であっても同様に適用可能である。このように実施の形態1では、基板上に予め搭載されている他のプロセッサを利用してメインプロセッサの処理を代行させることで、基板の延命策を提供することができる。実施の形態1では、故障単位がCPUコアであるため、基板上のCPUが単独で故障した状況にも対応できる。また、メインプロセッサの処理を代行可能な他のプロセッサを基板内で確保できるので、外部に予備基板を用意する必要がない。または、予備基板への交換頻度を小さくでき、基板のライフサイクルコストを低減することができる。特許文献1に記載されているような従来のシステムでは故障基板を探索して予備基板に切り替える手段として故障計算機探索プロセスを基板外部に設けているが、実施の形態1では基板内でメインプロセッサから他のプロセッサへの切替えが行われるため、基板の外部に故障基板を監視するための機構を設ける必要がない。また、従来のシステムではディスク故障を課題としているが、実施の形態1ではディスクレスのシステムにも適用可能である。以上説明したように、実施の形態1のマルチプロセッサシステムによれば、1枚のボードに複数のプロセッサを搭載するマルチプロセッサシステムにおいて、複数のプロセッサのうち、ボードの起動処理を実行するメインプロセッサの状態を監視する状態監視手段と、メインプロセッサがボードの起動処理を実行できない場合、メインプロセッサが行う起動処理を複数のプロセッサにおける他のプロセッサに実行させるための起動指示手段とを備えたので、メインプロセッサの故障が発生した場合でもシステムとしての稼働率の低下を防止することができ、ライフサイクルコストの上昇を抑えることができる。また、実施の形態1のマルチプロセッサシステムによれば、複数のプロセッサのうち、メインプロセッサを示す特権管理表を生成する特権管理表生成手段と、特権管理表におけるメインプロセッサの更新を行う特権管理表更新手段とを備え、特権管理表更新手段は、状態管理手段でメインプロセッサがボードの起動処理を実行できないことを検知した場合またはメインプロセッサからの指示により特権管理表を更新すると共に、起動指示手段は更新された特権管理表に基づいて他のプロセッサへの起動指示を行うようにしたので、メインプロセッサの管理を容易に行うことができる。尚、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。"