Popcorn Linux ядросы үшін таратылған жіпті орындау жүйесін әзірлеуде.

Вирджиния Тех ұсынды Linux ядросының әзірлеушілерінің талқылауы үшін, таратылған ағынды орындау жүйесін енгізумен патчтар жинағы Попкорн (Distributed Thread Execution), ол хосттар арасында ағындарды тарату және мөлдір көшіру арқылы бірнеше компьютерлерде қосымшалардың орындалуын ұйымдастыруға мүмкіндік береді. Popcorn көмегімен қолданбаларды бір хостта іске қосып, содан кейін басқа хостқа үзіліссіз көшіруге болады. Көп ағынды бағдарламаларда жеке ағындарды басқа хосттарға көшіруге рұқсат етіледі.

Жобадан айырмашылығы CRIUПроцесс күйін сақтауға және басқа жүйеде орындауды жалғастыруға рұқсат бере отырып, Popcorn қолданбаны орындау кезінде хосттар арасында үздіксіз және динамикалық тасымалдауды қамтамасыз етеді, пайдаланушы әрекетін қажет етпейді және бір мезгілде ағындарды іске қосатын барлық хосттарда виртуалды жадтың үйлесімділігін қамтамасыз етеді.

Попкорн бағдарламалық құралының стек пішіні патчтар Linux ядросына және кітапхана таратылған қолданбалардағы ағындарды тасымалдау үшін Popcorn жүйелік қоңырауларын қалай пайдалануға болатынын көрсететін сынақтармен. Ядро деңгейінде әртүрлі хосттардағы процестерге ортақ және дәйекті виртуалды мекенжай кеңістігіне қол жеткізуге мүмкіндік беретін бөлінген ортақ жадты жүзеге асыру арқылы виртуалды жадының ішкі жүйесіне кеңейтулер ұсынылды. Виртуалды жад бетінің үйлесімділігі жад беттерін оқу кезінде хостқа қайталайтын және жазылған кезде жад беттерін жарамсыз ететін хаттамамен қамтамасыз етіледі.

Хосттар арасындағы өзара әрекеттесу TCP ұясы арқылы жіберілетін хабарламалар үшін ядро ​​деңгейіндегі өңдеуші арқылы жүзеге асырылады. TCP/IP өңдеу процесінде жөндеуді және тестілеуді жеңілдету үшін қолданылатыны атап өтіледі. Әзірлеушілер қауіпсіздік және өнімділік тұрғысынан TCP/IP ядро ​​құрылымдары мен жад беттерінің мазмұнын хосттар арасында тасымалдаудың ең жақсы тәсілі емес екенін түсінеді. Бөлінген қолданбаларды іске қосатын барлық хосттар бірдей сенім деңгейіне ие болуы керек. Негізгі алгоритмдерді тұрақтандырудан кейін тасымалдаудың тиімді түрі қолданылады.

Попкорн 2014 жылдан бері ағындары әртүрлі түйіндерде орындалатын таратылған қосымшаларды құру мүмкіндіктерін зерттеуге арналған ғылыми жоба ретінде дамып келеді. гетерогенді әртүрлі нұсқаулар жиынының архитектурасына негізделген ядроларды біріктіре алатын есептеу жүйелері (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Linux ядросының әзірлеушілеріне ұсынылған патчтар жинағы тек x86 процессоры бар хосттарда орындауды қолдайды, бірақ сонымен қатар әртүрлі CPU архитектурасы (x86 және ARM) бар хосттарда қолданбаларды іске қосуға мүмкіндік беретін Popcorn Linux-тың неғұрлым функционалды нұсқасы бар. Попкорнды гетерогенді ортада пайдалану үшін арнайы пайдалану керек құрастырушы LLVM негізінде. Бірдей архитектурасы бар хосттарда таратылған түрде іске қосылғанда, бөлек компилятормен қайта құру қажет емес.

Popcorn Linux ядросы үшін таратылған жіпті орындау жүйесін әзірлеуде.

Бұған қоса, атап өтуге болады хабарландыру біршама ұқсас жоба Телефорк кластердегі басқа компьютерлерде еншілес процестерді іске қосу үшін API бастапқы прототипін енгізумен (мысалы, fork(), бірақ форкталған процесті басқа компьютерге тасымалдайды).
Код Rust тілінде жазылған және әзірге файлдар сияқты жүйелік ресурстарды пайдаланбайтын өте қарапайым процестерді клондауға мүмкіндік береді. Телефорк қоңырауы жасалған кезде, жад және процеске қатысты құрылымдар сервер өңдеушісі (телепад) іске қосатын басқа хостқа клондалады. ptrace көмегімен процестің жад көрінісі серияланады және процесс пен регистрлердің күйімен бірге басқа хостқа тасымалданады. API сонымен қатар процесс күйін файлға сақтауға және оны сол арқылы қалпына келтіруге мүмкіндік береді.

Ақпарат көзі: opennet.ru

пікір қалдыру