A união entre a SpaceX e o Linux está cada vez mais aprofundada. A empresa anunciou recentemente seu projeto de levar internet via satélite por meio de satélites Starlink. Agora, os engenheiros responsáveis revelam que cada um dos lançamentos mensais da SpaceX de 60 satélites Starlink transporta nada menos que 4.000 computadores rodando Linux. Portanto, ao todo, a SpaceX lança no espaço 32 mil computadores Linux para serviço de Internet Starlink.
Os engenheiros da SpaceX divulgaram os detalhes em uma sessão do Reddit Ask Me Anything (AMA) ocorrida neste final de semana. A empresa de foguetes de Elon Musk lançou na semana passada mais 60 satélites que transmitem a Internet no espaço em um foguete Falcon 9 reutilizado, elevando sua contagem total para cerca de 480 e aproximando-a dos 800 necessários para fornecer cobertura razoável nos EUA.
A empresa planeja lançar uma versão beta pública do serviço de internet via satélite até o final do verão do hemisfério norte e obteve aprovação para implantar um milhão de terminais de usuários finais nos EUA.
SpaceX lança no espaço 32 mil computadores Linux para serviço de Internet Starlink
A SpaceX solicitou recentemente à Comissão Federal de Comunicações o lançamento de 30.000 satélites de segunda geração além dos 12.000 já aprovados. Supondo que os satélites de segunda geração possuam o mesmo número de computadores Linux, isso significaria que a SpaceX planeja enviar pelo menos dois milhões de computadores Linux para o espaço nos próximos anos. Isso também significa que agora enviou 32.000 computadores Linux para o espaço.
A constelação tem mais de 30.000 nodes Linux (e mais de 6.000 microcontroladores) no espaço agora, escreveu Matt Monson, diretor de software Starlink da SpaceX.
E como compartilhamos grande parte de nossa infraestrutura de plataforma Linux com Falcon e Dragon, eles obtêm o benefício de nossos mais de 180 anos de veículo em testes em órbita.
A AMA também foi hospedada por Jeff Dexter, que executa software de voo e segurança cibernética no Space X. Josh Sulkin, líder de design de software da Crew Dragon, a espaçonave que levou os astronautas da NASA Bob Behnken e Doug Hurley à Estação Espacial Internacional na semana passada; Wendy Shimata, que gerencia a equipe de software Dragon; John Dietrick, líder de desenvolvimento de software para Demo-2; e Sofian Hnaide, que trabalha no software Crew Displays para Demo-2.
Mais detalhes sobre o sistema
Sulkin revelou que os computadores Linux rodam com o patch PREEMPT_RT. Este é desenvolvido por um engenheiro da Red Hat como parte de uma iniciativa para tornar o Linux um sistema operacional em tempo real.
Sulkin observou que o SpaceX não usa uma distribuição Linux de terceiros e que possui vários drivers personalizados para interagir com seu hardware, que forma um sistema de computador distribuído.
A sonda Dragon da SpaceX roda Linux com software de vôo escrito em C ++. Além disso, a interface touchscreen da nave é renderizada usando Chromium e JavaScript.
Hnaide observou que a equipe usa uma biblioteca reativa interna para a interface do Chromium.
Também houve algum desenvolvimento cruzado entre a interface que os astronautas da NASA Behnken e Hurley estão usando e os satélites Starlink.
A tecnologia da tela da tripulação (especialmente o mapa e os alertas) formou a base da nossa interface do usuário para os primeiros satélites Starlink (Tintin), disse Monson, da Starlink.
Pioneirismo
Tintin A e B foram os dois primeiros satélites Starlink de teste colocados em órbita na traseira de um foguete Falcon 9 em fevereiro de 2018.
Cresceu muito desde então, mas foi incrível ver Bob e Doug usando algo que de alguma forma parecia familiar para nós também.
O chefe de segurança cibernética da SpaceX, Dexter, disse que qualquer aluno que queira trabalhar na empresa deve fazer do Linux uma parte central de sua educação.
Obtenha seu diploma de CS (ou algo assim) semelhante, disse Dexter. Gaste tempo para realmente ter certeza de que você sabe como as coisas funcionam. Os engenheiros que se saem bem na SpaceX são meticulosos no entendimento de como seu código funciona, como a rede funciona, como o Linux funciona, como o hardware funciona etc. Obtenha real experiência em criar coisas e resolver problemas difíceis, seja por meio de projetos de hobby ou em estágios (na SpaceX).
Banda larga via satélite em teste
O serviço de banda larga via satélite Starlink passa de uma fase de teste para a operacional nos próximos meses. Então, a segurança se tornará um problema crítico para a SpaceX. Moran deu algumas dicas sobre os problemas que os engenheiros da SpaceX estão procurando. Eles buscam esses problemas tanto nos satélites até os gateways e os terminais de usuário final ‘UFO-on-a-stick’ localizados em residências.
Projetamos o sistema para usar criptografia de ponta a ponta para os dados de nossos usuários. Portanto, isso torna a invasão de um satélite ou gateway inútil para um invasor que deseja interceptar comunicações, escreveu Moran.
Todas as peças de hardware do nosso sistema (satélites, gateways, terminais de usuário) são projetadas para executar apenas o software assinado por nós. Assim, mesmo com invasão, ele não conseguirá obter muita coisa.
E então reforçamos a parte interna do sistema (incluindo serviços em nossos data centers) para dificultar o aproveitamento de uma vulnerabilidade explorada em uma área em outro lugar. Continuamos trabalhando duro para garantir que o sistema geral seja adequadamente reforçado. Assim, ainda temos muito trabalho pela frente (estamos contratando), mas é algo que levamos muito a sério.
Aprendizado de máquina (Machine Learning) do SpaceX para levar internet via satélite usando Linux
E embora a indústria de tecnologia esteja usando o aprendizado de máquina (ML) para automatizar quase tudo, ela não chegou à sonda Dragon e Falcon da SpaceX.
Dragon e Falcon não usam nenhuma tecnologia ML, mas isso não quer dizer que coisas como essa não estejam no futuro da SpaceX, escreveu Dietrick.
Os engenheiros da SpaceX não divulgaram o hardware de computação (CPUs e GPUs) que a empresa usa em sua espaçonave. No entanto, é provável que os computadores não sejam poderosos o suficiente para suportar aplicativos de ML.
Conforme observado por Vaughan-Nichols, a Estação Espacial Internacional (ISS) é executada em CPUs Intel 80386SX de 20 MHz, vintage de 1988, que precisam ser reforçadas contra a radiação dos raios cósmicos no espaço.