За ядрото на Linux се разработва система за разпределено изпълнение на нишки Popcorn

Политехнически университет Вирджиния предложи за обсъждане от разработчиците на ядрото на Linux пакет от пачове с реализирана система за разпределено изпълнение на нишки Popcorn (Разпределено изпълнение на нишки), която позволява организирането на изпълнение на приложения на няколко компютъра с разпределение и прозрачно мигриране на нишки между хостовете. Чрез Popcorn приложенията могат да бъдат стартирани на един хост, след което без прекъсване на работата да бъдат преместени на друг хост. В многопоточни програми е позволена миграцията на отделни нишки на други хостове.

В отличие от проекта CRIU, който позволява запазване на състоянието на процеса и подновяване на изпълнението на друга система, Popcorn предлага безшевна и динамична миграция между хостове по време на изпълнението на приложението, без да изисква действия от потребителя и осигурявайки консистентност на виртуалната памет на всички хостове, на които едновременно се изпълняват нишки.

Програмният стек на Popcorn се състои от пачове към ядрото на Linux и библиотека с тестове, демонстриращи как могат да се използват системните повици на Popcorn за миграция на нишки в разпределено изпълнявани приложения. На нивото на ядрото са предложени разширения към подсистемата за виртуална памет с реализирана споделена разпределена памет (разпределена споделена памет), позволяваща на процесите на различни хостове да получат достъп до общо и консистентно виртуално адресно пространство. Консистентността на страниците в виртуалната памет се осъществява чрез протокол, който репликира страниците на хоста при достъп до тях за четене и анулира страниците на паметта при извършване на запис.

Взаимодействието между хостовете се извършва чрез обработчик на съобщения, работещ на ниво ядро, предавани през TCP сокет. Забелязва се, че TCP/IP се използва за опростяване на отстраняването на неизправности и тестове по време на разработката. Разработчиците разбират, че от гледна точка на сигурността и производителността TCP/IP не е най-добрият метод за предаване на съдържанието на структурите на ядрото и страниците на паметта между хостовете. Всички хостове, на които се изпълняват разпределени приложения, трябва да имат идентичен ниво на доверие. След стабилизиране на основните алгоритми ще бъде приложен по-ефективен транспортен метод.

Popcorn се развива от 2014 година като изследователски проект за изучаване на възможностите за създаване на разпределени приложения, чиито потоци могат да се изпълняват на различни възли в хетерогенни изчислителни системи, в които могат да се комбинират ядра на базата на различни архитектури на набори от команди (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Предложеният набор от пачове за разработчиците на ядрото на Linux поддържа само изпълнение на хостове с CPU x86, но съществува и по-функционален вариант Popcorn Linux, който позволява изпълнението на приложения на хостове с различни архитектури на CPU (x86 и ARM). За да се използва Popcorn в хетерогенни среди, е необходимо да се използва специален компилатор на базата на LLVM. При разпределено изпълнение на хостове с една архитектура не е необходима повторна компилация с отделен компилатор.

За ядрото на Linux се разработва система за разпределено изпълнение на нишки Popcorn

Освен това, може да се отбележи анонс на нещо подобно проекта Telefork с реализиране на началния прототип на API за стартиране на дъщерни процеси на други компютри в клъстера (както fork(), но пренасочва клонирания процес на друг компютър).
Кодът е написан на езика Rust и засега позволява клонирането само на най-простите процеси, при които не се използват системни ресурси, като файлове. При извикването на telefork паметта и свързаните с процеса структури се клонират на друг хост, на който работи сървърният обработчик (telepad). С помощта на ptrace отражението на паметта на процеса се сериализира и заедно със състоянието на процеса и регистрите се прехвърля на друг хост. API също така позволява запазването на състоянието на процеса във файл и възстановяването му чрез него.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster