写点什么

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:367860

评论

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

实现常驻任务除了避免昙花线程,还需要避免重返线程池

newbe36524

C#

基于 Kafka 和 Elasticsearch 构建实时站内搜索功能的实践

京东科技开发者

MySQL ES 京东云 京东物流 京东技术

稳定高效数据库管理:Valentina Studio Pro激活版

真大的脸盆

数据库 Mac 数据库管理工具 Mac 软件 管理数据库

PyTorch深度学习实战 | 神经网络的优化难题

TiAmo

PyTorch 随机梯度下降 动态调整

CMS系统是什么?

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

软件测试/测试开发丨MockServer 服务框架设计

测试人

软件测试 自动化测试 测试开发

架构实战营 - 模块五作业(微博评论)

🐢先生

架构实战营

系统设计的端到端原则

俞凡

架构

聊一聊系统重构

gt-checksum 1.2.1发布,新增表结构校验及修复等超实用特性

GreatSQL

MySQL greatsql社区 gt-check

中台的悖论

agnostic

中台

常用对话框基本使用

芯动大师

dialog timepicker progress

人工智能与软件工程

紫晖

人工智能 机器学习 软件工程 工程

交易履约之产品中心实践

京东科技开发者

交易 京东云 京东技术 京东科技 产品中心

Three.js 进阶之旅:物理效果-3D乒乓球小游戏 🏓

dragonir

CSS JavaScript 前端 React three.js

运维训练营第19周作业

好吃不贵

线段树模板与练习

timerring

线段树

AAA级认证!索信达综合信用水平获高度认可

索信达控股

AR市场为何频频“呼唤”苹果?

Alter

AR

手把手带你上手ChatGPT

老周聊架构

3月月更 ChatGPT

什么是容器编排及编排的优点

黎博

容器编排 Kubernetes Serverless

在京东如何做好前端系统的可观测性

京东科技开发者

前端 京东云 京东技术

利用 ChangeStream 实现 Amazon DocumentDB 表级别容灾复制

亚马逊云科技 (Amazon Web Services)

作为移动开发你不能不了解的编译流程

京东科技开发者

编译器 移动开发 京东云 京东技术

一文吃透扫码登录原理

程序员大彬

Java java面试 扫码

美团:某动态线程池框架是官方开源的么?

马丁玩编程

线程池 美团线程池

如何实现云数据治理中的数据安全?

京东科技开发者

数据库 云计算 京东云 京东技术

如何实现云数据治理中的数据安全?

京东科技开发者

云计算 大数据 数据治理 企业号 3 月 PK 榜 计算资源

Tars-Java网络编程源码分析

vivo互联网技术

网络编程 nio TARS

简历上的项目,需要这样描述才有亮点!

小傅哥

Java 面试 项目 简历 校招

追踪 Kubernetes 中的数据包

张晓辉

Kubernetes 网络

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