O computador da scooter

Quando implantamos inicialmente nosso servidores colocados construídos à mão para o Discourse em 2013, eu precisava de uma maneira de fornecer um canal VPN isolado para acesso remoto seguro e solução de problemas. Em vez de dedicar um servidor inteiro a essa tarefa, comprei o o roteador Asus RT-N16 de baixo custo e com firmware de código aberto, atualizei-o com o popular firmware de código aberto TomatoUSB, removi as antenas, desliguei o WiFi e coloquei-o em nosso rack para deixá-lo atuar como um ponto de acesso VPN dedicado.


Asus RT-N16

E esse equipamento, que custava US$ 100 na época e cerca de US$ 70 agora, funcionou bem o suficiente até agora. Embora a versão do OpenSSL no firmware Tomato da era 2012 que usamos não seja vulnerável ao Heartbleed, ela ainda está ficando desatualizada em termos da criptografia que suporta e permite. E Tomato é atualizado esporadicamente, na melhor das hipóteses, de forma caótica.

Vamos encarar os fatos: isso é apenas uma pequena caixa que executa uma versão reduzida do Linuxcom um pouco de hardware sem fio especializado e várias antenas acopladas… que nem sequer estamos usando. Então, quando chegou a hora de fazer o upgrade, ficamos pensando:

Por que não escolher uma caixa pequena que possa executar uma distro Linux real e completa? Isso não seria mais simples e mais fácil de manter atualizado?

Depois de fazer algumas pesquisas e perguntar no Twitter, descobri que há uma tonelada de pequenas caixas Broadwell “mini-PC” incríveis disponíveis no AliExpress.

As especificações são surpreendentes para o preço. Eu paguei ~$350 cada um para os que eu selecionei:

  • i5-5200 CPU Broadwell de 2 núcleos / 4 threads a 2,2 Ghz – 2,7 Ghz
  • 16 GB DE RAM DDR3
  • SSD M.2 DE 128 GB
  • Gigabit duplo Realtek 8168 ethernet
  • 4 portas USB 3.0 frontais / 4 portas USB 2.0 traseiras
  • Saída HDMI dupla

(Há também conectores de áudio óptico e analógico na parte frontal, bem como um leitor de cartão SD, que cobri com um adesivo, pois não precisávamos de áudio. Também retirei o WiFi, pois não precisávamos dele, mas ele também estava incluído no preço).

Selecionando o i5-4258u, 4 GB de RAM e SSD de 64 GB reduz o preço para $270. Essa ainda é uma CPU sólida, apenas uma geração atrás da mais recente e melhor Skylake da Intel, e com o apelido de i5 de médio porte; não é nada fácil. Há também muitas, muitas variantes dessa caixa do outros vendedores do AliExpress que têm CPUs um pouco mais antigas e mais baratas que ainda são bastante potentes. O senhor pode facilmente especificar uma caixa semelhante a esta por US$ 200.

Isso não é muito mais do que os US$ 200 que o senhor pagaria por um roteador de ponta hoje em dia e, como observa a Ars Technica, a caixa x86 média é radicalmente mais rápida.

Observe que, nos gráficos acima, “homebrew” significa um antigo, chip Ivy Bridge dual core de 1,8 Ghz, 3 gerações atrás das CPUs atuais, que nem sequer merece a designação i3 ou i5 e não tem hyperthreading. Tenha isso em mente enquanto o senhor continua lendo.

Conheça o computador Scooter

Essa caixa pode ser pequena e ter apenas 15 watts de TDP, mas é poderosa. Criei um novo droplet do Digital Ocean e fiz um rápido benchmark:

sudo apt-get install sysbench
sysbench --test=cpu --cpu-max-prime=20000 run
Tie Shuttle 6

total time:           28.0707s
total num events:     10000
total time take:      28.0629
per-request stats:
     min:             2.77ms
     avg:             2.81ms
     max:             3.99ms
     ~95 percentile:  3.00ms
Digital Ocean Droplet

total time:          35.9541s
total num events:    10000
total time taken:    35.9492
per-request stats:
     min:             3.50ms
     avg:             3.59ms
     max:             13.31ms
     ~95 percentile:  3.79ms

Os resultados, é claro, serão variam de acordo com o provedor de nuvemmas tenha certeza de que essa caixa é tão rápida quanto e possivelmente até mais rápida do que a caixa de nuvem média que o senhor poderia montar agora mesmo. É claro que são “apenas” 2 núcleos / 4 threads, mas quanto mais núcleos o senhor precisa, mais lentos eles tendem a ser devido aos limites gerais de TDP do pacote de núcleos.

