Linuxi tuuma jaoks arendatakse hajutatud lõimede täitmise süsteemi Popcorn

Virginia Tehnikaülikool soovitas Linuxi tuuma arendajate vahel arutamiseks, mis puudutab lõimede hajutatud täitmise süsteemi rakenduse patchide komplekti Popcorn (Distributed Thread Execution), võimaldades rakenduste käitamise korraldamist mitmel arvutil lõimede jaotuse ja sujuva migratsiooni abil. Popcorn'i abil võivad rakendused töötada ühel serveril ja seejärel töö katkestamata teisalduda teisele serverile. Mitme lõimega programmides on lubatud teatud lõimede migreerimine teistesse serveritesse.

Erinevalt projektist CRIU, mis võimaldab protsessi olekute säilitamist ja selle täitmise jätkamist teises süsteemis, pakub Popcorn sujuvat ja dünaamilist migratsiooni serverite vahel rakenduse käitamise ajal, nõudmata kasutajalt tegevust ning tagades virtuaalse mälu järjepidevuse kõigis serverites, kus lõimed töötavad samaaegselt.

Popcorn'i tarkvarakogum koosneb patchid Linuxi tuumast ja teeki testidega, mis näitavad, kuidas kasutada Popcorn süsteemikõnesid voogude migreerimiseks hajutatud täidesaatvates rakendustes. Süsteemi tasandil on pakutud laiendusi virtuaalse mälu alamüsteemis, mis rakendab jagatud hajutatud mälu (distributed shared memory), võimaldades protsessidel erinevates hostides juurdepääsu ühisele ja järjepidevale virtuaalsele aadressiruumile. Virtuaalse mälu lehtede järjepidevus tagatakse protokolli abil, mis replikeerib hostis mälu lehti, kui neid loetakse, ja tühistab mälu lehed kirjutamise korral.

Hostide vaheline suhtlemine toimub tuumatasandi sõnumitöötluse abil, mis edastatakse TCP-soketi kaudu. Tuvastatakse, et TCP/IP-d kasutatakse arendamise käigus tõrkeotsingu ja testimise lihtsustamiseks. Arendajad mõistavad, et turbe ja jõudluse seisukohalt ei ole TCP/IP parim viis edastada tuuma struktuuride ja mälulehtede sisu hostide vahel. Kõik hostid, kus käivitatakse jaotatud rakendusi, peavad olema identse usaldusväärsuse tasemega. Pärast põhialgoritmide stabiliseerimist rakendatakse tõhusamat transporti.

Popcorn on alates 2014. aastast arenenud uurimisprojektina, mis uurib võimalusi jaotatud rakenduste loomiseks, mille vood võivad töötada erinevates sõlmedes heterogeensetes arvutipõhistes süsteemides, milles võivad kombineerida erinevate käsu komplektide arhitektuuride ydas (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Arendajatele mõeldud Linuxi kernelile pakutud patšide kogum toetab ainult töötamist x86 CPU-ga hostides, kuid on olemas ka funktsionaalsem variant Popcorn Linux, mis võimaldab rakendusi käitada erinevate CPU arhitektuuridega (x86 ja ARM) hostides. Popcorni kasutamiseks heterogeensetes keskkondades on vajalik kasutada spetsiaalset kompilaator LLVM-i põhjal. Jaotatud käitamisel sama arhitektuuriga hostides ei ole erineva kompilaatori ümberkompileerimine vajalik.

Linuxi tuuma jaoks arendatakse hajutatud lõimede täitmise süsteemi Popcorn

Lisaks on võimalik märkida teade mõningase sarnase projekti Telefork esialgse API prototüübi väljatöötamine, et käivitada alamsüsteeme teistel arvutitel klastris (nagu fork(), kuid viib protsessi haru teisele arvutile).
Kood on kirjutatud Rust'i keeles ja võimaldab praegu kloonida ainult kõige lihtsamaid protsesse, kus ei kasutata süsteemiressursse, nagu failid. Telefoniüksuse kutsumise korral kopeeritakse mälu ja sellega seotud protsessistruktuurid teisele hostile, kus töötab serveri töötleja (telepad). Koos ptrace'iga kajastatakse protsessi mälu, mis serialiseeritakse ja kantakse koos protsessi oleku ja registritega teisele hostile. API võimaldab ka salvestada protsessi olekut faili ja taastada selle kaudu.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster