Starlink:我们已经向太空发射了 36000 台 Linux 计算机,未来几年至少将达到 200 万台。
北京时间 6 月 13 日 17:21,SpaceX 使用猎鹰 9 火箭将 58 颗 Starlink 卫星和 3 枚 SkySats 卫星送入了轨道。
太阳光下的 SpaceX 火箭升空羽流图
北京时间 6 月 4 日上午 9 点 25,Starlink" 星链计划 " 刚完成了第八次卫星发射任务。紧接着,又于 6 月 13 日进行了第九次卫星发射。
这次发射没有按照常规发射 60 颗 Starlink 卫星,而是混装了 3 颗 SkySat 卫星和 58 颗 Starlink 卫星。SpaceX 在升空后约 13 分钟部署了 SkySat 卫星,然后在升空后约 39 分钟部署了 58 颗 Starlink 卫星。随后助推器安全返回到海面回收点。
近地轨道上的 58 颗 Starlink 卫星
原计划每月一次的发射任务,这个月变成了两次。SpaceX 之所以这么着急地发卫星,可能是因为夸下的海口要到期了——今年 4 月马斯克曾在社交媒体称星链版卫星互联网将在 3 个月内进行私人内测,即在今年 7 月开始提供私人 Beta 版服务。
SpaceX 在上周刚刚利用一枚重复使用的猎鹰 9 号火箭向太空中发射了 60 颗星链卫星,加上这周发射的 58 颗,星链计划的总体在轨卫星已经达到 540 颗左右。根据预期,当卫星总量达到 800 颗时,即可在全美实现基本网络覆盖。最终,成千上万的 Starlink 卫星可以为全世界数十亿人提供始终在线的宽带互联网访问。
相当于发射了一个小型数据中心
SpaceX 运行的这些 Starlink 卫星,类似于数据中心里众多的服务器,每发射 60 颗卫星,就包含 4000 多台 Linux 计算机。按照这样的计算方式,当前在轨卫星约 540 颗,SpaceX 总共已经向星链体系发射出 36000 台 Linux 计算机。SpaceX 公司星链软件主管 Matt Monson 表示,这些设备的功能类似于基于 Linux 的服务器," 对于 Starlink,我们需要卫星像数据中心中的服务器,而不是像某种特殊的交通工具。"
SpaceX 计划在北半球夏季结束之前,推出星链网络服务的公测版本,美国政府也批准其在美国本土部署 100 万个最终用户终端。
现在,马斯克的 1.2 万颗星链卫星计划已经发射到第九批,另外 3 万颗,还在向美国通信委员会 FCC 申请中。假定第二代卫星搭载同等数量的 Linux 计算机,SpaceX 相当于在未来几年会将至少 200 万台 Linux 计算机送入太空。
目前 Starlink 每天产生的数据已经超过 5TB。为了减少向地面传输和存储数据的压力,解决思路就是尽可能让卫星在轨道上完成问题的检测。
整个 Starlink 宽带卫星网络的运营也类似于维护数据中心里的服务器集群,该集群也会频繁更新软件,以解决诸如性能和安全性等问题。Matt Monson 在 Reddit 论坛的答疑(AMA)里说," 卫星网络需要大量软件才能使其正常工作 "。
Starlink 团队表示这些在轨卫星曾不止一次地出现从未有过的故障,好在卫星本身能够保证自己的安全飞行,使团队有足够的时间对在轨卫星进行调试,找到修复方法,同时在软件更新当中不断修复问题。通常情况下,在轨卫星的软件大约每周更新一次,而地面系统则每周更新两次或更多次。他说:" 软件上的小改进会对我们提供的服务质量和服务人数产生巨大影响。"
" 而且星链计划与猎鹰 / 龙项目共享有大量 Linux 平台基础架构,因此后两者也从长达 180 多单位 - 年的星链在线测试中获得了巨大助益。"
共享的基础架构
载人龙飞船软件设计负责人 Sulkin 透露称,这些 Linux 计算机上运行有 PREEMPT_RT 补丁程序。这款补丁由红帽工程师研发而成,旨在将 Linux 转化为实时操作系统。
Sulkin 还指出,SpaceX 方面并未使用第三方 Linux 发行版,而且他们使用的版本中包含多款定制化驱动程序,用于实现硬件交互并构建起分布式计算机系统。
顺带一提,SpaceX 公司的龙飞船同样运行 Linux 系统并使用由 C++ 编写的飞行软件,飞船的触摸屏界面则使用 Chromium 与 JavaScript 渲染而成。Hnaide 指出,该团队还为 Chromium 界面设计了一套内部反应库。此外,NASA 宇航员 Behnken 与 Hurley 所使用的这套界面,也与星链卫星项目进行了部分交叉开发。
Starlink 软件主管 Monson 表示," 机组人员使用的显示技术(尤其是地图与警报机制),正是我们首批星链卫星(Tintin)上用户界面的设计基础。"