NASAがアルテミスIIの宇宙船に搭載したコンピュータをとにかく故障させない「フェイルサイレントアーキテクチャ」とは?

ソフトウェア

月でのフライバイを目的とした「アルテミスIIミッション」の有人宇宙船の打ち上げが2026年4月1日に成功しました。アルテミスIIの宇宙船に搭載されているコンピュータシステムは「宇宙飛行用に開発された中でも最も耐障害性の高いコンピュータシステム」とされており、その詳細についてコンピューティングや情報技術分野を専門とするメディアのCommunications of the ACMが解説しています。

How NASA Built Artemis II’s Fault-Tolerant Computer – Communications of the ACM

https://cacm.acm.org/news/how-nasa-built-artemis-iis-fault-tolerant-computer/

1960年代のアポロ計画で宇宙飛行士たちが使用していた「アポロ誘導コンピュータ」は、1MHzのプロセッサと約4KBの書き換え可能メモリを備えた当時としては革新的なシステムでした。ただしその役割は限定的で、環境制御や電力管理といった重要な機能の多くはスイッチやリレーといった手動または電気機械的な仕組みに依存していました。 50年以上ぶりに4人の乗組員を乗せて月周回軌道を周回するアルテミスIIミッションの宇宙船「オリオン」に搭載されているコンピュータシステムは、アポロ誘導コンピュータと異なり、生命維持から通信制御に至るまでほぼすべての安全上重要な機能を統合的に管理しています。宇宙空間では現地での修理や緊急着陸はほぼ不可能であり故障が即ミッション失敗を意味するため、オリオンに搭載されているコンピュータはあらゆるシステムが放射線によるビット反転やハードウェア障害に耐えて停止することなく動作し続けるよう設計されており、「宇宙飛行用に開発された中でも最も耐障害性の高いコンピュータシステム」と呼ばれています。

宇宙空間は強い放射線環境で、高エネルギー粒子は電子機器に影響を与えて計算結果に誤りを生じさせる可能性があるため、誤った回答が宇宙船のスラスタに伝わらないようにNASAは従来のシステムの「三重冗長性」をさらに超えた対策を講じました。オリオンにはそれぞれ2つの飛行制御モジュールを内蔵した2つの機体管理コンピュータ(FCM)が使用されており、合計4つのFCMを備えています。さらに各FCMは相互に監視し合う2つのプロセッサで構成されており、合計で8つのCPUが並列して同じ飛行ソフトウェアを実行します。 NASAのオリオン計画でソフトウェア統合・検証担当責任者を務めるネイト・ユイテンブルーク氏は、「私たちは、ハードウェア障害に対応できるよう設計を続けています。物理的に冗長化された配線に加え、論理的にも複数のネットワーク系統が用意され、飛行コンピューター自体も冗長化されています。これらは全て、ハードウェア障害に対応するためのものです」と説明しています。ユイテンブルーク氏によると、もし放射線などの影響でコンピューターが誤った計算を発生させた場合は、間違った答えを送信せずに音もなく故障するため、この設計は「fail-silent(フェイルサイレント)」と呼ばれているとのこと。

フェイルサイレントのように複数のコンピューターを完全に同期させて動作させることは、わずかなタイミングのズレでも正常なシステム同士が異なる結果を出してしまう可能性があるため、計算機科学において非常に難しい課題とされています。この問題に対しNASAは「厳格な決定論的アーキテクチャ」を採用することで対応しています。 また、ハードウェア面でも対策は強化されています。メモリは読み出しのたびに単一ビットエラーを自動修正する「トリプルモジュラー冗長メモリ」を採用しています。ネットワークも複数経路で構成され、通信中のビット反転が検出されると、その経路は即座に無効化されます。

このような自動チェックによるフェイルサイレントアーキテクチャでエラーの回避を強化した上でも、理論的にはすべてのプライマリチャネルに同時に影響を与える可能性のあるソフトウェアのバグや壊滅的な事象である「共通モード障害」が発生する可能性があります。このリスクを軽減するため、オリオンは完全に独立したバックアップ飛行ソフトウェア(BFS)を搭載しており、メインシステムが機能しなくなった場合には自動的に制御を引き継ぎ、ミッションを安全な状態へ移行できるように備えています。仮に電力が完全に失われる「デッドバス」状態になったとしてもオリオンは自動的にセーフモードへ移行し、姿勢を安定させた後太陽電池を太陽に向けて発電を再開し、通信の再確立を試みるなど生存できるように設計されています。

Communications of the ACMによると、アポロ時代は機械的なバックアップが多くコンピュータだけが生存を決定するわけではありませんでしたが、現代の宇宙船では熱制御や電力管理を含むほぼすべてがソフトウェアに依存しているため、放射線にさらされる環境下でもソフトウェアの同期と有効性を維持することが課題となっているそうです。NASAはこの信頼性を確保するためにモンテカルロ法などの大規模な検証ワークフローを採用しています。アルテミスIIで採用されたソフトウェアがエラーを出力しても絶対に止まらない「ゼロトレランス・アーキテクチャ」は、将来的には自動運転車や電力インフラといった地上のシステムにも応用される可能性が期待されています。

・関連記事 なぜ1970年の科学力でも月へ行けたのにそれから半世紀以上も人類は月に行かなかったのか? - GIGAZINE

月探査ミッションの「アルテミスII」で宇宙飛行士らが撮影した月や宇宙船内の写真が大量公開 - GIGAZINE

なぜアルテミスIIミッションのカメラには旧世代一眼レフの「Nikon D5」が採用されたのか? - GIGAZINE

有人月探査ミッション「アルテミスII」の宇宙飛行士らが「人類史上最も地球から離れた地点」に到達 - GIGAZINE

「アルテミスII」で持ち込まれたスマホは特別改造版「iPhone 17 Pro Max」、月探査ミッションでNASAが宇宙飛行士にスマホの使用を許可した初の事例 - GIGAZINE

「アルテミスII」ミッションの宇宙船打ち上げ直後に発覚したトイレの故障はなにが大問題なのか? - GIGAZINE

関連記事: