Proposen el desenvolupament de Popcorn en el nucli de Linux

Si el primer que se't va venir al cap va ser la popular aplicació que permet visualitzar contingut per mitjà de l'protocol de torrent, em temo dir-te que no, no és així, del que parlem és sobre els desenvolupadors de la Universitat Politècnica de Virgínia que van realitzar fa poc una proposta per portar-la a discussió amb els desenvolupadors de el nucli de Linux sobre un conjunt de pegats amb la implementació de sistema Popcorn (Distributed Thread Execution) per distribuir fils.

aquest sistema permet organitzar l'execució d'aplicacions en diversos ordinadors amb la distribució i migració transparent de fluxos entre hosts. Amb Popcorn, les aplicacions es poden iniciar en un host, després de la qual cosa es poden transferir a un altre host sense interrupció. En els programes multi-procés, es permet la migració a altres hosts de subprocessos individuals.

sobre Popcorn

A diferència d'el projecte CRIU, que permet guardar l'estat de el procés i reprendre l'execució en un altre sistema, Popcorn proporciona una migració transparent i dinàmica entre els hosts durant l'execució de l'aplicació, sense requerir l'acció de l'usuari i assegurant la coherència de la memòria virtual en tots els hosts en els quals els subprocessos s'executen simultàniament.

Crispetes de blat de moro proporciona una pila pegats a el nucli de Linux i la biblioteca amb una prova que mostra com es poden utilitzar les crides a sistema de Popcorn dels fluxos migratoris a unes aplicacions executables distribuïts.

A nivell de l'nucli, es proposen extensions a el subsistema de memòria virtual amb la implementació de memòria compartida distribuïda, el que permet que els processos en diferents hosts accedeixin a un espai d'adreces virtual comú i consistent. La consistència de les pàgines de memòria virtual està garantida per un protocol que replica les pàgines de memòria a l'host quan s'accedeix a elles per llegir i invalida les pàgines de memòria quan es grava.

La interacció entre els hosts es porta a terme utilitzant un controlador de missatges a nivell de nucli transmès a través d'un socket TCP. S'observa que TCP / IP s'utilitza per simplificar la depuració i les proves durant el desenvolupament. Els desenvolupadors entenen que, en termes de seguretat i rendiment, TCP / IP no és la millor manera de transferir el contingut de les estructures de l'nucli i les pàgines de memòria entre els hosts. Tots els hosts que executen aplicacions distribuïdes han de tenir el mateix nivell de confiança. Després de l'estabilització dels algoritmes bàsics, s'aplicarà una manera de transport més eficient.

Des 2014, Popcorn s'ha desenvolupat com un projecte d'investigació per estudiar les possibilitats de crear aplicacions distribuïdes, els fils es poden executar en diferents nodes en sistemes informàtics heterogenis, en els quals els nuclis es poden combinar en funció de diverses arquitectures de conjunts d'ordres (Xeon / Xeon-Phi, ARM / x86, CPU / GPU / FPGA).

El conjunt de pegats proposat als desenvolupadors de el nucli de Linux només admet l'execució en hosts amb una CPU x86, Però també hi ha una versió més funcional de Popcorn Linux que permet que les aplicacions s'executin en hosts amb diferents arquitectures de CPU (x86 i ARM).

Per utilitzar Popcorn en entorns heterogenis, ha d'usar un compilador especialbasado en LLVM. Amb l'execució distribuïda en hosts amb la mateixa arquitectura, no es requereix la reconstrucció per un compilador separat.

A més, Podem notar l'anunci d'alguna cosa similar a el projecte Telefork amb la implementació de l'API prototip inicial per iniciar processos secundaris en altres ordinadors en el clúster (Com fork (), però transfereix el procés de ramificació a un altre ordinador).

El codi està escrit a Rust i fins ara permet clonar només els processos més simples que no fan servir recursos de sistema, com arxius. A l'realitzar una trucada de telefork, la memòria i les estructures relacionades amb el procés es clonen en un altre host que executa el controlador de servidor (telepad).

Usant ptrace, el reflex de la memòria de l'procés es serialitza i, juntament amb l'estat de el procés i els registres, es transfereix a un altre host. L'API també li permet guardar l'estat d'un procés en un arxiu i restaurar-ho a través d'ell.

font: https://lkml.org/


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.