News

Ajustes no kernel melhoram o desempenho e a eficiência do Raspberry Pi

Dois esforços de desenvolvimento separados estão melhorando o gerenciamento de energia e a eficiência de memória do Raspberry Pi – um deles usando ferramentas criadas para clusters enormes.

Um conjunto de patches do kernel adiciona suporte “Suspender para ocioso” (s2idle) ao kernel para modelos Pi mais antigos. O outro patchda Igalia, traz suporte NUMA para o Pi 5, o que aumenta o desempenho de forma bastante inesperada. Como O registro explicado em 2013NUMA é uma tecnologia mais comumente vista em clusters, abreviação de acesso não uniforme à memória.

Primeiro, o suporte ao gerenciamento de energia. Embora a série Pi seja baseada em tecnologia de telefonia móvel, eles são efetivamente pequenos dispositivos de mesa, destinados principalmente a funcionar na rede elétrica. O novo código suporta Pis baseados no Broadcom BCM2835 SoC. Este é o SoC mais antigo usado no Raspberry Pi 1, 2 e 3, então, por enquanto, isso não ajudará o hardware mais novo do Pi 4 ou 5. O desenvolvedor Stefan Wahren escolheu mirar nos modelos mais antigos primeiro porque há mais documentação disponível para eles.

S2idle é um dos quatro tipos comuns de estados de suspensão ACPI, como explicado pelo Arch wiki. Por razões que certamente fizeram sentido para alguém em algum lugar, os níveis são conhecidos como S0, S1, S3 e S4, e se isso não te incomoda, então você pode gostar de saber que o suporte s2idle coloca a máquina no estado S0, e não S2, porque não há um nível S2.

Em termos gerais, S0 – conhecido como “freeze” – impede a máquina de funcionar. Em teoria, ele também coloca dispositivos IO para dormir, mas isso ainda não funciona no controlador USB do Pi. Para completar, S1 é sono “superficial”, ou modo de espera. S3 é sono “profundo”, ou suspensão para RAM, e S4 é suspensão para disco ou hibernação.

Parte disso é controlado pelo firmware em PCs, especialmente em laptops, mas como nós já cobrimos anteso suporte de firmware e driver Linux para sistemas baseados em Arm é muito mais complicado do que no mundo x86 relativamente homogêneo.

Estes são os primeiros dias e a queda no uso de energia é modesta, apenas cerca de um terço de um Watt. Wahren relata que um Pi 1 sem fazer nada consumia 1,67 W, que caiu para 1,33 W quando suspenso. Mesmo assim, é um passo na direção certa e, se isso se tornar um recurso padrão do kernel, pode reduzir o uso de energia de milhões de Pis por aí.

O outro desenvolvimento interessante do Pi no kernel land é que habilitar o suporte a NUMA permite que o Pi 5 rode mais rápido. O NUMA em si não é nenhuma novidade para o Linux – O Reg era relatando sobre o trabalho da IBM no suporte ao Linux NUMA um quarto de século atrás. A essência é que em um sistema que compreende muitas máquinas, cada uma com múltiplos processadores multi-core, a velocidade de acesso à memória provavelmente será diferente de um core para outro, o que ainda pode ser mais rápido do que de um soquete de CPU física para outro na mesma placa-mãe – e isso será ordens de magnitude mais rápido do que acessar a RAM em outro nó.

Surpreendentemente, emular isso realmente ajuda o modesto SoC BCM2712 dentro do Pi 5, como o desenvolvedor Tvrtko Ursulin explica nas notas do patch:

Para O Reg A mesa FOSS, considerando esses dois patches juntos, dá um exemplo agradável dos benefícios de um único sistema operacional que pode rodar em qualquer coisa, de um telefone celular a um cluster de supercomputadores. Adaptar o gerenciamento de energia no estilo laptop a pequenos computadores de placa única pode reduzir seu uso de energia, o que pode resultar em grandes economias se implantado em grandes clusters. Por outro lado, adaptar algoritmos de gerenciamento de memória projetados para grandes clusters pode melhorar mensuravelmente o desempenho da mesma família de pequenos SBCs.

Nós realmente queremos ver um gerenciamento de energia muito mais agressivo trazido para sistemas operacionais de servidores – o tipo de coisa que faz os fondleslabs de bolso durarem mais – implantados em datacenters. Enquanto as empresas têm para muitos anos estive falando sobre compensação de carbono, é falso, é não ajuda. Muitas vezes, tem sido mostrando ser ineficaz. Enquanto isso, as emissões dos data centers estão aumentando.

Apesar de um década do Kubernetesa maioria das pessoas que o usam ainda não preciso disso (mesmo quando os resultados são divertidos). O mundo se beneficiaria mais se focasse na computação de datacenter que escalasse abaixo em vez de para cima e para fora. ®

Source

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button