NASA가 Artemis II의 내결함성 컴퓨터를 구축한 방법
1 day ago
3
- 달 유인 비행선 Orion의 비행 컴퓨터는 Apollo 시대 시스템보다 복원력과 자동 제어 능력이 크게 향상된 구조로, 생명 유지·전력·통신 등 핵심 기능을 모두 관리함
- 달 궤도 25만 마일 거리에서도 중단 없이 작동하도록, 물리적·논리적 중복 구조와 다중 비행 컴퓨터를 통해 하드웨어 오류와 방사선 영향을 견디도록 설계됨
- 각 Flight Control Module(FCM) 은 자체 검증 프로세서 쌍으로 구성되어 총 8개의 CPU가 병렬 실행되며, fail-silent 설계와 우선순위 기반 출력 선택 알고리듬으로 오류를 격리함
- 시스템은 시간 트리거형 이더넷과 결정론적 아키텍처를 통해 완전 동기화 상태를 유지하고, 삼중화된 네트워크와 메모리로 단일 비트 오류까지 자동 수정함
- 주 시스템이 모두 실패할 경우를 대비해 독립 하드웨어와 운영체제 기반의 Backup Flight Software가 제어권을 인계받으며, 이 구조는 향후 자율 시스템의 항상 가동 복원력 모델로 평가됨
NASA의 Artemis II 내결함성 컴퓨터 설계
-
Artemis II의 비행 컴퓨터는 Apollo 시대 항법 컴퓨터보다 복원력과 자동 제어 능력이 크게 향상된 구조
- Apollo 컴퓨터는 1MHz 프로세서와 약 4KB 메모리를 사용했으며, 주요 제어는 수동 스위치나 릴레이 기반
- Artemis II의 Orion 캡슐은 생명 유지, 전력, 통신 등 모든 핵심 기능을 컴퓨터가 직접 관리
- 달 궤도 25만 마일 거리에서의 임무 실패는 복구 불가능하므로, 시스템은 우주 방사선, 비트 플립, 하드웨어 결함에도 중단 없이 작동해야 함
- NASA는 물리적 중복 배선, 논리적으로 중복된 네트워크 평면, 다중 비행 컴퓨터를 통해 하드웨어 오류를 대비
-
The Power of Eight
- Orion은 기존 삼중 중복(triple redundancy) 을 넘어서는 구조를 채택
- 두 개의 Vehicle Management Computer(VMC) 각각에 두 개의 Flight Control Module(FCM)을 탑재해 총 4개의 FCM 구성
- 각 FCM은 자체 검증(self-checking) 프로세서 쌍으로 이루어져 총 8개의 CPU가 병렬로 비행 소프트웨어를 실행
- 시스템은 fail-silent 설계를 기반으로 하며, 오류가 발생한 CPU는 잘못된 출력을 내보내지 않고 즉시 침묵 상태로 전환
- 다수결 투표 대신 우선순위 기반 소스 선택 알고리듬을 사용해 정상 채널의 출력을 선택
- NASA는 Van Allen 복사대 통과 중 일시적 오류를 예상하며, 최대 22초 동안 3개의 FCM을 잃어도 마지막 FCM으로 임무를 지속 가능
- 침묵 상태의 FCM은 재설정 후 다른 모듈과 동기화되어 비행 중 재참여 가능
-
결정론적 동작 유지
- 여러 독립 컴퓨터를 완전 동기화(lockstep) 상태로 유지하기 위해 결정론적 아키텍처(deterministic architecture) 를 적용
- Orion은 시간 트리거형 이더넷(time-triggered Ethernet) 네트워크를 사용해 시스템 전체에 시간을 분배
- 비행 소프트웨어는 ARINC653 스케줄러가 관리하는 주 프레임(major frame) 과 부 프레임(minor frame) 내에서 실행
- 시간·공간 분할을 통해 입력과 출력이 네트워크 일정과 완벽히 정렬되도록 보장
- 각 FCM은 동일한 입력을 받아 동일한 코드를 실행하고 동일한 출력을 생성
- 각 초마다 FCM의 클록 드리프트를 측정해 네트워크 기준 시간으로 재보정
- 마감 시간(deadline)을 지키지 못한 애플리케이션은 자동으로 침묵 상태로 전환 후 재동기화
- 하드웨어는 삼중 모듈 중복 메모리(TMR) 를 사용해 단일 비트 오류를 자동 수정하며, 네트워크 인터페이스 카드도 이중 트래픽 경로를 비교해 오류 발생 시 fail-silent 처리
- 네트워크는 세 개의 독립 평면으로 삼중화되어 있으며, 모든 스위치는 자체 검증 기능을 가짐
-
최종 백업 시스템
- NASA는 모든 주요 채널에 동시에 영향을 줄 수 있는 공통 모드 실패(common mode failure) 에 대비
- 이를 위해 Backup Flight Software(BFS) 시스템을 별도로 탑재
- BFS는 다른 하드웨어, 다른 운영체제, 독립적으로 개발된 단순화된 비행 소프트웨어로 구성
- 주 시스템이 실패하면 자동으로 BFS가 제어권을 인계받아 임무의 동적 구간을 완료 가능
- 이후 승무원이 주 FCM 복구를 시도할 수 있음
-
fail-silent 논리는 필수이지만, 오류가 감지되지 않은 채 남지 않도록 감시 타이머 및 다층 모니터링이 병행되어야 함
- 전원 완전 상실(“dead bus”) 시에도 생존 가능하도록 설계
- 전원 복구 시 자동으로 안전 모드(safe mode) 진입
- 태양 전지판을 태양 방향으로 조정해 전력 회복 후, 열 안정화를 위해 기체를 태양에 꼬리를 향하게 함
- 이후 지구와의 통신 재수립 시도, 필요 시 승무원이 수동으로 생명 유지 장치 조정 가능
-
신뢰성의 미래
- Apollo에서 Artemis로의 변화는 소프트웨어 복잡성의 비약적 증가를 의미
- Apollo는 기계적 백업이 존재했지만, Artemis에서는 소프트웨어가 모든 제어를 담당
- NASA는 전 환경 시뮬레이션, 몬테카를로 스트레스 테스트, 대규모 결함 주입(fault injection) 을 포함한 현대적 검증 워크플로를 사용
- 슈퍼컴퓨터를 활용해 전체 비행 타임라인을 모의하고, 하드웨어 결함 상황에서도 소프트웨어가 fail-silent로 복구 가능한지 검증
- Orion의 제로 톨러런스 아키텍처는 향후 자율주행차, 산업 제어망 등에서도 적용 가능한 항상 가동(always-on) 복원력의 모델로 평가됨
-
Homepage
-
개발자
- NASA가 Artemis II의 내결함성 컴퓨터를 구축한 방법