Për bërthamën Linux po zhvillohet sistemi i ekzekutimit të shpërndarë të rrjedhave Popcorn

Universiteti Politeknik i Virgjinisë propozoi për diskutimin e zhvilluesve të bërthamës Linux mbi një set patch-esh me implementimin e sistemit të ekzekutimit të shpërndarë të proceseve Popcorn (Ekzekutimi i Shpërndarë i Proceseve), i cili lejon organizimin e ekzekutimit të aplikacioneve në disa kompjuterë me shpërndarjen dhe migrimin e transparencës së proceseve midis hosteve. Me anë të Popcorn, aplikacionet mund të nisin në një host dhe më pas të zhvendosen në një host tjetër pa ndalur punën. Në programet me shumë procese, lejohet migrimi i proceseve të veçanta në hoste të tjera.

Ndryshe nga projekti CRIU, i cili lejon ruajtjen e gjendjes së procesit dhe rinisjen e ekzekutimit në një sistem tjetër, Popcorn ofron migrim pa ndërprerje dhe dinamik midis hosteve gjatë ekzekutimit të aplikacionit, pa kërkuar veprime nga përdoruesi dhe duke siguruar koherencën e memories virtuale në të gjithë hostet ku ekzekutohen njëkohësisht proceset.

Staku softueror i Popcorn përbëhet patches me bërthamën Linux dhe bibliotekë me teste që tregojnë se si mund të përdoren thirrjet e sistemit Popcorn për migrimin e proceseve në aplikacionet e ekzektuara shpërndarë. Në nivelin e bërthamës ofrohen zgjerime për nën-sistemin e memories virtuale me implementimin e memories së shpërndarë të ndarë (distributed shared memory), e cila lejon proceset në hoste të ndryshme të aksesojnë hapësirën e adresës virtuale të përbashkët dhe të koherencuar. Koherenca e faqeve të memories virtuale sigurohet përmes një protokolli që riprodhon në host faqet e memories kur ato kërkohen për lexim dhe anullon faqet e memories kur ndodhin shkrime.

Ndërveprimi midis hosteve bëhet përmes një menaxhuesi mesazhesh që funksionon në nivelin e bërthamës, duke u transmetuar përmes TCP-socket. Vërehet se TCP/IP përdoret për të lehtësuar debuggimin dhe testimin gjatë procesit të zhvillimit. Zhvilluesit e kuptojnë se, nga pikëpamja e sigurisë dhe performancës, TCP/IP nuk është mënyra më e mirë për të transmetuar përmbajtjen e strukturave të bërthamës dhe faqeve të memories midis hosteve. Të gjithë hostet ku ekzekutohen aplikacione të shpërndara duhet të kenë një nivel identik besimi. Pas stabilizimit të algoritmeve kryesore, do të aplikohet një lloj më efikas transporti.

Popcorn po zhvillohet që nga viti 2014 si një projekt kërkimor për të eksploruar mundësitë e krijimit të aplikacioneve të shpërndara, ku rrjedhat mund të ekzekutohen në node të ndryshme në sistemet e njëjta heterogjene llogaritëse, ku mund të kombinohen bërthamat mbi baza të arkitekturave të ndryshme të setit të komandave (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Grupi i patch-eve i propozuar për zhvilluesit e bërthamës Linux mbështet vetëm ekzekutimin në hostet me CPU x86, por ka edhe një variante më funksional të Popcorn Linux, i cili lejon ekzekutimin e aplikacioneve në hostet me arkitekturë të ndryshme CPU (x86 dhe ARM). Për të përdorur Popcorn në mjedise heterogjene, është e nevojshme të përdoret një kompilator baze LLVM. Kur ekzekutohet në mënyrë të shpërndarë në hoste të njëjtë arkitekture, rikonstruimi me një kompilator të veçantë nuk është i nevojshëm.

Për bërthamën Linux po zhvillohet sistemi i ekzekutimit të shpërndarë të rrjedhave Popcorn

Për më tepër, mund të theksohet njoftim për një projekt të ngjashëm Telefork me implementimin e një prototipi fillestar të API-së për nisjen e proceseve fëmijë në kompjuterë të tjerë në klasër (si fork(), por transferon procesin e degezuar në një kompjuter tjetër).
Kodi është shkruar në gjuhën Rust dhe deri tani lejon klonimin e vetëm proceseve më të thjeshta, të cilat nuk përdorin burime sistemike, si skedarët. Kur bëhet thirrja për telefork, memoria dhe strukturat e lidhura me procesin klonohen në një host tjetër, ku ekzekutohet trajtuesi server (telepad). Përmes ptrace, reflektimi i memories së procesit serializohet dhe transferohet në një host tjetër së bashku me gjendjen e procesit dhe regjistrat. API gjithashtu lejon ruajtjen e gjendjes së procesit në një skedar dhe rikthimin e saj përmes tij.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster