Попкорн нь Линуксийн цөмд зориулсан тархсан урсгалын гүйцэтгэх системийг боловсруулж байна.

Виржиниа Техник санал болгосон Linux цөмийн хөгжүүлэгчдийн хэлэлцүүлэгт зориулж тархсан урсгалын гүйцэтгэлийн системийг хэрэгжүүлсэн засваруудын багц. попкорн (Distributed Thread Execution) нь хэд хэдэн компьютер дээр програмуудын гүйцэтгэлийг зохион байгуулах боломжийг олгодог бөгөөд хостуудын хооронд хэлхээг түгээх, ил тод шилжүүлэх. Popcorn-ийн тусламжтайгаар програмуудыг нэг хост дээр ажиллуулж, дараа нь тасалдалгүйгээр өөр хост руу шилжүүлэх боломжтой. Олон урсгалтай програмуудад тусдаа хэлхээг бусад хост руу шилжүүлэхийг зөвшөөрдөг.

Төслөөс ялгаатай CRIUПроцессын төлөвийг хадгалах, гүйцэтгэлийг өөр систем дээр үргэлжлүүлэхийг зөвшөөрснөөр Попкорн нь программыг гүйцэтгэх явцад хостуудын хооронд тасралтгүй, динамик шилжилтийг хангаж, хэрэглэгчийн үйлдэл шаарддаггүй бөгөөд зэрэгцээ хэлхээтэй бүх хостуудын виртуал санах ойн тогтвортой байдлыг хангадаг.

Попкорн програм хангамжийн стек хэлбэр засварууд Linux цөм рүү болон номын сан Попкорн системийн дуудлагыг тархсан програмууд дахь хэлхээг шилжүүлэхэд хэрхэн ашиглаж болохыг харуулсан туршилтуудын хамт. Цөмийн түвшинд виртуал санах ойн дэд системийн өргөтгөлүүдийг хуваарилсан хуваалцсан санах ойг хэрэгжүүлэхээр санал болгосон бөгөөд энэ нь өөр өөр хостууд дээрх процессуудад нийтлэг бөгөөд тууштай виртуал хаягийн орон зайд хандах боломжийг олгодог. Виртуал санах ойн хуудасны уялдаа холбоо нь санах ойн хуудсыг унших үед хост руу хуулбарлах, бичих үед санах ойн хуудсыг хүчингүй болгох протоколоор баталгааждаг.

Хостуудын хоорондын харилцан үйлчлэлийг TCP залгуураар дамжуулж буй мессежүүдэд цөмийн түвшний зохицуулагч ашиглан гүйцэтгэдэг. TCP/IP нь хөгжүүлэлтийн явцад дибаг хийх, туршилтыг хялбарчлахад ашигладаг болохыг тэмдэглэжээ. Хөгжүүлэгчид аюулгүй байдал, гүйцэтгэлийн үүднээс авч үзвэл TCP/IP нь цөмийн бүтэц, санах ойн хуудсуудын агуулгыг хостуудын хооронд дамжуулах хамгийн сайн арга биш гэдгийг ойлгодог. Тархсан програмуудыг ажиллуулж байгаа бүх хостууд ижил түвшний итгэлцэлтэй байх ёстой. Үндсэн алгоритмуудыг тогтворжуулсны дараа илүү үр ашигтай тээврийн хэлбэрийг ашиглах болно.

Попкорн нь 2014 оноос хойш тархсан програмуудыг үүсгэх боломжийг судлах судалгааны төсөл болгон хөгжүүлж байна. нэг төрлийн бус өөр өөр зааврын багц архитектур (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA) дээр суурилсан цөмүүдийг нэгтгэх боломжтой тооцоолох системүүд. Линуксийн цөмийн хөгжүүлэгчдэд санал болгож буй засваруудын багц нь зөвхөн x86 CPU-тэй хостууд дээр ажиллахыг дэмждэг боловч Popcorn Linux-ийн илүү ажиллагаатай хувилбар байдаг бөгөөд энэ нь өөр өөр CPU архитектур (x86 ба ARM) бүхий хостууд дээр програмуудыг ажиллуулах боломжийг олгодог. Попкорныг янз бүрийн орчинд ашиглахын тулд та тусгай хэрэглээг ашиглах ёстой хөрвүүлэгч LLVM дээр суурилсан. Ижил архитектуртай хостууд дээр тархсан байдлаар ажиллах үед тусдаа хөрвүүлэгч ашиглан дахин бүтээх шаардлагагүй.

Попкорн нь Линуксийн цөмд зориулсан тархсан урсгалын гүйцэтгэх системийг боловсруулж байна.

Үүнээс гадна үүнийг тэмдэглэж болно зарлал бага зэрэг төстэй төсөл Телефорк Кластерт байгаа бусад компьютерууд дээр хүүхдийн процессуудыг эхлүүлэх анхны загвар API-ийг хэрэгжүүлснээр (салаа() гэх мэт, гэхдээ салаа процессыг өөр компьютерт шилжүүлдэг).
Код нь Rust хэл дээр бичигдсэн бөгөөд одоогоор файл гэх мэт системийн нөөцийг ашигладаггүй маш энгийн процессуудыг хувилах боломжийг олгодог. Telefork дуудлага хийх үед санах ой болон процесстой холбоотой бүтцийг сервер зохицуулагч (телепад) ажиллуулж байгаа өөр хост руу хувилдаг. ptrace ашиглан процессын санах ойн тусгалыг цуваа болгож, процесс болон бүртгэлийн төлөвийн хамт өөр хост руу шилжүүлдэг. API нь танд процессын төлөвийг файлд хадгалах, түүгээр дамжуулан сэргээх боломжийг олгодог.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх