Amazon သည် Firecracker 1.0 virtualization system ကိုထုတ်ဝေခဲ့သည်။

Amazon သည် ၎င်း၏ Virtual Machine Monitor (VMM) ၊ Firecracker 1.0.0 ၏ ထင်ရှားသော ဖြန့်ချိမှုတစ်ခုကို ထုတ်ဝေခဲ့ပြီး virtual machines များကို အနည်းငယ်သာ အသုံးပြု၍ လုပ်ဆောင်နိုင်ခဲ့သည်။ Firecracker သည် ChromeOS တွင် Linux နှင့် Android အပလီကေးရှင်းများကိုအသုံးပြုရန် Google မှအသုံးပြုသည့် CrosVM ပရောဂျက်၏လမ်းဆုံတစ်ခုဖြစ်သည်။ Firecracker သည် AWS Lambda နှင့် AWS Fargate ပလပ်ဖောင်းများ၏ စွမ်းဆောင်ရည်နှင့် စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန်အတွက် Amazon Web Services မှ ဖန်တီးထားပါသည်။ Firecracker ကုဒ်ကို Rust ဖြင့်ရေးသားထားပြီး Apache 2.0 လိုင်စင်အောက်တွင် လိုင်စင်ရထားသည်။

Firecracker သည် microVM ဟုခေါ်သော ပေါ့ပါးသော virtual စက်များကို ပေးဆောင်သည်။ ပြီးပြည့်စုံသော microVM သီးခြားခွဲထုတ်ခြင်းအတွက်၊ KVM hypervisor ကိုအခြေခံ၍ ဟာ့ဒ်ဝဲ virtualization နည်းပညာများကို အသုံးပြုသည်၊ သို့သော် တစ်ချိန်တည်းတွင် သမားရိုးကျကွန်တိန်နာများအဆင့်တွင် စွမ်းဆောင်ရည်နှင့် ပြောင်းလွယ်ပြင်လွယ်ကို ပေးပါသည်။ အဆိုပါစနစ်ကို x86_64 နှင့် ARM64 ဗိသုကာများအတွက်ရရှိနိုင်ပြီး Intel Skylake၊ Intel Cascade Lake၊ AMD Zen2 နှင့် ARM64 Neoverse N1 မိသားစုတို့မှ CPU များတွင် စမ်းသပ်ထားသည်။ Kata Containers၊ Weaveworks Ignite နှင့် containerd (runtime firecracker-containerd မှ ပံ့ပိုးပေးသည်) ကဲ့သို့သော runtime container ကွန်တိန်နာစနစ်များတွင် Firecracker ကို ပေါင်းစပ်ရန်အတွက် ကိရိယာများကို ပံ့ပိုးပေးထားပါသည်။

Amazon သည် Firecracker 1.0 virtualization system ကိုထုတ်ဝေခဲ့သည်။

virtual machines အတွင်း လုပ်ဆောင်နေသည့် ဆော့ဖ်ဝဲလ်ပတ်ဝန်းကျင်ကို ဖယ်ရှားလိုက်ပြီး အစိတ်အပိုင်း အနည်းငယ်မျှသာ ပါဝင်ပါသည်။ မှတ်ဉာဏ်ကို ချွေတာရန်၊ စတင်ချိန်ကို လျှော့ချရန်နှင့် ပတ်ဝန်းကျင်တွင် လုံခြုံရေးကို တိုးမြှင့်ရန်အတွက်၊ ဖယ်ရှားလိုက်သော Linux kernel ကို စတင်လိုက်သည် (kernels 4.14 နှင့် 5.10 ကို ပံ့ပိုးထားသည်)၊ လုပ်ဆောင်ချက် လျှော့ချခြင်းနှင့် ဖယ်ရှားထားသော စက်ပံ့ပိုးမှုအပါအဝင် မလိုအပ်သောအရာအားလုံးကို ဖယ်ထုတ်ထားသည်။

