Uma sistema de execução distribuída de threads chamada Popcorn está em desenvolvimento para o núcleo Linux.

Universidade Politécnica da Virgínia um patch escrito à mão para correção. para discussão entre desenvolvedores do núcleo Linux sobre um conjunto de patches para a implementação de um sistema de execução distribuída de threads Popcorn (Execução Distribuída de Threads), que permite organizar a execução de aplicativos em vários computadores com distribuição e migração transparente de threads entre hosts. Com o Popcorn, aplicativos podem ser iniciados em um host e, sem interromper a operação, movidos para outro host. Em programas multithread, a migração de threads individuais para outros hosts é permitida.

Diferentemente do projeto CRIU, que permite salvar o estado de um processo e retomar a execução em outro sistema, o Popcorn fornece migração dinâmica e contínua entre hosts durante a execução do aplicativo, sem requerer ações do usuário e garantindo a consistência da memória virtual em todos os hosts onde as threads estão sendo executadas simultaneamente.

A pilha de software do Popcorn é composta patches para o núcleo Linux e biblioteca com testes que demonstram como usar chamadas de sistema do Popcorn para migrar threads em aplicativos executados de forma distribuída. No nível do núcleo, foram propostas extensões ao subsistema de memória virtual com a implementação de memória compartilhada distribuída (distributed shared memory), permitindo que processos em diferentes hosts acessem um espaço de endereço virtual compartilhado e consistente. A consistência das páginas da memória virtual é garantida por meio de um protocolo que replica as páginas de memória no host quando acessadas para leitura e invalida as páginas de memória ao realizar gravações.

A interação entre hosts é realizada por meio de um manipulador de mensagens em nível de núcleo, transmitidas através de um socket TCP. Observa-se que TCP/IP é utilizado para facilitar a depuração e testes durante o desenvolvimento. Os desenvolvedores entendem que, do ponto de vista de segurança e desempenho, TCP/IP não é a melhor maneira de transferir o conteúdo de estruturas de núcleo e páginas de memória entre hosts. Todos os hosts em que os aplicativos distribuídos estão em execução devem ter um nível de confiança idêntico. Após a estabilização dos algoritmos principais, um meio de transporte mais eficiente será aplicado.

O Popcorn está em desenvolvimento desde 2014 como um projeto de pesquisa para explorar as possibilidades de criação de aplicativos distribuídos, cujos fluxos podem ser executados em diferentes nós em sistemas computacionais heterogêneos , onde podem ser combinados núcleos baseados em diferentes arquiteturas de conjunto de instruções (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). O conjunto de patches proposto para desenvolvedores do núcleo Linux suporta apenas execução em hosts com CPU x86, mas existe uma variante mais funcional, o Popcorn Linux, que permite executar aplicativos em hosts com diferentes arquiteturas de CPU (x86 e ARM). Para usar o Popcorn em ambientes heterogêneos, é necessário usar um compilador baseado em LLVM. Durante a execução distribuída em hosts com uma única arquitetura, a recompilação por um compilador separado não é necessária.

Uma sistema de execução distribuída de threads chamada Popcorn está em desenvolvimento para o núcleo Linux.

sobre a dependência do Tor Browser da infraestrutura Mozilla. Vale lembrar que, devido a um problema com o certificado, os usuários do Tor Browser anúncio de um projeto semelhante Telefork com a implementação de um protótipo inicial de API para iniciar subprocessos em outros computadores no cluster (como fork(), mas move o processo desmembrado para outro computador).
O código é escrito na linguagem Rust e atualmente permite apenas clonar processos muito simples, que não utilizam recursos do sistema, como arquivos. Ao realizar a chamada telefork, a memória e as estruturas associadas ao processo são clonadas em outro host, onde o manipulador do servidor (telepad) está em execução. Usando ptrace, a reflexão da memória do processo é serializada e, juntamente com o estado do processo e os registradores, é transferida para outro host. A API também permite salvar o estado do processo em um arquivo e restaurá-lo a partir dele.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster