A ByteDance, como empresa chinesa por trás do TikTok, vem trabalhando em várias otimizações do kernel Linux nos últimos anos e seu trabalho mais recente é para uma reinicialização mais rápida do kernel pelo Kexec. Com sua enorme frota de servidores alimentando o TikTok e outros aplicativos, eles farão o que puderem para reduzir milissegundos no tempo de inicialização/reinicialização de seus servidores e é disso que se trata a maioria de suas otimizações Linux – incluindo esta mais nova série de patches para reinicializações mais rápidas do Kexec. Assim, a empresa ByteDance, responsável pelo aplicativo TikTok, trabalha em melhorias para deixar o TikTok mais rápido.
A ByteDance, como muitas outras grandes organizações, depende das reinicializações do Kexec para migrar para um novo kernel por motivos de segurança, manutenção ou otimização. Ao usar o Kexec, eles evitam o tempo de inatividade mais significativo de seus servidores POST’ing e outras tarefas. Mas mesmo usar o Kexec para mudar para um novo kernel para evitar a inicialização do hardware e o bootloader ainda pode ser muito tempo de inatividade.
Com a série de patches “reinicialização kexec mais rápida” de hoje, eles miram em cerca de 500 ms que podem ser otimizados e obtêm o tempo da máquina kexec para iniciar a função do kernel para apenas 15 ms.
ByteDance trabalha em melhorias para deixar o TikTok mais rápido
As otimizações propostas incluem o suporte ao kernel descompactado em x86/x86_64 para acelerar o processo de inicialização em vez de ser uma imagem compactada do kernel, evitando uma cópia de memória quando o kernel é descompactado e reutilizando a memória reservada do kernel travado para operações kexec normais. Habilitar kernels descompactados apenas no x86 reduziu mais de 150 ms do tempo de inicialização, mas significou passar de 8,5 M para 53 M para o tamanho da imagem do kernel.
Esta série de patches que mexe com cerca de 100 linhas de código do kernel Linux é o que eles agora esperam fazer upstream para reduzir cerca de meio segundo em seus tempos de reinicialização do Kexec.