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,這種芯片進行了專門的強化以抵禦太空中宇宙射線的轟擊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章