Popcorn sedang membangunkan sistem pelaksanaan benang teragih untuk kernel Linux.

Virginia Tech ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» untuk perbincangan oleh pembangun kernel Linux, satu set patch dengan pelaksanaan sistem pelaksanaan benang teragih Popcorn (Pelaksanaan Benang Teragih), yang membolehkan anda mengatur pelaksanaan aplikasi pada beberapa komputer dengan pengedaran dan pemindahan telus benang antara hos. Dengan Popcorn, aplikasi boleh dilancarkan pada satu hos dan kemudian dipindahkan ke hos lain tanpa gangguan. Dalam program berbilang benang, penghijrahan urutan individu ke hos lain dibenarkan.

Berbeza dengan projek itu CriuDengan membenarkan keadaan proses disimpan dan pelaksanaan disambung semula pada sistem lain, Popcorn menyediakan penghijrahan yang lancar dan dinamik antara hos semasa pelaksanaan aplikasi, tidak memerlukan tindakan pengguna dan memastikan konsistensi memori maya merentas semua hos yang menjalankan urutan serentak.

Borang tindanan perisian popcorn tompok kepada kernel Linux dan Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° dengan ujian yang menunjukkan cara panggilan sistem Popcorn boleh digunakan untuk memindahkan urutan dalam aplikasi yang diedarkan. Pada peringkat kernel, sambungan kepada subsistem memori maya telah dicadangkan dengan pelaksanaan memori kongsi yang diedarkan, yang membolehkan proses pada hos yang berbeza untuk mengakses ruang alamat maya yang sama dan konsisten. Koheren halaman memori maya dipastikan oleh protokol yang mereplikasi halaman memori kepada hos apabila ia dibaca dan tidak sah halaman memori apabila ditulis.

Interaksi antara hos dijalankan menggunakan pengendali peringkat kernel untuk mesej yang dihantar melalui soket TCP. Adalah diperhatikan bahawa TCP/IP digunakan untuk memudahkan penyahpepijatan dan ujian semasa proses pembangunan. Pembangun memahami bahawa, dari perspektif keselamatan dan prestasi, TCP/IP bukanlah cara terbaik untuk memindahkan kandungan struktur kernel dan halaman memori antara hos. Semua hos yang menjalankan aplikasi yang diedarkan mesti mempunyai tahap kepercayaan yang sama. Selepas penstabilan algoritma utama, mod pengangkutan yang lebih cekap akan digunakan.

Popcorn telah dibangunkan sejak 2014 sebagai projek penyelidikan untuk mengkaji kemungkinan mencipta aplikasi yang diedarkan, benang yang boleh dilaksanakan pada nod yang berbeza dalam heterogen sistem pengkomputeran yang boleh menggabungkan teras berdasarkan seni bina set arahan yang berbeza (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Set patch yang dicadangkan kepada pembangun kernel Linux hanya menyokong pelaksanaan pada hos dengan CPU x86, tetapi terdapat juga versi Popcorn Linux yang lebih berfungsi, yang membolehkan aplikasi dijalankan pada hos dengan seni bina CPU yang berbeza (x86 dan ARM). Untuk menggunakan Popcorn dalam persekitaran heterogen, anda mesti menggunakan khas penyusun berdasarkan LLVM. Apabila dijalankan secara teragih pada hos dengan seni bina yang sama, membina semula dengan pengkompil berasingan tidak diperlukan.

Popcorn sedang membangunkan sistem pelaksanaan benang teragih untuk kernel Linux.

Di samping itu, ia boleh diperhatikan pengumuman projek yang agak serupa Telefork dengan pelaksanaan API prototaip awal untuk melancarkan proses anak pada komputer lain dalam kelompok (seperti fork(), tetapi memindahkan proses bercabang ke komputer lain).
Kod ini ditulis dalam Rust dan setakat ini hanya membenarkan pengklonan proses yang sangat mudah yang tidak menggunakan sumber sistem seperti fail. Apabila panggilan telefork dibuat, memori dan struktur berkaitan proses diklonkan ke hos lain yang menjalankan pengendali pelayan (telepad). Menggunakan ptrace, pantulan memori proses disiri dan, bersama-sama dengan keadaan proses dan daftar, dipindahkan ke hos lain. API juga membolehkan anda menyimpan keadaan proses ke fail dan memulihkannya melaluinya.

Sumber: opennet.ru

Tambah komen