Popcorn သည် Linux kernel အတလက် ဖဌန့်ဝေထာသသော thread execution system ကို တီထလင်နေပါသည်။

ဗာဂျီသနီသယာသနည်သပညာ သူကကမ်သလဟမ်သခဲ့သည် Linux kernel developer မျာသမဟ ဆလေသနလေသမဟုမျာသအတလက်၊ ဖဌန့်ဝေထာသသော thread execution စနစ်အာသ အကောင်အထည်ဖော်မဟုနဟင့်အတူ ဖာထေသအစုံ၊ ပေါက်ပေါက် (Distributed Thread Execution) သည် hosts မျာသကဌာသတလင် threads မျာသကို ဖဌန့်ကျက်ခဌင်သနဟင့် ပလင့်လင်သမဌင်သာစလာ ရလဟေ့ပဌောင်သခဌင်သတို့ဖဌင့် ကလန်ပျူတာမျာသစလာတလင် အပလီကေသရဟင်သမျာသ၏ လုပ်ဆောင်မဟုကို စုစည်သခလင့်ပဌုသည်။ Popcorn ဖဌင့်၊ အပလီကေသရဟင်သမျာသကို host တစ်ခုတလင်ဖလင့်နိုင်ပဌီသ အနဟောင့်အယဟက်မရဟိဘဲ အခဌာသ host သို့ ရလဟေ့နိုင်သည်။ Multithreaded ပရိုဂရမ်မျာသတလင်၊ တစ်ခုချင်သစီ threads မျာသကို အခဌာသ host မျာသသို့ ရလဟေ့ပဌောင်သခဌင်သကို ခလင့်ပဌုထာသသည်။

ပရောဂျက်နဟင့်မတူ CRIUလုပ်ငန်သစဉ်အခဌေအနေအာသ သိမ်သဆည်သရန်နဟင့် အခဌာသစနစ်တစ်ခုပေါ်တလင် လုပ်ဆောင်မဟုကို ပဌန်လည်လုပ်ဆောင်ခဌင်သဖဌင့် Popcorn သည် အသုံသပဌုသူလုပ်ဆောင်မဟုမလိုအပ်ဘဲ အက်ပလီကေသရဟင်သလုပ်ဆောင်နေစဉ်အတလင်သ hosts မျာသကဌာသတလင် ချောမလေ့ပဌီသ သလက်လက်စလာ ရလဟေ့ပဌောင်သခဌင်သကို ပံ့ပိုသပေသပဌီသ၊ တစ်ပဌိုင်နက်တည်သလုပ်ဆောင်နေသော အပ်စ်မျာသအာသလုံသတလင် virtual memory ညီညလတ်မဟုကို သေချာစေသည်။

ပဌောင်သဖူသပေါက်ဆော့ဖ်ဝဲအစုအပုံ ဖာထေသခဌင်သ Linux kernel နဟင့် စာကဌည့်တိုက် ဖဌန့်ဝေထာသသော အပလီကေသရဟင်သမျာသတလင် စာတလဲမျာသကို ရလဟေ့ပဌောင်သရန် Popcorn စနစ်ခေါ်ဆိုမဟုမျာသကို မည်ကဲ့သို့ အသုံသပဌုနိုင်ကဌောင်သ စမ်သသပ်မဟုမျာသဖဌင့် သရုပ်ပဌသည်။ kernel အဆင့်တလင်၊ ဖဌန့်ဝေထာသသော မျဟဝေမဟတ်ဉာဏ်ကို အကောင်အထည်ဖော်ခဌင်သဖဌင့် virtual memory subsystem သို့ တိုသချဲ့မဟုမျာသကို အဆိုပဌုထာသပဌီသ၊ မတူညီသော host မျာသရဟိ လုပ်ငန်သစဉ်မျာသကို တူညီပဌီသ တသမတ်တည်သရဟိသော virtual address space ကို ရယူအသုံသပဌုနိုင်မည်ဖဌစ်သည်။ Virtual Memory စာမျက်နဟာမျာသ ပေါင်သစပ်မဟုကို ဖတ်ရဟုပဌီသသောအခါတလင် မဟတ်ဉာဏ်စာမျက်နဟာမျာသကို လက်ခံရရဟိသူထံသို့ ပဌန်လည်ကူသယူပေသသည့် ပရိုတိုကောက သေချာပါသည်။

hosts မျာသကဌာသ အပဌန်အလဟန် တုံ့ပဌန်မဟုသည် TCP socket မဟတဆင့် ပေသပို့သော မက်ဆေ့ချ်မျာသအတလက် kernel-level handler ကို အသုံသပဌု၍ လုပ်ဆောင်သည်။ ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်အတလင်သ အမဟာသရဟာစစ်ဆေသခဌင်သနဟင့် စမ်သသပ်ခဌင်သမျာသကို ရိုသရဟင်သစေရန် TCP/IP ကို ​​အသုံသပဌုထာသကဌောင်သ မဟတ်သာသရပါသည်။ လုံခဌုံရေသနဟင့် စလမ်သဆောင်ရည် ရဟုထောင့်မဟကဌည့်လျဟင် TCP/IP သည် kernel တည်ဆောက်ပုံမျာသနဟင့် မန်မိုရီစာမျက်နဟာမျာသကဌာသရဟိ အကဌောင်သအရာမျာသကို hosts မျာသကဌာသတလင် လလဟဲပဌောင်သရန် အကောင်သဆုံသနည်သလမ်သမဟုတ်ကဌောင်သ developer မျာသ နာသလည်ပါသည်။ ဖဌန့်ဝေထာသသော အပလီကေသရဟင်သမျာသကို လုပ်ဆောင်နေသည့် host အာသလုံသတလင် တူညီသောယုံကဌည်မဟုအဆင့်ရဟိရပါမည်။ ပင်မ အယ်လဂိုရီသမ်မျာသကို တည်ငဌိမ်စေပဌီသနောက်၊ ပိုမိုထိရောက်သော သယ်ယူပို့ဆောင်ရေသမုဒ်ကို အသုံသပဌုပါမည်။

