IPopcorn iphuhlisa inkqubo yophumezo lwentambo esasaziweyo yeLinux kernel.

IVirginia Tech cetyiswa kwingxoxo ngabaphuhlisi be-Linux kernel, isethi yeziziba ngokuphunyezwa kwenkqubo yophumezo lwentambo esasaziweyo. Amaqhashu (I-Distributed Thread Execution), ekuvumela ukuba uququzelele ukuphunyezwa kwezicelo kwiikhomputha ezininzi ngokusasazwa kunye nokufuduka okubonakalayo kweentambo phakathi kweenginginya. NgePopcorn, usetyenziso lunokuqaliswa kwinginginya enye kwaye emva koko ihanjiswe komnye umamkeli ngaphandle kokuphazamiseka. Kwiinkqubo ezinemisonto emininzi, ukufuduka kwemisonto nganye ukuya kwezinye iinginginya kuvumelekile.

Ngokungafaniyo neprojekthi CRIUNgokuvumela inkqubo yenkqubo ukuba igcinwe kwaye iqhutywe kwakhona kwenye inkqubo, iPopcorn ibonelela ngokufuduka okungenamthungo kunye nokuguquguqukayo phakathi kweenginginya ngexesha lokwenziwa kwesicelo, kungafuneki senzo somsebenzisi kunye nokuqinisekisa ukungaguquguquki kwememori kuyo yonke imikhosi eqhuba imisonto efanayo.

Popcorn isoftwe istaki ifomu amabala kwi Linux kernel kunye ithala leencwadi ngovavanyo olubonisa indlela iminxeba yenkqubo yePopcorn ingasetyenziselwa ukufuduka imisonto kwizicelo ezisasaziweyo. Kwinqanaba le-kernel, izandiso kwi-subsystem ye-memory subsystem ziye zacetywa ngokuphunyezwa kwememori ekwabelwana ngayo, evumela iinkqubo kwimikhosi eyahlukeneyo ukuba ifikelele kwindawo yedilesi eqhelekileyo kunye ehambelanayo. Uthungelwano lwephepha lememori ebonakalayo luqinisekiswa ngomthetho olandelwayo ophinda-phinda amaphepha enkumbulo kumamkeli xa efundwa kwaye angasebenzi amaxwebhu ememori xa ebhaliwe.

Ukusebenzisana phakathi kwenginginya kwenziwa kusetyenziswa isiphathi somgangatho wekernel kwimiyalezo ethunyelwa ngesokethi yeTCP. Kuphawulwe ukuba i-TCP / IP isetyenziselwa ukwenza lula ukulungisa iimpazamo kunye nokuvavanya ngexesha lenkqubo yophuhliso. Abaphuhlisi bayaqonda ukuba, ukusuka kumbono wokhuseleko kunye nokusebenza, i-TCP / IP ayiyona ndlela efanelekileyo yokudlulisa imixholo yezakhiwo zekernel kunye namaphepha ememori phakathi kwemikhosi. Zonke iinginginya eziqhuba izicelo ezisasaziweyo kufuneka zibe nenqanaba elifanayo lokuthembana. Emva kokuzinziswa kwee-algorithms eziphambili, indlela yokuthutha esebenzayo iya kusetyenziswa.

I-Popcorn iphuhliswe ukususela ngo-2014 njengeprojekthi yophando yokufunda amathuba okudala izicelo ezisasaziweyo, imisonto enokuthi iqhutywe kwiindawo ezahlukeneyo kwiindawo. ezahlukeneyo iinkqubo zekhompyutha ezinokudibanisa ii-cores ezisekelwe kwi-architectures ye-architecture ehlukeneyo yomyalelo (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Iseti yeepetshi ezicetywayo kubaphuhlisi be-Linux kernel ixhasa kuphela ukuphunyezwa kwiinginginya ezine-x86 CPU, kodwa kukwakho noguqulelo olusebenzayo ngakumbi lwePopcorn Linux, evumela usetyenziso ukuba luqhube kwiinginginya ezinoyilo olwahlukileyo lwe-CPU (x86 kunye ne-ARM). Ukusebenzisa i-Popcorn kwiindawo ezahlukeneyo, kufuneka usebenzise ekhethekileyo umqokeleli isekelwe kwi-LLVM. Xa uqhuba ngokusasazwa kwiinginginya ezinoyilo olufanayo, ukwakha kwakhona nge-compiler eyahlukileyo ayifuni.

IPopcorn iphuhlisa inkqubo yophumezo lwentambo esasaziweyo yeLinux kernel.

Ukongeza, kunokuqatshelwa isibhengezo iprojekthi efanayo I-Telefork ngokuphunyezwa kweprototype yokuqala ye-API yokusungula iinkqubo zomntwana kwezinye iikhompyutha kwiqela (njengefolokhwe (), kodwa idlulisela inkqubo yefolokhwe kwenye ikhompyutha).
Ikhowudi ibhalwe kwi-Rust kwaye ngoku ivumela kuphela i-cloning yeenkqubo ezilula kakhulu ezingasebenzisi izixhobo zenkqubo ezifana neefayile. Xa kufowunelwa i-telefork, imemori kunye nezakhiwo ezinxulumene nenkqubo zihlanganiswa komnye umamkeli osebenzisa umphathi weseva (i-telepad). Ukusebenzisa i-ptrace, ukubonakaliswa kwememori yenkqubo kulandelelwaniswa kwaye, kunye nemeko yenkqubo kunye neerejista, idluliselwe komnye umkhosi. I-API ikuvumela ukuba ugcine inkqubo yenkqubo kwifayile kwaye uyibuyisele ngayo.

umthombo: opennet.ru

Yongeza izimvo