Uma coisa que não é imediatamente óbvia nas fotos é que esse dispositivo é realmente pequeno, mas robusto, como se o senhor estivesse segurando um pedaço sólido de alumínio na mão. Isso ocorre porque a caixa é resfriada de forma passiva – todo o gabinete é o dissipador de calor, pois a CPU na parte inferior da placa-mãe se encaixa na parte superior com aletas do gabinete.

Ao abrir essa caixa, o senhor percebe como as coisas são simples em seu interior; ela é pouco mais do que uma placa-mãe altamente integrada presa a um bloco de alumínio. Não se trata de um caminhão de Steve Jobs, um carro Mac Mini ou mesmo uma motocicleta. É o uma scooter.

As scooters são máquinas muito primitivas; essa é tanto sua maior força quanto sua maior fraqueza. Sem dúvida, é o veículo pessoal com rodas mais simples que existe. Nesses cenários de curta distância, as scooters tendem a ganhar de, por exemplo, bicicletas, porque há menos necessidade de montar e desmontar – o senhor não precisa trancar uma scooter, nem usar capacete. Basta subir e ir! O senhor obtém quase todos os benefícios da gravidade e da eficiência das rodas com um mínimo de confusão e manutenção. E sim, também é divertido!

Os computadores com resfriamento passivo são modelos de simplicidade e eletrônicos de consumo confiáveis, mas o resfriamento passivo de um PC x86 “real” é o Santo Graal. Para obter um bom desempenho, o senhor geralmente precisa alimentar a CPU com pelo menos 10 a 20 watts, e dissipar esse tipo de energia sem ventiladores e com o fluxo de ar ambiente não é algo trivial. Vamos ver como a nossa scooter se sai durante a noite Primos de Mersenneque é a carga de CPU mais pesada possível.

O senhor pode colocar a mão na parte superior da caixa durante esse processo, mas é desconfortável. E a caixa inteira irradia calor, não apenas a parte superior. De modo geral, ela ficou completamente estável para mim durante os testes de tortura mprime noturnos com a CPU TDP de 15 W que escolhi, e me sinto confortável com essas caixas em nosso rack no data center, mesmo sob carga total prolongada. No entanto, eu ficaria muito cuidado ao colocar uma CPU TDP de 28 W nessa caixa, a menos que o senhor tenha certeza absoluta de que ela não estará em carga máxima com frequência. O resfriamento passivo é difícil.

O consumo de energia, conforme medido pelo meu Kill-a-Watt, variou de 7 watts na tela de login de texto do Ubuntu Server 14.04, para 8-10 watts em uma tela de login GUI ociosa do Ubuntu 15.10 (o sistema operacional padrão com o qual ele veio), para 14-18 watts em testes de memória, para 26 watts no mprime.

Também devo mencionar que, mesmo sob carga extrema de mprime, ambas as CPUs permaneceram em 2,5 Ghz indefinidamente, o que é incomum em minha experiência. Para atingir 2,7 Ghz, o senhor precisa de uma carga de thread único. Considerando que o clock base do i5-5200u é de 2,2 Ghz, isso é muito bom! Muitas CPUs de 4-6-8 núcleos caem rapidamente para o clock base quando recebem uma carga significativa, o que faz com que o apelido “turbo” seja um pouco falso.

(A propósito, não se incomode em usar o burnP6, pois ele gera muito pouco calor em comparação com o mprime, que é um absoluto monstro. Se sua CPU pode sobreviver a uma execução noturna do mprime, posso garantir ao senhor que ela está pronta para praticamente qualquer coisa que o mundo real possa jogar nela, sempre).

Disco

A máquina tem slots M.2 para duas unidades, bem como uma porta SATA e um cabo de alimentação (não ilustrado, mas incluído na caixa) se o senhor quiser acoplar uma unidade de 2,5 pol. aos orifícios de montagem da unidade na parte inferior do gabinete. Portanto, se o senhor preferir uma matriz RAID espelhada de duas unidades para maior confiabilidade ou um HDD gigante de 2,5″ de 2 TB para armazenamento de mídia, tudo isso é possível!

