Proponują rozwój Popcorn w jądrze Linuksa

Jeśli pierwszą rzeczą, która przyszła Ci do głowy, była popularna aplikacja, która umożliwia przeglądanie treści poprzez protokół torrent, to obawiam się powiedzieć, że nie, tak nie jest, o czym mówimy programiści z Virginia Polytechnic University który niedawno zrobił propozycja dyskusji z programistami jądra Linux na zestawie naszywek z wdrożenie systemu Popcorn (Distributed Thread Execution), aby dystrybuować wątki.

Ten system pozwala organizować wykonywanie aplikacji na wielu komputerach wraz z dystrybucją i migracją przejrzysty przepływ między hostami. Dzięki Popcornowi aplikacje można uruchamiać na jednym hoście, po czym można je bez przerwy przenosić na inny host. W programach wielowątkowych dozwolona jest migracja do innych hostów jednowątkowych.

O Popcorn

W przeciwieństwie do projektu CRIU, który umożliwia zapisanie stanu procesu i wznowienie wykonywania na innym systemie, Popcorn zapewnia przejrzystą i dynamiczną migrację między hostami podczas wykonywania aplikacji, bez konieczności podejmowania działań przez użytkownika i zapewniania spójności pamięci wirtualnej na wszystkich hostach, na których wątki działają jednocześnie.

Prażona kukurydza dostarcza stos poprawek do jądra Linuksa oraz bibliotekę z testem pokazującym, jak wywołania systemowe Popcorn z przepływów migracyjnych mogą być używane w rozproszonych aplikacjach wykonywalnych.

Na poziomie jądra proponowane są rozszerzenia podsystemu pamięci wirtualnej z implementacją rozproszonej pamięci współdzielonej, która umożliwia procesom na różnych hostach dostęp do wspólnej i spójnej wirtualnej przestrzeni adresowej. Spójność stron pamięci wirtualnej zapewnia protokół, który replikuje strony pamięci do hosta, gdy są one dostępne w celu odczytu i unieważnia strony pamięci po zapisaniu.

Interakcja między hostami odbywa się za pomocą programu obsługi komunikatów na poziomie jądra przesyłanego przez gniazdo TCP. Zaobserwowano, że protokół TCP / IP służy do uproszczenia debugowania i testowania podczas programowania. Programiści rozumieją, że pod względem bezpieczeństwa i wydajności protokół TCP / IP nie jest najlepszym sposobem przesyłania zawartości struktur jądra i stron pamięci między hostami. Wszystkie hosty z aplikacjami rozproszonymi muszą mieć ten sam poziom zaufania. Po ustabilizowaniu się podstawowych algorytmów zastosowany zostanie bardziej efektywny sposób transportu.

Od 2014 roku Popcorn jest rozwijany jako projekt badawczy badanie możliwości tworzenia aplikacji rozproszonych, których wątki mogą być wykonywane w różnych węzłach w heterogenicznych systemach komputerowych, w których rdzenie można łączyć w oparciu o różne architektury zestawów poleceń (Xeon / Xeon-Phi, ARM / x86, CPU / GPU / FPGA).

Zestaw poprawek zaproponowany programistom jądra Linuksa obsługuje tylko działanie na hostach z procesorem x86, ale także istnieje bardziej funkcjonalna wersja Popcorn Linux co pozwala aplikacjom działać na hostach z różnymi architekturami procesora (x86 i ARM).

Aby używać Popcorn w środowiskach heterogenicznych, musisz użyć specjalnego kompilatora opartego na LLVM. W przypadku wykonywania rozproszonego na hostach o tej samej architekturze przebudowa przez oddzielny kompilator nie jest wymagana.

Równieżmożemy zauważyć zapowiedź czegoś podobnego do projektu Telefork z początkową implementacją prototypowego interfejsu API do uruchamiania procesów potomnych na innych komputerach w klastrze (jak fork (), ale przenosi proces rozgałęziania na inny komputer).

Kod jest napisany w Rust i jak dotąd pozwala na klonowanie tylko najprostszych procesów, które nie używają zasobów systemowych, takich jak pliki. Podczas wykonywania połączenia telefonicznego pamięć i struktury związane z procesem są klonowane do innego hosta, na którym działa kontroler serwera (telepad).

Za pomocą ptrace lustro pamięci procesu jest serializowane i wraz ze stanem procesu i dziennikami przesyłane jest do innego hosta. Interfejs API umożliwia również zapisanie stanu procesu do pliku i przywrócenie go za jego pośrednictwem.

źródło: https://lkml.org/


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.