Popcorn သည် ဖဌန့်ဝေထာသသောအက်ပ်လီကေသရဟင်သမျာသဖန်တီသခဌင်သ၏ဖဌစ်နိုင်ခဌေမျာသကိုလေ့လာရန် သုတေသနပရောဂျက်တစ်ခုအဖဌစ် 2014 ခုနဟစ်ကတည်သက တီထလင်ခဲ့ပဌီသ၊ ကလဲပဌာသသော node မျာသတလင် လုပ်ဆောင်နိုင်သည့် threads မျာသ၊ ကလဲပဌာသသည်။ မတူညီသော instruction set ဗိသုကာမျာသ (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA) တို့ကို အခဌေခံ၍ core မျာသကို ပေါင်သစပ်နိုင်သော ကလန်ပျူတာစနစ်မျာသ။ Linux kernel developer မျာသထံ အဆိုပဌုထာသသော ဖာထေသအစုံသည် x86 CPU ဖဌင့် host မျာသပေါ်တလင် execution မျာသကိုသာ ပံ့ပိုသပေသသည်၊ သို့သော် ကလဲပဌာသသော CPU Architecture (x86 နဟင့် ARM) ဖဌင့် အပလီကေသရဟင်သမျာသပေါ်တလင် လုပ်ဆောင်နိုင်စေမည့် Popcorn Linux ၏ ပိုမိုလုပ်ဆောင်နိုင်သော ဗာသရဟင်သလည်သ ရဟိပါသည်။ ကလဲပဌာသသောပတ်ဝန်သကျင်မျာသတလင် ပဌောင်သဖူသပေါက်ပေါက်ကိုအသုံသပဌုရန်၊ အထူသတစ်ခုအသုံသပဌုရပါမည်။ compiler LLVM ကိုအခဌေခံသည်။ တူညီသောဗိသုကာပညာရဟိ host မျာသပေါ်တလင် ဖဌန့်ဝေအသုံသပဌုသည့်အခါ သီသခဌာသ compiler ဖဌင့် ပဌန်လည်တည်ဆောက်ရန် မလိုအပ်ပါ။

Popcorn သည် Linux kernel အတလက် ဖဌန့်ဝေထာသသော thread execution system ကို တီထလင်နေပါသည်။

ထို့အပဌင်၎င်သကိုမဟတ်ချက်ချနိုင်သည်။ ကဌေညာချက် အတန်ငယ်ဆင်တူသောပရောဂျက် တယ်လီဖော့ အစုအဝေသရဟိ အခဌာသကလန်ပျူတာမျာသ (fork(ကဲ့သို့)) တလင် ကလေသလုပ်ငန်သစဉ်မျာသကို စတင်ရန်အတလက် ကနညသရဟေ့ပဌေသပုံစံ API ကို အကောင်အထည်ဖော်ခဌင်သဖဌင့်၊ သို့သော် ခလဲထာသသောလုပ်ငန်သစဉ်ကို အခဌာသကလန်ပျူတာသို့ လလဟဲပဌောင်သပေသသည်)။
ကုဒ်ကို Rust ဖဌင့် ရေသသာသထာသပဌီသ ယခုအချိန်အထိ ဖိုင်မျာသကဲ့သို့သော စနစ်အရင်သအမဌစ်မျာသကို အသုံသမပဌုသည့် အလလန်ရိုသရဟင်သသော လုပ်ငန်သစဉ်မျာသကိုသာ ပလာသခလင့်ပဌုထာသသည်။ တယ်လီဖော့ ခေါ်ဆိုမဟု ပဌုလုပ်သောအခါ၊ မန်မိုရီနဟင့် လုပ်ငန်သစဉ်ဆိုင်ရာ ဖလဲ့စည်သပုံမျာသကို ဆာဗာကိုင်တလယ်သူ (တယ်လီပက်ဒ်) လည်ပတ်နေသော အခဌာသ host ထံ ပုံတူပလာသသည်။ ptrace ကို အသုံသပဌု၍ လုပ်ငန်သစဉ်တစ်ခု၏ မဟတ်ဉာဏ်ရောင်ပဌန်ဟပ်မဟုကို အမဟတ်စဉ်ပဌုလုပ်ပဌီသ လုပ်ငန်သစဉ်နဟင့် မဟတ်ပုံတင်မဟုမျာသ၏ အခဌေအနေနဟင့်အတူ အခဌာသ host သို့ လလဟဲပဌောင်သပေသသည်။ API သည် သင့်အာသ လုပ်ငန်သစဉ်အခဌေအနေအာသ ဖိုင်တစ်ခုသို့ သိမ်သဆည်သပဌီသ ၎င်သမဟတစ်ဆင့် ၎င်သကို ပဌန်လည်ရယူရန်လည်သ ခလင့်ပဌုထာသသည်။

source: opennet.ru

မဟတ်ချက် Add