Tenha cuidado, pois os slots M.2 internos são 2242, ou seja 42 mm de comprimento. Parece que há principalmente (apenas?) unidades SSD de baixo custo disponíveis nesse tamanho, por qualquer motivo.

Não se preocupe, porém, o pacote de 128 GB Phison S9 O SSD M.2 tem desempenho decente, mais ou menos igual a um bom SSD de alguns anos atrás:

dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
hdparm -Tt /dev/sda

536870912 bytes (537 MB) copied, 1.52775 s, 351 MB/s
Timing cached reads:   11434 MB in  2.00 seconds = 5720.61 MB/sec
Timing buffered disk reads:  760 MB in  3.00 seconds = 253.09 MB/sec

Esse é um desempenho respeitável de SSD e não o impedirá na maioria dos casos de uso, mas também não é um subsistema de disco que queima muito. Se o senhor quiser fazer um upgrade, recomendo o Samsung 850 EVO que vem no formato necessário.

É claro que o Samsung 850 Pro se encaixaria perfeitamente como uma unidade SATA tradicional de 2,5 pol. montada na tampa do gabinete e teria o mesmo desempenho:

536870912 bytes (537 MB) copied, 1.20895 s, 444 MB/s
Timing cached reads:   38608 MB in  2.00 seconds = 19330.61 MB/sec
Timing buffered disk reads: 1584 MB in  3.00 seconds = 527.92 MB/sec

RAM

A Intel limita essas CPUs Broadwell classe U a um total de 16 GB de RAM, portanto, o máximo da caixa só vai lhe custar cerca de US$ 70. Ainda assim, essa é uma porcentagem significativa do custo total de aproximadamente US$ 350, e talvez o senhor não precise de tanta RAM para o que tem em mente.

No entanto, tome cuidado para obter RAM de canal duplo para configurações de RAM mais baixas; o senhor não quer um único DIMM de 4GB, mas sim dois DIMMs de 2GB. Eles são enviados pelo fornecedor com um único DIMM, portanto, tome cuidado. Talvez isso não importe dependendo da tarefa, conforme observado pela AnandTech, mas nossas caixas serão usadas para OpenSSL, e a memória é barata, então por que não?

A scooter versátil

Quando comecei a analisar isso, fiquei chocado ao descobrir como as CPUs x86 são de baixo custo em muitos dispositivos “dedicados”, como o hardware do pfSense:

Claro, 2,4 Ghz e 8 núcleos nesse C2758 parece razoável – até o senhor perceber que esses são núcleos antigos do Intel Bay Trail Atom. Até mesmo o atual Os núcleos do Cherry Trail Atom não são tão bons. Além disso, essas são provavelmente as frequências “turbo” máximas citadas, que provavelmente não serão mantidas sob qualquer tipo de carga real de vários núcleos. Além disso, eu mencionei que ele está sendo vendido como um dispositivo de US$ 1.400? Exceto pela falta de mais de duas portas gigabit ethernet dedicadas, eu colocaria nosso computador scooter contra esse C2758 em qualquer dia da semana. E o senhor sabe de uma coisa? Ele venceria.

Acho que essa lógica se aplica a muitos hardwares dedicados atualmente: roteadores, switches, firewalls e assim por diante. Em geral, é melhor o senhor montar uma caixa x86 moderna de alta potência e baixo TDP e colocar uma distribuição Linux comum nela.

O senhor pode até mesmo colocar seis deles em um espaço de rack de 1U.

(Bem, exceto pelos blocos e cabos de alimentação. A montagem vertical em uma prateleira de 1U funciona um pouco melhor, e cada um deles veio convenientemente com um suporte para operação vertical).

Agora que trabalhei com essas caixas, fiquei bastante encantado com o conceito do Scooter Computer. Onde quer que estivéssemos pensando que tínhamos que rodar:

  • Uma máquina virtual em um ferro grande para alguma função utilitária pequena, mas importante, em nosso rack.

  • Hardware dedicado, criado para fins específicos, para rede, firewall ou switching com um sistema operacional personalizado.

… agora podemos tirar proveito de um hardware x86 barato, confiável, flexível e de estado totalmente sólido, espalhado por várias máquinas e executando distribuições Linux padrão, como todos os outros servidores 1U.

[advertisement] No Stack Overflow, colocamos os desenvolvedores em primeiro lugar. Já o ajudamos a encontrar respostas para suas perguntas difíceis sobre codificação; agora, deixe-nos ajudá-lo encontre seu próximo emprego.