NASA 보이저호, 70년대 코드 여전히 유지 보수
NASA의 보이저 우주선이 1970년대에 개발된 어셈블리어와 극히 제한된 컴퓨팅 자원으로 여전히 작동 중이라는 사실을 소개합니다. 대중적인 오해와 달리 현재 엔지니어링 팀은 세대교체를 이루었으나, 수십 년의 세월 동안 원본 설계 문서의 상당수가 유실된 것이 가장 큰 문제로 대두되고 있습니다. 오래된 기술을 기반으로 심우주 탐사선을 성공적으로 운영하는 현대의 기술적 도전과 레거시 시스템 유지보수의 실상을 보여줍니다.
이 이야기의 대중적인 버전은 이미 고정된 형태로 굳어졌습니다. NASA는 현재 아무도 읽을 수 없는 프로그래밍 언어로 작성된 소프트웨어로 보이저호를 계속 운영하고 있으며, 80대 엔지니어들이 이를 유지보수하고 있지만 그들을 대체할 후임자는 없다는 것입니다. 기록을 살펴보면, 이 이야기의 일부는 사실이고 일부는 그렇지 않습니다. 근본적인 문제는 실제로 존재하지만, 헤드라인이 암시하는 것보다 더 구체적입니다.
우주선이 실제로 작동하는 방식 보이저의 탑재 컴퓨터는 1970년대 초반에 설계 및 제작된 목적형 GE(GE, General Electric) 인터럽트 구동 프로세서용으로 작성된 어셈블리 언어(assembly language)를 구동합니다. 각 우주선에는 세 개의 컴퓨터 시스템, 즉 컴퓨터 명령 하위 시스템(CCS), 자세 및 관절 제어 하위 시스템(AACS), 비행 데이터 하위 시스템(FDS)이 탑재되어 있습니다. 그중 FDS가 가장 자주 뉴스에 오르내리는데, 이는 과학 및 엔지니어링 데이터를 패키징하여 전송하는 역할을 하며, 2023년 말부터 2024년 초까지 발생했던 보이저 1호의 5개월간 통신 두절 사태의 중심에 있었던 하위 시스템이기 때문입니다.
대중적인 약칭은 종종 보이저가 "포트란(Fortran)으로 작동한다"고 말합니다. 이는 탑재 비행 소프트웨어와 지상 측 도구라는 두 가지를 혼동한 것으로 보입니다. 우주선의 저수준 비행 작업은 고도로 전문화된 하드웨어 위에서 어셈블리 언어 프로그래밍에 의존합니다. 포트란은 지상 시스템 및 오래된 임무 도구와 연관되어 있었습니다. NASA가 2015년에 대체 엔지니어를 찾았을 때, 요구 사항은 두 언어 모두를 포괄했지만, 수지 도드(Suzy Dodd)가 당시 기사에서 구체적으로 우려했던 것은 어셈블리 언어로 프로그래밍할 수 있고 우주선의 복잡한 구조를 이해할 수 있는 사람을 찾는 것이었습니다.
우주선의 탑재 컴퓨팅 자원은 현대의 기준으로는 극히 초라합니다. 보이저 컴퓨터 시스템의 총 메모리는 대략 64~70킬로바이트(KB) 정도로, 오늘날의 작은 이미지 파일 크기보다도 작습니다. 도드는 이를 조종하는 것을 애플 II(Apple II) 컴퓨터를 비행하는 것에 비유했습니다. 이 비유는 핵심을 찌릅니다. 즉, 팀은 다른 기술 시대의 컴퓨팅 자원을 가지고 심우주 탐사선을 운영하고 있는 것입니다.
무엇을, 언제 잃어버렸는가 49년간의 운영은 프로그래밍 언어 자체보다 더 중요한 공백을 만들어냈습니다. 1989년 8월 보이저 2호가 해왕성에 가장 근접한 후 성간 우주 임무가 시작되면서, 비행 소프트웨어는 우주선의 자율성을 높이고 지구의 지속적인 관리 없이도 장기적인 운영에 더 적합하도록 업데이트되었습니다. 팀이 몇 달마다 업로드하는 명령 시퀀스가 추가된 이 버전이 현재 구동되고 있는 소프트웨어의 기반입니다.
수십 년에 걸쳐 팀은 규모가 줄어들고 나이가 들었습니다. 더욱 심각한 것은 원본 문서의 상당수가 유실되거나 파편화되었다는 점입니다. 1970년대와 1980년대의 보이저 서류들은 대부분 종이 형태였으며, 프로젝트가 사무실을 옮길 때마다 더 많은 문서가 사라졌습니다. 도드는 2024년 초 라이브 사이언스(Live Science)와의 인터뷰에서 "우주선을 건설한 사람들은 이제 더 이상 살아있지 않다"고 말했으며, 팀이 "꽤 괜찮은 문서 세트"를 가지고 있음에도 불구하고 여전히 상당수가 종이로만 남아 있어 기록을 찾는 것이 마치 "문서를 발굴하는 고고학적 발굴 작업" 같다고 덧붙였습니다.
맥락 속의 자타렐리 은퇴 래리 자타렐리(Larry Zottarelli)는 2016년 80세의 나이로 은퇴할 당시 프로젝트에 여전히 남아있던 마지막 오리지널 보이저 엔지니어였습니다. 그는 1977년 발사 이후 이 임무에 함께했으며 비행 데이터 하위 시스템(FDS) 작업을 담당했습니다. CNN, Popular Mechanics 등을 비롯한 여러 언론은 당시 그의 은퇴를 세대 교체의 순간으로 보도했습니다. "코드를 이해하는 엔지니어들이 80대"라는 프레이밍은 주로 이 시기에 생겨났습니다. 하지만 이는 이미 9년이나 된 과거의 이야기입니다.
현재의 보이저 비행 팀은 제트추진연구소(JPL)에 있는 소규모 엔지니어 그룹으로, 대부분 80대가 아닙니다. 도드 본인도 보이저가 발사되었을 때 겨우 16세였습니다. 그녀는 1984년 천왕성 근접 비행을 위한 시퀀스 디자이너로 처음 우주선 작업에 참여했고, 2010년에 프로젝트 매니저로 복귀하여 지금까지 그 역할을 수행하고 있습니다. 비행 엔지니어링 작업은 이미 원래 팀에 속하지 않았던 사람들에게 한 번 이상 인계되었습니다.
더 어려운 문제 도드가 공개적으로 지적한 것은 더 구체적입니다.