ဖယ်ထုတ်ထားသော kernel ဖြင့် လုပ်ဆောင်သောအခါ၊ ကွန်တိန်နာတစ်ခုနှင့် နှိုင်းယှဉ်ပါက အပိုဆောင်းမှတ်ဉာဏ်သုံးစွဲမှုသည် 5 MB ထက်နည်းသည်။ microVM စတင်သည့်အချိန်မှ နှောင့်နှေးမှုသည် အပလီကေးရှင်းလုပ်ဆောင်မှုစတင်ချိန်အထိ 6 မှ 60 ms (ပျမ်းမျှ 12 ms) မှ အကွာအဝေးသို့ ဖော်ပြထားသည်မှာ နှောင့်နှေးမှုသည် host တစ်ခုတွင် တစ်စက္ကန့်လျှင် 180 ပတ်ဝန်းကျင်အထိ ပြင်းထန်မှုရှိသော virtual machines အသစ်များကို ဖန်တီးနိုင်စေပါသည်။ CPU cores 36 လုံး ပါဝင်ပါတယ်။

အသုံးပြုသူနေရာရှိ အတုအယောင်ပတ်ဝန်းကျင်များကို စီမံခန့်ခွဲရန်၊ နောက်ခံလုပ်ငန်းစဉ် Virtual Machine Manager သည် အလုပ်လုပ်သည်၊ microVM ကိုဖွဲ့စည်းခြင်း၊ စတင်ခြင်းနှင့် ရပ်တန့်ခြင်း၊ CPU နမူနာပုံစံများ (C3 သို့မဟုတ် T2) ကိုရွေးချယ်ခြင်း၊ ပရိုဆက်ဆာများ (vCPU) အရေအတွက်ကိုသတ်မှတ်ခြင်းကဲ့သို့သော RESTful API ကိုပေးဆောင်သည့် RESTful API ကိုလုပ်ဆောင်ပါသည်။ နှင့် မမ်မိုရီ အရွယ်အစား၊ ကွန်ရက်ချိတ်ဆက်မှုများနှင့် disk partitions များကို ပေါင်းထည့်ခြင်း၊ ဖြတ်သန်းမှု နှင့် လုပ်ဆောင်ချက်များ၏ ပြင်းထန်မှုအပေါ် ကန့်သတ်ချက်များ သတ်မှတ်ခြင်း၊ အရင်းအမြစ်များ မလုံလောက်ပါက နောက်ထပ် memory နှင့် CPU ပါဝါကို ပံ့ပိုးပေးပါသည်။

ကွန်တိန်နာများအတွက် ပိုမိုနက်ရှိုင်းသော သီးခြားအလွှာတစ်ခုအဖြစ် အသုံးပြုခြင်းအပြင် Firecracker သည် FaaS (Function as a Service) စနစ်များကို ပါဝါသုံးရန်အတွက်လည်း သင့်လျော်ပြီး သေးငယ်သော တစ်ဉီးချင်းစီကို ပြင်ဆင်သည့်အဆင့်တွင် ဆာဗာမဲ့ကွန်ပြူတာပုံစံကို ပေးဆောင်သည့် ဖွံ့ဖြိုးတိုးတက်မှုပုံစံကို ပံ့ပိုးပေးပါသည်။ လုပ်ဆောင်ချက်တစ်ခုစီသည် သီးခြားဖြစ်ရပ်တစ်ခုကို ကိုင်တွယ်ပြီး ပတ်ဝန်းကျင်ကို ရည်ညွှန်းခြင်းမရှိဘဲ သီးခြားလုပ်ဆောင်မှုအတွက် ဒီဇိုင်းထုတ်ထားသည့် လုပ်ဆောင်ချက်များ (နိုင်ငံမဲ့၊ ရလဒ်သည် ယခင်အခြေအနေနှင့် ဖိုင်စနစ်၏ အကြောင်းအရာများပေါ်တွင်မူတည်ခြင်းမရှိပါ)။ လိုအပ်ချက်များ ပေါ်ပေါက်ပြီး ဖြစ်ရပ်ကို လုပ်ဆောင်ပြီးသည့်နောက် ၎င်းတို့၏ လုပ်ငန်းကို ပြီးမြောက်သောအခါမှသာ လုပ်ဆောင်ချက်များကို စတင်ဆောင်ရွက်ပါသည်။ FaaS ပလပ်ဖောင်းကိုယ်တိုင်က ပြင်ဆင်ထားသောလုပ်ဆောင်ချက်များကို လက်ခံဆောင်ရွက်ပေးသည်၊ စီမံခန့်ခွဲမှုကိုစီစဉ်ပေးပြီး ပြင်ဆင်ထားသောလုပ်ဆောင်ချက်များကိုလုပ်ဆောင်ရန် လိုအပ်သောပတ်ဝန်းကျင်များကို အတိုင်းအတာများသေချာစေသည်။

