Ei propun dezvoltarea Popcorn în Linux Kernel

Dacă primul lucru care ți-a venit în minte a fost aplicația populară care îți permite să vizualizezi conținut prin protocolul torrent, mi-e teamă să-ți spun că nu, nu este așa, despre ce vorbim este dezvoltatori de la Universitatea Politehnica din Virginia care a făcut recent un propunere de discuție cu dezvoltatorii de kernel Linux pe un set de patch-uri cu implementarea sistemului Popcorn (Execuția firului distribuit) pentru a distribui firele.

Acest sistem vă permite să organizați execuția aplicațiilor pe mai multe computere cu distribuție și migrare flux transparent între gazde. Cu Popcorn, aplicațiile pot fi pornite pe o gazdă, după care pot fi transferate pe o altă gazdă fără întrerupere. În programele cu mai multe fire, este permisă migrarea către alte gazde cu un singur fir.

Despre floricele de porumb

Spre deosebire de proiectul CRIU, care vă permite să salvați starea procesului și să reluați execuția pe un alt sistem, Popcorn oferă o migrație transparentă și dinamică între gazde în timpul executării aplicației, fără a necesita acțiunea utilizatorului și asigurarea coerenței memoriei virtuale pe toate gazdele unde firele rulează simultan.

Popcorn oferă o stivă de patch-uri kernel-ului Linux și biblioteca cu un test care arată cum apelurile de sistem Popcorn din fluxurile migratorii pot fi utilizate într-o aplicație executabilă distribuită.

La nivel de nucleu, sunt propuse extensii la subsistemul de memorie virtuală cu implementarea memoriei partajate distribuite, care permite proceselor de pe diferite gazde să acceseze un spațiu de adrese virtual comun și consistent. Coerența paginilor de memorie virtuală este asigurată de un protocol care reproduce paginile de memorie pe gazdă atunci când acestea sunt accesate pentru citire și invalidează paginile de memorie atunci când sunt scrise.

Interacțiunea dintre gazde se realizează folosind un handler de mesaje la nivel de nucleu transmis 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 cel mai bun mod de a transfera conținutul structurilor kernelului și al paginilor de memorie între gazde. Toate gazdele care rulează aplicații distribuite trebuie să aibă același nivel de încredere. După stabilizarea algoritmilor de bază, se va aplica un mod de transport mai eficient.

Din 2014, Popcorn a fost dezvoltat ca un proiect de cercetare să studieze posibilitățile de creare a aplicațiilor distribuite, ale căror fire pot fi executate în diferite noduri în sisteme informatice eterogene, în care nucleele pot fi combinate pe baza diverselor arhitecturi de seturi de comenzi (Xeon / Xeon-Phi, ARM / x86, CPU / GPU / FPGA).

Setul de patch-uri propus dezvoltatorilor de kernel Linux acceptă doar rularea pe gazde cu un procesor x86, dar, de asemenea există o versiune mai funcțională a Popcorn Linux care permite aplicațiilor să ruleze pe gazde cu diferite arhitecturi CPU (x86 și ARM).

Pentru a utiliza Popcorn în medii eterogene, trebuie să utilizați un compilator special bazat pe LLVM. Cu execuția distribuită pe gazde cu aceeași arhitectură, nu este necesară reconstruirea de către un compilator separat.

De asemenea, putem observa anunțul a ceva similar cu proiectul Telefork cu implementarea inițială a prototipului API pentru a porni procesele copil pe alte computere din cluster (cum ar fi fork (), dar transferați procesul de ramificare pe un alt computer).

Codul este scris în Rust și până acum permite clonarea doar a celor mai simple procese care nu utilizează resurse de sistem, cum ar fi fișierele. Când efectuați un apel telefork, memoria și structurile legate de proces sunt clonate pe o altă gazdă care rulează controlerul serverului (telepad).

Folosind ptrace, oglindirea memoriei procesului este serializată și, împreună cu starea procesului și jurnalele, este transferată către o altă gazdă. API vă permite, de asemenea, să salvați starea unui proces într-un fișier și să îl restaurați prin acesta.

Fuente: https://lkml.org/


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.