「我们可以损失三台电脑,任务照样继续。」NASA工程师Naomi Nakka说出这句话时,她描述的并非某种冗余备份方案,而是一套让八颗处理器"互相投票"的怪诞架构。
这套系统正在猎户座飞船上运行,距离地球40万公里——比地月距离还远。那里没有维修站,没有备件,甚至没有实时地面控制。任何硬件故障都必须被当场消化。
![]()
从阿波罗时代的4KB内存,到今天八核并行投票,载人深空计算的容错逻辑发生了根本性转向。本文拆解这张"一图读懂"式的架构图,看看NASA如何用民主投票制解决单点失效问题。
一图总览:八颗大脑的"议会制"
猎户座的计算架构可以用一张分层图概括:
顶层:两台车辆管理计算机(Vehicle Management Computer,简称车辆管理机)
中层:每台车辆管理机内含两个飞行控制模块(Flight Control Module)
底层:每个模块配备一对处理器,共八颗处理器
关键机制:同层处理器实时交叉校验,多数票决输出
这张图的核心矛盾在于:计算资源严重过剩,但可靠性设计比性能更重要。八颗处理器执行完全相同的指令,不是为了加速,而是为了互相监视。
Nakka的原话是:「我们仍然针对硬件故障进行架构设计。」这句话的潜台词是——在深空,硬件故障不是"可能",而是"必然"。
第一层拆解:为什么是两台车辆管理机?
车辆管理机是猎户座的"自主决策中枢"。与阿波罗时代不同,猎户座没有地面指令的实时依赖,必须独立完成导航修正、生命维持调节、通信调度。
两台车辆管理机的关系是热备份。一台主用,一台待机,故障时毫秒级切换。但NASA的工程师显然觉得双机热备不够刺激——他们给每台机器内部又塞了两层冗余。
这种"俄罗斯套娃"式的设计源于一个残酷事实:深空任务的故障模式不可预测。太阳粒子、微流星体、电路老化,任何单一故障都可能被放大。双机热备解决的是"整机死亡",但无法应对"整机假死"——即输出错误结果但仍在运行。
两台车辆管理机的真正价值,是提供独立的错误检测基准。当主用机输出异常时,待机机可以充当参照系。但这只是第一道防线。
第二层拆解:飞行控制模块的"夫妻店"模式
每台车辆管理机内部,两个飞行控制模块并行运行。它们的关系不像主备,更像"同岗双责"——同时在线,同时输出,互相校验。
模块之间的通信延迟被压缩到微秒级。一个模块的计算结果,会在纳秒级时间内被另一个模块复核。如果一致,结果放行;如果不一致,系统进入仲裁状态。
这种设计直接针对"软错误"——由宇宙射线引发的位翻转。深空的高能粒子密度是近地轨道的数倍,单个处理器可能瞬间算出错误结果,但两个独立模块同时出错的概率呈指数级下降。
但NASA的偏执还没结束。每个飞行控制模块内部,还有最后一道保险。
第三层拆解:处理器对的"实时唱票"机制
这是整套架构最反直觉的部分。每个飞行控制模块包含两颗处理器,它们不是分工协作,而是完全同步执行同一任务。
想象两个人同时做同一道数学题,然后对答案。如果一致,交卷;如果不一致,当场发现错误。这就是处理器对的工作逻辑。
但这里有个技术细节:处理器对的输出比较不是"结果比对",而是"中间状态比对"。每执行一条指令,两颗处理器就交换一次寄存器状态。任何偏离都会被立即捕获,错误指令不会被执行到完成。
Nakka提到的"损失三台电脑仍能运行",正是基于这种分层容错。最坏情况下:
一台车辆管理机完全失效(损失4颗处理器)
另一台车辆管理机的一个飞行控制模块失效(损失2颗处理器)
剩余模块的一个处理器失效(损失1颗处理器)
系统仍保有3颗健康处理器,足以维持核心功能。
这种"过度设计"在商业航天看来近乎浪费。SpaceX的龙飞船采用更轻量级的三机表决,贝索斯的蓝色起源尚未公布深空任务架构。NASA的选择反映了一个组织记忆:阿波罗13号的氧气罐爆炸,让这代工程师对"单点失效"有创伤后应激。
从4KB到八核:需求曲线的断裂
阿波罗制导计算机的参数在今天看来像玩笑:1MHz主频,4KB内存,程序用线织的"绳结存储器"固化。它只负责一件事:把登月舱送到月球表面,再送回来。
猎户座的计算需求曲线不是平滑上升,而是断裂式跃迁。任务复杂度、自主决策深度、通信延迟容忍度,三者叠加产生了质变。
阿波罗时代,宇航员可以实时与地面通话,关键决策由地面支持团队做出。猎户座的地月通信延迟超过1秒,"实时"概念不复存在。生命支持系统的任何异常,必须在舱内闭环处理。
导航精度要求也完全不同。阿波罗的着陆精度以公里计,猎户座需要精确切入月球逆行轨道,误差窗口以米计。这要求连续的高精度轨道计算,而非脉冲式修正。
最隐蔽的需求变化是软件复杂度。阿波罗的飞行软件约4万行代码,猎户座的集成飞行软件超过20万行。代码膨胀带来的不是性能焦虑,而是可靠性焦虑——每行代码都是潜在的故障点。
八核投票架构本质上是用硬件冗余对冲软件风险。当无法证明代码无bug时,NASA选择让bug无法造成单点失效。
商业航天的另一种答案
猎户座的架构并非唯一解。SpaceX的载人龙飞船采用了更激进的策略:大量商用现货部件(COTS)配合软件冗余。
龙飞船的飞行计算机由三块商业主板组成,运行Linux系统,通过软件表决实现容错。这种设计的优势是成本——三块消费级主板的总价,可能低于NASA的一颗定制处理器。
但两种路径的分歧点在于任务剖面。龙飞船的飞行时长以天计,轨道高度在范艾伦辐射带内,商用部件的可靠性数据足够支撑风险评估。猎户座的任务时长以周计,辐射环境、温度循环、机械振动都超出商用部件的标称范围。
Nakka的表述暗示了NASA的保守主义:「我们仍然针对硬件故障进行架构设计。」这个"仍然"指向一个被SpaceX挑战的传统——当商用航天证明软件可以弥补硬件短板时,NASA选择继续相信物理冗余。
这不是技术优劣之争,而是风险偏好之分。NASA的深空任务样本量太小,无法积累足够的统计置信度,只能用过度设计换取确定性。SpaceX的近地任务样本量足够大,可以用迭代速度换取优化空间。
投票机制的隐藏成本
八核并行看似完美,但代价是计算效率的断崖式下跌。八颗处理器执行同一任务,理论性能利用率是12.5%。实际更低——交叉校验、状态同步、仲裁逻辑都在消耗时钟周期。
猎户座的处理器型号未被公开,但从任务需求反推,其单核性能不会显著超越现代嵌入式处理器。八核投票后的等效性能,可能仅相当于一颗中端手机芯片。
这种"性能换可靠"的取舍,在航天领域是常态。但猎户座的特殊之处在于距离——40万公里意味着无法依赖地面云计算补充。所有计算必须在舱内完成,所有决策必须在舱内做出。
一个未被原文提及但值得推测的细节是功耗。八颗处理器持续全速运行,散热设计如何平衡?猎户座没有大气层可供对流散热,只能依靠辐射散热板和热管。功耗预算可能反过来限制了处理器选型,迫使NASA选择更低功耗、更低性能的架构。
这解释了为什么2024年的深空飞船,计算能力看起来像是2004年的水平。不是技术做不到,是可靠性约束下的最优解。
软件定义的边界
原文提到猎户座使用"集成飞行软件"管理生命支持、导航和通信。这个表述值得拆解——"集成"意味着功能融合,而非模块化隔离。
传统航天软件倾向于功能隔离,不同子系统运行在不同硬件上,通过总线通信。这种设计的故障隔离性好,但资源利用率低。猎户座的"集成"暗示了更现代的软件架构,可能基于分区操作系统(如ARINC 653),在同一硬件上运行多个安全关键任务。
但分区操作系统本身引入了新的复杂性。分区调度、内存隔离、时间分区,每个机制都是潜在的故障源。NASA的回应是用硬件冗余覆盖软件风险——即使分区机制失效,处理器对的校验仍能捕获错误。
这种"软件创新+硬件保守"的组合,反映了深空任务的特殊约束。近地轨道可以承受软件迭代的风险,深空任务的首飞即决战,没有补丁窗口。
地月空间的计算基础设施
猎户座的架构选择,正在定义地月空间的计算基础设施标准。随着阿尔忒弥斯计划的推进,月球门户空间站、月面着陆器、长期驻留舱都将面临类似的可靠性挑战。
一个开放问题是:这套八核投票架构是否会被继承,还是被更轻量级的方案替代?NASA的"传统"与商业航天的"颠覆"将在地月空间持续博弈。
更远的视角是火星任务。地火通信延迟以分钟计,自主决策的深度要求远超猎户座。八核投票可能不足以覆盖火星任务的软件复杂度,需要更高层次的智能冗余——例如AI辅助的故障预测与重构。
但NASA的工程师可能会说:在证明AI比八核投票更可靠之前,我们仍然针对硬件故障进行架构设计。这个"仍然"将持续很多年。
结语:民主制的物理形态
猎户座的八颗处理器,是人类最遥远的民主实验。它们没有意识形态,只有数学——多数即正确, dissent即故障。
这套系统的讽刺之处在于:它用极端的集中(八核做同一件事)实现极端的分散(任何单点都无法破坏整体)。NASA的工程师们似乎相信,在深空的绝对孤独中,唯一可靠的权威是共识机制。
下次当你抱怨笔记本电脑又蓝屏时,可以想象40万公里外的猎户座:八颗处理器正襟危坐,互相盯着对方的寄存器,随时准备投出反对票。它们不会抱怨,不会摸鱼,不会偷偷更新系统——只是沉默地、偏执地、过度设计地,确保四个人类能活着回家。
这大概就是工程浪漫主义的终极形态:用硬件的笨重,对抗宇宙的随机。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.