FERRAMENTAS LINUX: O Google está trabalhando no open-sourcing de sua estrutura de programação de espaço de usuário de Fibers

quinta-feira, 10 de junho de 2021

O Google está trabalhando no open-sourcing de sua estrutura de programação de espaço de usuário de Fibers


Confira !!

Por vários anos, o Google desenvolveu o Fibers (não deve ser confundido com o Google Fiber, seu serviço de Internet de fibra) como uma estrutura de programação do espaço do usuário. Embora não seja de código aberto, os poucos artigos públicos e palestras sobre o Google Fibers têm sido bastante interessantes para um ótimo desempenho e um design inovador. Finalmente, porém, o Google está trabalhando para abrir o código-fonte do Fibers e esperando fazer o upstream das modificações necessárias do kernel do Linux.

Das informações públicas limitadas sobre o Google Fibers, um dos principais recursos tem sido esta Conferência de Encanadores Linux desde 2013:



O Google vem desenvolvendo e usando esta estrutura de agendamento de espaço do usuário há quase uma década e eles estão finalmente trabalhando no código-fonte aberto da estrutura. Como parte disso, eles estão trabalhando inicialmente em seus patches de kernel UMCG (User-Managed Concurrency Groups), que são os primitivos do lado do kernel para este trabalho.

O Google realmente enviou a série de patch RFC para o UMCG no final de maio, mas aconteceu de não notar essa série até hoje em algumas discussões subsequentes.

O código do kernel UMCG é resumido como "Os grupos de simultaneidade gerenciados pelo usuário são uma estrutura de agendamento de espaço do usuário em processo e comutação rápida de contexto. Dois casos de uso principais são caixas de proteção de segurança e agendamento do espaço do usuário. Sandboxes de segurança: a troca rápida de contexto do processo X abrirá um monte de ferramentas de segurança leves, por exemplo, gVisor ou simulador de sombra do Tor Project, para mais casos de uso. A programação do espaço do usuário em processo é amplamente usada no Google para fornecer controle de latência e garantias de isolamento para diversas cargas de trabalho, mantendo a alta utilização da CPU. "

O switch de compilação UMCG adiciona,"Habilite operações de espera / despertar / troca de núcleo UMCG, bem como API de grupo / servidor / trabalhador UMCG. A API principal é útil para IPC rápido e comutação de contexto, enquanto a API de grupo / servidor / trabalhador, junto com a API principal, forma a base para uma estrutura de agendamento de espaço do usuário M: N em processo implementada em lib / umcg. "

Será interessante ver como esse esforço de código aberto UMCG / Google Fibers se desenvolverá nos próximos meses ... Fique ligado.




Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário