Za Linux jezgru se razvija sustav distribuiranog izvršavanja tokova Popcorn.

Politehnički univerzitet Virginije predložio za raspravu među programerima Linux jezgra o setu zakrpa s implementacijom sustava distribuiranog izvršavanja niti Popcorn (Distribuirano izvršavanje niti), koji omogućuje izvođenje aplikacija na više računala s raspodjelom i transparentnom migracijom niti između hostova. Korištenjem Popcorn-a, aplikacije se mogu pokrenuti na jednom hostu, a zatim bez zaustavljanja rada prebaciti na drugi host. U multithreaded programima dopuštena je migracija pojedinih niti na druge hostove.

Za razliku od projekta CRIU, koji omogućuje spremanje stanja procesa i nastavak izvršavanja na drugom sustavu, Popcorn pruža besprijekornu i dinamičnu migraciju između hostova tijekom izvođenja aplikacije, ne zahtijevajući intervenciju korisnika i osiguravajući dosljednost virtualne memorije na svim hostovima na kojima se istovremeno izvršavaju niti.

Softverski paket Popcorn se sastoji od zakrpe nuklearnih modula Linux-a i biblioteke s testovima koji pokazuju kako koristiti sistemske pozive Popcorn za migraciju niti u distribuirano izvršavanim aplikacijama. Na razini jezgre predložena su proširenja za pot-sustav virtualne memorije s implementacijom distribuirane zajedničke memorije (distributed shared memory), koja omogućuje procesima na različitim hostovima pristup zajedničkom i dosljednom virtualnom adresnom prostoru. Dosljednost stranica virtualne memorije osigurava se pomoću protokola koji replicira stranice memorije na host kada se na njih poziva za čitanje i poništava stranice memorije tijekom pisanja.

Interakcija između hostova odvija se putem procesora poruka koji radi na razini jezgre, a poruke se prenose preko TCP-soketa. Istaknuto je da se TCP/IP koristi za pojednostavljenje ispravke i testiranja tijekom razvoja. Programeri su svjesni da s aspekta sigurnosti i performansi TCP/IP nije najbolji način prijenosa sadržaja struktura jezgre i stranica memorije između hostova. Svi hostovi na kojima se izvršavaju distribuirane aplikacije moraju imati identičnu razinu povjerenja. Nakon stabilizacije osnovnih algoritama bit će primijenjen učinkovitiji oblik prijenosa.

Popcorn se razvija od 2014. godine kao istraživački projekt za proučavanje mogućnosti stvaranja distribuiranih aplikacija, čiji se tokovi mogu izvršavati na različitim čvorovima u heterogenim računskim sustavima, u kojima se mogu kombinirati jezgre na temelju različitih arhitektura skupa instrukcija (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Predloženi set zakrpa za programere jezgre Linux podržava samo izvršavanje na hostovima s CPU x86, ali postoji i funkcionalnija verzija Popcorn Linux, koja omogućuje izvršavanje aplikacija na hostovima s različitim arhitekturama CPU (x86 i ARM). Za korištenje Popcorna u heterogenim okruženjima potrebno je koristiti poseban kompajler temeljen na LLVM. Prilikom distribuiranog izvršavanja na hostovima s jednom arhitekturom, ponovna izrada pomoću drugog kompajlera nije potrebna.

Za Linux jezgru se razvija sustav distribuiranog izvršavanja tokova Popcorn.

Osim toga, može se primijetiti najava nečega sličnog projektu Telefork s implementacijom inicijalnog prototipa API-ja za pokretanje podređenih procesa na drugim računalima u klasteru (poput fork(), ali premješta proces na drugo računalo).
Kod je napisan na jeziku Rust i trenutno omogućuje kloniranje samo najjednostavnijih procesa koji ne koriste sistemske resurse, kao što su datoteke. Prilikom poziva telefork, memorija i povezane strukture procesa kloniraju se na drugi host na kojem je pokrenut serverski obrtnik (telepad). Uz pomoć ptrace, odražavanje memorije procesa serijalizira se i zajedno sa stanjem procesa i registrima prenosi na drugi host. API također omogućuje spremanje stanja procesa u datoteku i njegovo obnavljanje putem te datoteke.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster