Ang popcorn nag-develop og usa ka distributed thread execution system alang sa Linux kernel.

Virginia Tech gisugyot para sa diskusyon sa mga Linux kernel developers, usa ka set sa mga patch nga adunay pagpatuman sa usa ka distributed thread execution system popcorn (Distributed Thread Execution), nga nagtugot kanimo sa pag-organisar sa pagpatuman sa mga aplikasyon sa daghang mga kompyuter nga adunay pag-apod-apod ug transparent nga paglalin sa mga thread tali sa mga host. Uban sa Popcorn, ang mga aplikasyon mahimong ilunsad sa usa ka host ug dayon ibalhin sa lain nga host nga wala’y hunong. Sa multithreaded nga mga programa, ang paglalin sa indibidwal nga mga thread ngadto sa ubang mga host gitugot.

Dili sama sa proyekto CRIUPinaagi sa pagtugot sa estado sa proseso nga ma-save ug ang pagpatuman gipadayon sa laing sistema, ang Popcorn naghatag og walay hunong ug dinamikong paglalin tali sa mga host sa panahon sa pagpatuman sa aplikasyon, nga wala magkinahanglan og aksyon sa user ug pagsiguro sa pagkamakanunayon sa virtual nga memorya sa tanang mga host nga nagdagan sa dungan nga mga thread.

Popcorn software stack nga porma mga patsa sa Linux kernel ug librarya nga adunay mga pagsulay nga nagpakita kung giunsa magamit ang mga tawag sa sistema sa Popcorn aron ibalhin ang mga hilo sa gipang-apod-apod nga mga aplikasyon. Sa lebel sa kernel, ang mga extension sa virtual memory subsystem gisugyot uban ang pagpatuman sa giapod-apod nga shared memory, nga nagtugot sa mga proseso sa lain-laing mga host nga maka-access sa usa ka komon ug makanunayon nga virtual address space. Ang pagkahiusa sa panid sa panumduman sa virtual gisiguro pinaagi sa usa ka protocol nga nagsundog sa mga panid sa panumduman sa host kung kini gibasa ug gi-invalidate ang mga panid sa panumduman kung gisulat.

Ang interaksyon tali sa mga host gihimo gamit ang kernel-level handler para sa mga mensahe nga gipasa pinaagi sa TCP socket. Namatikdan nga ang TCP/IP gigamit sa pagpayano sa pag-debug ug pagsulay sa panahon sa proseso sa pag-uswag. Nakasabot ang mga developers nga, gikan sa panglantaw sa seguridad ug pasundayag, ang TCP/IP dili ang pinakamaayong paagi sa pagbalhin sa mga sulod sa mga istruktura sa kernel ug mga pahina sa memorya tali sa mga host. Ang tanan nga mga host nga nagpadagan sa gipang-apod-apod nga mga aplikasyon kinahanglan adunay parehas nga lebel sa pagsalig. Pagkahuman sa pag-stabilize sa mga nag-unang algorithm, usa ka labi ka episyente nga paagi sa transportasyon ang gamiton.

Ang popcorn nag-uswag sukad sa 2014 isip usa ka proyekto sa panukiduki aron tun-an ang mga posibilidad sa paghimo sa gipang-apod-apod nga mga aplikasyon, ang mga hilo nga mahimong ipatuman sa lainlaing mga node sa heterogeneous mga sistema sa pag-compute nga mahimong maghiusa sa mga core base sa lainlaing mga arkitektura nga set sa panudlo (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Ang hugpong sa mga patch nga gisugyot sa mga developer sa Linux kernel nagsuporta lamang sa pagpatuman sa mga host nga adunay x86 CPU, apan adunay usa usab ka mas functional nga bersyon sa Popcorn Linux, nga nagtugot sa mga aplikasyon nga modagan sa mga host nga adunay lainlaing mga arkitektura sa CPU (x86 ug ARM). Aron magamit ang Popcorn sa mga heterogeneous nga palibot, kinahanglan nimo nga mogamit usa ka espesyal tigsama base sa LLVM. Alang sa giapod-apod nga pagpatuman sa mga host nga adunay parehas nga arkitektura, dili kinahanglan ang pagtukod pag-usab gamit ang usa ka bulag nga compiler.

Ang popcorn nag-develop og usa ka distributed thread execution system alang sa Linux kernel.

Dugang pa, kini mahimong matikdan pahibalo medyo parehas nga proyekto Telefork uban ang pagpatuman sa usa ka inisyal nga prototype nga API alang sa paglansad sa mga proseso sa bata sa ubang mga computer sa cluster (sama sa fork(), apan gibalhin ang forked nga proseso ngadto sa laing computer).
Ang kodigo gisulat sa Rust ug hangtod karon gitugotan lamang ang pag-clone sa yano kaayo nga mga proseso nga wala mogamit mga kapanguhaan sa sistema sama sa mga file. Kung ang usa ka tawag sa telefork gihimo, ang memorya ug mga istruktura nga may kalabutan sa proseso gi-clone sa lain nga host nga nagpadagan sa tigdumala sa server (telepad). Gamit ang ptrace, ang pagpamalandong sa panumduman sa usa ka proseso gi-serialize ug, kauban ang kahimtang sa proseso ug mga rehistro, gibalhin sa lain nga host. Gitugotan ka usab sa API nga i-save ang estado sa proseso sa usa ka file ug ibalik kini pinaagi niini.

Source: opennet.ru

Idugang sa usa ka comment