Voor de Linux-kern wordt een systeem voor gedistribueerde uitvoering van threads, Popcorn, ontwikkeld

Virginia Polytechnic Institute stelde voor voor de discussie door Linux-kernelontwikkelaars van een reeks patches met de implementatie van een systeem voor gedistribueerde uitvoering van threads Popcorn (Distributed Thread Execution), dat de uitvoering van applicaties op meerdere computers mogelijk maakt met de verdeling en transparante migratie van threads tussen hosts. Met behulp van Popcorn kunnen applicaties op ƩƩn host worden gestart en vervolgens zonder onderbreking naar een andere host worden verplaatst. In meerdaagse programma's is migratie van individuele threads naar andere hosts toegestaan.

In tegenstelling tot het project CRIU, wat het mogelijk maakt om de status van een proces op te slaan en de uitvoering op een ander systeem te hervatten, biedt Popcorn naadloze en dynamische migratie tussen hosts tijdens de uitvoering van de applicatie, zonder dat de gebruiker actie hoeft te ondernemen en zorgt voor consistentie van het virtuele geheugen op alle hosts waar tegelijkertijd threads worden uitgevoerd.

De softwarestack van Popcorn bestaat uit aangenomen naar de Linux-kernel en bibliotheek met tests die aantonen hoe de systeemaanroepen van Popcorn kunnen worden gebruikt voor de migratie van threads in gedistribueerde applicaties. Op kernel-niveau zijn er uitbreidingen voorgesteld voor de virtuele geheugensubsystemen met de implementatie van gedeeld gedistribueerd geheugen, waarmee processen op verschillende hosts toegang krijgen tot een gemeenschappelijke en consistente virtuele adresruimte. De consistentie van de pagina's in virtueel geheugen wordt gewaarborgd via een protocol dat de pagina's in het geheugen repliceert op de host bij toegang voor lezen en de pagina's in het geheugen ongeldig maakt bij uitvoer voor schrijven.

De interactie tussen hosts gebeurt via een op kernel-niveau werkende berichtverwerker, die via een TCP-socket wordt verzonden. Het zij opgemerkt dat TCP/IP wordt gebruikt om de debugging en testing tijdens de ontwikkeling te vereenvoudigen. Ontwikkelaars begrijpen dat TCP/IP vanuit veiligheid en prestaties geen ideale manier is om de structuren van de kernel en geheugenpagina's tussen hosts over te dragen. Alle hosts waarop gedistribueerde applicaties worden uitgevoerd, moeten een identiek vertrouwensniveau hebben. Na stabilisatie van de belangrijkste algoritmen zal er een efficiƫntere transportmethode worden toegepast.

Popcorn is evolving since 2014 as a research project to explore the possibilities of creating distributed applications, where streams can be executed on different nodes in heterogeneous computing systems that can combine cores based on different instruction set architectures (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). The patch set proposed for Linux kernel developers only supports execution on hosts with x86 CPU, but there is a more functional version called Popcorn Linux, which allows applications to run on hosts with different CPU architectures (x86 and ARM). To use Popcorn in heterogeneous environments, a special compiler based on LLVM is needed. When executing distributedly on hosts with the same architecture, recompiling with a different compiler is not necessary.

Voor de Linux-kern wordt een systeem voor gedistribueerde uitvoering van threads, Popcorn, ontwikkeld

Daarnaast kan worden opgemerkt announcement of a project similar to Telefork with the implementation of a prototype API for launching child processes on other computers in the cluster (like fork(), but moves the forked process to another computer).
The code is written in Rust and currently allows only the cloning of the simplest processes that do not use system resources like files. When calling telefork, the memory and related process structures are cloned to another host where the server handler (telepad) is running. Using ptrace, the memory of the process is serialized and transferred along with the process state and registers to another host. The API also allows saving the process state to a file and restoring it through that.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster