写点什么

Starlink 送“数据中心”上天:九次共发射 36000 台 Linux 计算机,每天产生数据超 5TB

  • 2020-06-15
  • 本文字数:2857 字

    阅读完需:约 9 分钟

Starlink送“数据中心”上天:九次共发射36000台Linux计算机,每天产生数据超5TB

Starlink:我们已经向太空发射了 36000 台 Linux 计算机,未来几年至少将达到 200 万台。


北京时间 6 月 13 日 17:21,SpaceX 使用猎鹰 9 火箭将 58 颗星链卫星和 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)上用户界面的设计基础。”


Tintin A 与 B 是 SpaceX 公司于 2018 年 2 月利用猎鹰 9 号火箭送入地球轨道的两颗测试性星链卫星。“在此之后,发射的体量开始快速增加。特别是看到 Bob 和 Doug 能用上我们所熟悉的开发成果,这种感觉太棒了。”


SpaceX 公司表示,如果各位在校学生打算未来加入他们,首先需要高度重视对 Linux 专业知识的学习。


“要加入 SpaceX,首先得拿到计算机科学或者相关专业的学位。大家应该多花时间保证自己确切理解事物的工作原理——在 SpaceX,最出色的工程师一定要对代码的工作方式、网络的工作方式、Linux 的工作方式以及硬件的工作方式拥有一丝不苟的严谨态度。另外,大家也可以通过业余项目或者 SpaceX 实习职位来体验如何构建事物、解决难题。”

安全性是难题

随着星链卫星宽带服务在未来几个月逐步由测试阶段过渡至运营阶段,安全性将成为 SpaceX 面临的一大关键难题。


Moran 分享了工程师们目前正在着手解决的具体问题,包括卫星、网关、本地“UFO-on-a-stick”终端等等。Moran 在答疑里写道,“我们设计的系统会对用户数据进行端到端加密,因此即使成功入侵卫星或网关,攻击者也无法拦截到其中的通信内容。我们系统中的所有硬件,包括卫星、网关、用户终端等,都只允许运行经过我们签名的软件,因此即使攻击者强行闯入,也无法获得持久的驻留点。”


如果卫星与地面失去联系,则将其编程为进入高阻力状态,从而坠入大气层销毁。为了确保此类问题不会影响最终用户,该网络被设计为多个卫星为单个用户提供服务的形式,以提供更多的容错能力。


“此外,我们还强化了系统内部,包括地面数据中心服务,使攻击者难以利用某一区域内的漏洞入侵其他区域。我们将继续努力,保证整体系统得到严密加固。虽然目前我们还有很多其他工作要处理(包括招聘新员工),但安全一直是我们非常重视的核心方向。”

未能使用机器学习

虽然科技行业正在利用机器学习技术全面推进自动化,但 SpaceX 的龙飞船与猎鹰火箭还没有用到这一强力武器。Starlink 团队表示,“龙飞船与猎鹰火箭并没有用到机器学习技术,但未来 SpaceX 也许会逐步引入这方面技术。”


SpaceX 的工程师们并没有透露他们在航天器上具体使用哪种计算硬件(包括 CPU 与 GPU 型号),但据猜测,这些计算机的性能恐怕不足以支持机器学习类应用。


这就不得不提到航天器的计算硬件问题。事实上,包括火箭、飞船等在内的航天器配备的 CPU 和市面上最新的 CPU 产品通常相去甚远。因为在太空环境下工作的 CPU 必须经过抗辐射处理,否则太空中的电离辐射和宇宙射线会让 CPU 工作异常。而为太空飞行定制的处理器除了需要经过特别的设计,还需要经过更多年的测试才能最终获得太空飞行的认证。


这些为上天定制的 CPU 从试验到最终的发射可能需要经过十年以上的时间,导致最终搭载的 CPU 可能是十年前的产品。国际空间站目前仍使用着 1988 年出品的老式 20 MHz 英特尔 80386SX CPU,这种芯片进行了专门的强化以抵御太空中宇宙射线的轰击。


2020-06-15 14:368173

评论

发布
暂无评论
发现更多内容

前端一面必会react面试题(附答案)

beifeng1996

React

问:React的useState和setState到底是同步还是异步呢?

beifeng1996

React

如何优化大场景实时渲染?HMS Core 3D Engine这么做

最新动态

【面经分享,附答案】字节系统架构,一面,后端开发

小小怪下士

Java 程序员 面试

重磅干货!一文读懂「企业级架构」

极狐GitLab

DevOps geo 高可用架构 ha 企业级代码架构

社招前端一面经典手写面试题(边面边更)

helloworld1024fd

JavaScript

天翼云Serverless边缘容器,为云上创新开启加速度

天翼云开发者社区

云计算 边缘计算 边缘容器

手写JavaScript常见5种设计模式

helloworld1024fd

JavaScript

8个Spring事务失效的场景,你碰到过几种?

JAVA旭阳

Java spring

跨平台应用开发进阶(二十八) :资源加载速度优化解决方案

No Silver Bullet

跨平台 12月月更 资源加载优化

百度APP Android包体积优化实践(四)Dex注解优化

百度Geek说

Java android 前端 12 月 PK 榜

分布式注册服务中心etcd在云原生引擎中的实践

京东科技开发者

分布式 云原生 etcd 集群 go语言

区块链+物联网,如何解决农产品溯源之痛?

旺链科技

区块链 物联网 产业区块链 农产品 12 月 PK 榜

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

小哈区块

社招前端一面必会react面试题集锦

beifeng1996

React

玩转云端 | 数据管理深似海,运维如何变“路人”?

天翼云开发者社区

大数据 数据仓库 数据存储

手把手教你一套完善且高效的k8s离线部署方案

京东科技开发者

Docker k8s ansible ulimit 云计算,

一文梳理HTTP、TCP、Socket和WebSocket的区别和联系

No Silver Bullet

TCP 网络协议 HTTP websocket 12月月更

架构实战 - 模块4作业

mm

redis sentinel #架构实战营

HummerRisk V0.7.0:支持京东云、webhook、PDF下载等

HummerCloud

云安全 云原生安全

数据分析架构新变革?Doris Summit 2022 议程首公布!|即刻报名

SelectDB

Doris summit 峰会报名 大数据 开源 数据库·

前端二面必会手写面试题汇总

helloworld1024fd

JavaScript

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

西柚子

跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程

No Silver Bullet

uni-app android 跨平台应用 云打包 12月月更

问:你是如何进行react状态管理方案选择的?

beifeng1996

React

Vue的computed和watch的区别是什么?

bb_xiaxia1998

Vue

论文解读丨【CVPR 2022】不使用人工标注提升文字识别器性能

华为云开发者联盟

人工智能 华为云 文字识别 12 月 PK 榜

海量监控数据处理如何做,看华为云SRE案例分享

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜

手写现代前端框架diff算法-前端面试进阶

helloworld1024fd

JavaScript

选择从零开发一款小游戏如何能实现变现

Onegun

小游戏 小游戏开发 H5小游戏

架构实战营 模块3-1

西山薄凉

「架构实战营」

Starlink送“数据中心”上天:九次共发射36000台Linux计算机,每天产生数据超5TB_AI&大模型_Tina_InfoQ精选文章