ထို့အပြင်၊ Intel၊ Alibaba၊ Amazon၊ Google နှင့် Red Hat တို့အပြင် ပူးတွဲ Rust-VMM ပရောဂျက်၏ အစိတ်အပိုင်းများကို အခြေခံ၍ တည်ဆောက်ထားသည့် Cloud Hypervisor 21.0 hypervisor ၏ Intel ထုတ်ဝေမှုကိုလည်း မှတ်သားနိုင်ပါသည်။ Rust-VMM ကို Rust ဘာသာစကားဖြင့် ရေးသားထားပြီး အလုပ်-သတ်သတ်မှတ်မှတ် hypervisors များကို ဖန်တီးနိုင်စေပါသည်။ Cloud Hypervisor သည် KVM ၏ ထိပ်တွင် လုပ်ဆောင်နေသော အဆင့်မြင့် virtual machine monitor (VMM) ကို ပံ့ပိုးပေးကာ cloud-native လုပ်ဆောင်စရာများအတွက် အကောင်းဆုံးဖြစ်အောင် လုပ်ဆောင်ပေးသည့် အဆိုပါ hypervisor တစ်ခုဖြစ်သည်။ ပရောဂျက်ကုဒ်ကို Apache 2.0 လိုင်စင်အောက်တွင် ရနိုင်ပါသည်။

Cloud Hypervisor သည် virtio-based paravirtualized ကိရိယာများကို အသုံးပြု၍ ခေတ်မီ Linux ဖြန့်ဝေမှုများကို လုပ်ဆောင်ရန် အာရုံစိုက်ထားသည်။ ဖော်ပြခဲ့သည့် အဓိကရည်ရွယ်ချက်များထဲတွင်- တုံ့ပြန်နိုင်စွမ်းမြင့်မားမှု၊ မှတ်ဉာဏ်သုံးစွဲမှုနည်းပါးမှု၊ စွမ်းဆောင်ရည်မြင့်မားမှု၊ ရိုးရှင်းသောဖွဲ့စည်းမှုပုံစံနှင့် ဖြစ်နိုင်သည့်တိုက်ခိုက်မှု vector များကို လျှော့ချရေးတို့ဖြစ်သည်။ Emulation ပံ့ပိုးမှုအား အနိမ့်ဆုံးတွင်ထားရှိထားပြီး paravirtualization ကို အာရုံစိုက်ထားသည်။ x86_64 နှင့် AArch64 ဗိသုကာများကို ပံ့ပိုးထားသည်။ ဧည့်သည်စနစ်များအတွက်၊ Linux ၏ 64-bit တည်ဆောက်မှုများကိုသာ လက်ရှိတွင် ပံ့ပိုးပေးထားသည်။ CPU၊ Memory၊ PCI နှင့် NVDIMM တို့ကို စည်းဝေးပွဲအဆင့်တွင် ပြင်ဆင်သတ်မှတ်ထားသည်။ ဆာဗာများအကြား virtual machines များကို ရွှေ့ပြောင်းနိုင်သည်။

Cloud Hypervisor ၏ ဗားရှင်းအသစ်တွင် ပတ်ဝန်းကျင်ကို အလျင်အမြန် အပ်ဒိတ်လုပ်ရန် (Live Upgrade) ကို အသုံးပြုနိုင်သည့် ထိရောက်သော ဒေသတွင်း တိုက်ရိုက် ရွှေ့ပြောင်းခြင်း လုပ်ဆောင်နိုင်စွမ်း ပါဝင်သည်။ မုဒ်အသစ်သည် ရင်းမြစ်နှင့် ပစ်မှတ်ပတ်ဝန်းကျင်များ၏ မမ်မိုရီနှိုင်းယှဉ်မှုကို ပိတ်ထားခြင်းဖြင့် ခွဲခြားသိမြင်နိုင်ပြီး၊ ၎င်းသည် ပျံသန်းနေစဉ် အပ်ဒိတ်လုပ်ဆောင်မှု၏အချိန်ကို 3 စက္ကန့်မှ 50 ms မှ 5.15 ms အထိ လျှော့ချပေးသည်။ အကြံပြုထားသော Linux kernel သည် 5.14 (XNUMX တွင် virtio-net နှင့် ပြဿနာများရှိသည်)။

source: opennet.ru

မှတ်ချက် Add