Pentru kernelul Linux se dezvoltă un sistem de execuție distribuită a fluxurilor Popcorn

Universitatea Politehnica din Virginia a propus pentru discuții între dezvoltatorii nucleului Linux despre un set de patch-uri pentru implementarea unui sistem de execuție distribuită a firelor Popcorn (Execuție Distribuită a Firelor), care permite organizarea execuției aplicațiilor pe mai multe computere, cu distribuirea și migrarea transparentă a firelor între gazde. Cu ajutorul Popcorn, aplicațiile pot fi lansate pe o gazdă, apoi mutați fără a opri funcționarea pe o altă gazdă. În programele multi-frate, migrarea unor fire pe alte gazde este permisă.

Spre deosebire de proiectul CRIU, care permite salvarea stării unui proces și reluarea execuției pe un alt sistem, Popcorn oferă migrare fără întreruperi și dinamică între gazde în timpul execuției aplicației, fără a necesita acțiuni din partea utilizatorului și garantând coerența memoriei virtuale pe toate gazdele pe care firele sunt executate simultan.

Stiva software Popcorn include patch-uri în nucleul Linux și biblioteca cu teste care demonstrează cum pot fi folosite apelurile de sistem Popcorn pentru migrarea firelor în aplicațiile executate distribuit. La nivelul nucleului, sunt propuse extensii pentru subsistemul memoriei virtuale, cu implementarea memoriei partajate distribuite (distributed shared memory), care permite proceselor de pe diferite gazde să acceseze un spațiu de adresă virtual comun și coerent. Coerența paginilor din memoria virtuală este asigurată printr-un protocol care replică pe gazdă paginile de memorie la accesul pentru citire și anulează paginile de memorie la efectuarea scrierii.

Interacțiunea dintre gazde se realizează printr-un handler de mesaje care operează la nivel de nucleu, transmițându-se printr-un socket TCP. Se observă că TCP/IP este utilizat pentru a simplifica depanarea și testarea în timpul dezvoltării. Dezvoltatorii înțeleg că, din punct de vedere al securității și performanței, TCP/IP nu este cea mai bună metodă de transmitere a conținutului structurilor nucleului și a paginilor de memorie între gazde. Toate gazdele pe care rulează aplicații distribuite trebuie să aibă un nivel de încredere identic. După stabilizarea algoritmilor de bază, va fi aplicat un mijloc de transport mai eficient.

Popcorn evoluează din 2014 ca un proiect de cercetare pentru a explora posibilitățile creării de aplicații distribuite, fluxurile cărora pot fi executate pe diferite noduri în sisteme de calcul heterogene , în care pot fi combinate nuclee pe baza unor arhitecturi diferite de seturi de instrucțiuni (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Setul de patch-uri propus pentru dezvoltatorii kernel-ului Linux suportă doar execuția pe gazde cu CPU x86, dar există și o variantă mai funcțională, Popcorn Linux, care permite rularea aplicațiilor pe gazde cu arhitecturi CPU diferite (x86 și ARM). Pentru a utiliza Popcorn în medii heterogene, este necesar să se folosească un compiler bazat pe LLVM. În cazul execuției distribuite pe gazde cu o singură arhitectură, recompilarea cu un anumit compiler nu este necesară.

Pentru kernelul Linux se dezvoltă un sistem de execuție distribuită a fluxurilor Popcorn

cu privire la dependența Tor Browser de infrastructura Mozilla. Să reamintim că utilizatorilor Tor Browser, din cauza problemei cu certificatul, anunț despre un proiect asemănător Telefork cu implementarea unui prototip inițial de API pentru a rula procese fiice pe alte computere din cluster (similar cu fork(), dar mută procesul ramificat pe un alt computer).
Codul este scris în limbajul Rust și deocamdată permite doar clonarea celor mai simple procese, care nu utilizează resurse sistemice, cum ar fi fișierele. Atunci când se efectuează apelul telefork, memoria și structurile legate de proces sunt clonate pe o altă gazdă, pe care rulează un procesor server (telepad). Prin ptrace, reflecția memoriei procesului este serializată și, împreună cu starea procesului și registrele, este transferată pe o altă gazdă. API-ul permite, de asemenea, salvarea stării procesului într-un fișier și restaurarea prin intermediul acestuia.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster