MIT မှ CPU load balancer အသစ်

Shenango စနစ်ကို ဒေတာစင်တာများတွင် အသုံးပြုရန် စီစဉ်ထားသည်။

MIT မှ CPU load balancer အသစ်
/ ဓာတ်ပုံ မာကို verch BY CC ကို

ဝန်ဆောင်မှုပေးသူတစ်ဦး၏အဆိုအရ, ဒေတာစင်တာများ အသုံးပြုသည် ရရှိနိုင်သော ကွန်ပျူတာစွမ်းအား၏ 20-40% သာရှိသည်။ မြင့်မားသော loads တွင်ဤညွှန်ပြချက် 60% အထိရောက်ရှိနိုင်ပါတယ်. အရင်းအမြစ်များ ဖြန့်ကျက်ခြင်းသည် "ဖုတ်ကောင်ဆာဗာများ" ဟုခေါ်သော ပေါ်ပေါက်လာစေသည်။ ဒါတွေက အချိန်အများစုကို ပျင်းရိပြီး စွမ်းအင်ဖြုန်းတီးတဲ့ စက်တွေပါ။ ယနေ့ ကမ္ဘာပေါ်ရှိ ဆာဗာများ၏ 30% ရှိသည်။ အလုပ်မရှိ၊တစ်နှစ်လျှင် ဒေါ်လာ ၃၀ ဘီလီယံဖိုး လျှပ်စစ်ဓာတ်အား သုံးစွဲနေသည်။

MIT သည် ကွန်ပြူတာအရင်းအမြစ်များကို ထိရောက်စွာအသုံးပြုခြင်းအား တိုက်ဖျက်ရန် ဆုံးဖြတ်ခဲ့သည်။

အင်ဂျင်နီယာအဖွဲ့ တီထွင်ခဲ့သည် Shenango ဟုခေါ်သော ပရိုဆက်ဆာ load balancing စနစ်။ ၎င်း၏ရည်ရွယ်ချက်မှာ task buffer ၏အခြေအနေကိုစောင့်ကြည့်ရန်နှင့် (CPU အချိန်မရရှိနိုင်သော) ပိတ်ဆို့နေသောလုပ်ငန်းစဉ်များကိုအခမဲ့စက်များသို့ပြန်လည်ဖြန့်ဝေရန်ဖြစ်သည်။

Shenango ဘယ်လိုအလုပ်လုပ်လဲ။

Shenango သည် Rust နှင့် C++ bindings ပါရှိသော C ရှိ Linux စာကြည့်တိုက်တစ်ခုဖြစ်သည်။ ပရောဂျက်ကုဒ်နှင့် စမ်းသပ်မှုလျှောက်လွှာများကို ထုတ်ပြန်ထားသည်။ သိုလှောင်မှုများ GitHub တွင်

ဖြေရှင်းချက်သည် multiprocessor စနစ်၏ သီးခြား core တစ်ခုပေါ်တွင် လုပ်ဆောင်သည့် IOKernel algorithm ကို အခြေခံထားသည်။ ၎င်းသည် framework ကို အသုံးပြု၍ CPU တောင်းဆိုမှုများကို စီမံခန့်ခွဲသည်။ DPDKအပလီကေးရှင်းများသည် ကွန်ရက်စက်ပစ္စည်းများနှင့် တိုက်ရိုက်ဆက်သွယ်နိုင်စေမည့်၊

IOKernel သည် မည်သည့် kernel များကို သီးခြားလုပ်ငန်းတစ်ခုသို့ လွှဲအပ်ရန် ဆုံးဖြတ်သည် ။ algorithm သည် cores မည်မျှ လိုအပ်မည်ကို ဆုံးဖြတ်သည်။ လုပ်ငန်းစဉ်တစ်ခုစီအတွက်၊ ပင်မ cores (အာမခံချက်) နှင့် အပိုဆောင်းအရာများ (burstable) ကို ဆုံးဖြတ်သည် - CPU သို့ တောင်းဆိုမှုအရေအတွက် သိသိသာသာ တိုးလာသောအခါ နောက်ပိုင်းတွင် ၎င်းကို စတင်လုပ်ဆောင်ပါသည်။

IOKernel တောင်းဆိုမှုတန်းစီကို စီစဉ်သတ်မှတ်ထားသည်။ ring ကြားခံ. XNUMX မိုက်ခရိုစက္ကန့်တိုင်း၊ အယ်လဂိုရီသမ်သည် core တွင်သတ်မှတ်ပေးထားသောအလုပ်များအားလုံးကိုပြီးမြောက်ခြင်းရှိမရှိစစ်ဆေးသည်။ ထိုသို့ပြုလုပ်ရန်၊ ၎င်းသည် ကြားခံခေါင်း၏ လက်ရှိတည်နေရာကို ၎င်း၏အမြီး၏ယခင်အနေအထားနှင့် နှိုင်းယှဉ်သည်။ ယခင်စစ်ဆေးသည့်အချိန်တွင် အမြီးသည် တန်းစီနေပြီဖြစ်ကြောင်း တွေ့ရှိရပါက၊ စနစ်သည် ကြားခံဝန်ပိုအားကို မှတ်သားပြီး လုပ်ငန်းစဉ်အတွက် နောက်ထပ် core တစ်ခုကို ခွဲဝေပေးပါသည်။

ဝန်ကို ဖြန့်ဝေသည့်အခါ တူညီသောလုပ်ငန်းစဉ်ကို အစောပိုင်းက လုပ်ဆောင်ခဲ့ပြီး ကက်ရှ်တွင် တစ်စိတ်တစ်ပိုင်းကျန်နေခဲ့သည် သို့မဟုတ် idle cores များအတွက် ဦးစားပေးဖြစ်သည်။

MIT မှ CPU load balancer အသစ်

Shenango သည် ချဉ်းကပ်မှုကို ယူသည်။ ခိုးယူအလုပ်. အက်ပလီကေးရှင်းတစ်ခုလည်ပတ်ရန် ခွဲဝေပေးထားသည့် cores များသည် တစ်ခုနှင့်တစ်ခုလုပ်ဆောင်ရမည့်အလုပ်အရေအတွက်ကို စောင့်ကြည့်သည်။ အကယ်၍ ပင်မတစ်ခုသည် အခြားအရာများရှေ့တွင် ၎င်း၏အလုပ်များစာရင်းကို အပြီးသတ်ပါက၊ ၎င်းသည် ၎င်း၏အိမ်နီးနားချင်းများထံမှ ဝန်တစ်စိတ်တစ်ပိုင်းကို “သက်သာရာရစေသည်” ဖြစ်သည်။

အားသာချက်များနှင့်အားနည်းချက်များကို

အပေါ် အရ MIT၊ Shenango မှ အင်ဂျင်နီယာများသည် တစ်စက္ကန့်လျှင် တောင်းဆိုချက်ငါးသန်းကို ဆောင်ရွက်ပေးနိုင်ပြီး ပျမ်းမျှတုံ့ပြန်ချိန် ၃၇ မိုက်ခရိုစက္ကန့်ကို ထိန်းသိမ်းထားနိုင်သည်။ အချို့သောကိစ္စများတွင် နည်းပညာသည် ဒေတာစင်တာများရှိ ပရိုဆက်ဆာများ၏ အသုံးချမှုနှုန်းကို 37% အထိ တိုးမြှင့်နိုင်သည်ဟု ကျွမ်းကျင်သူများက ဆိုသည်။ ရလဒ်အနေဖြင့် ဒေတာစင်တာအော်ပရေတာများသည် ဆာဗာများဝယ်ယူခြင်းနှင့် ပြုပြင်ထိန်းသိမ်းခြင်းတွင် သက်သာနိုင်မည်ဖြစ်သည်။

ဖြေရှင်းချက်အလားအလာ အမှတ် အခြားတက္ကသိုလ်များမှ ကျွမ်းကျင်သူများ။ ကိုရီးယားအင်စတီကျုမှ ပါမောက္ခတစ်ဦး၏ ပြောကြားချက်အရ MIT စနစ်သည် ဝဘ်ဝန်ဆောင်မှုများတွင် နှောင့်နှေးမှုများကို လျှော့ချနိုင်လိမ့်မည်ဖြစ်ကြောင်း သိရသည်။ ဥပမာအားဖြင့်၊ ၎င်းသည်အွန်လိုင်းစတိုးများတွင်အသုံးဝင်လိမ့်မည်။ အရောင်းရက်များတွင် စာမျက်နှာဖွင့်ရာတွင် ဒုတိယနှောင့်နှေးမှုပင်ရှိသေးသည်။ приводит ဆိုက်ကြည့်ရှုမှုအရေအတွက် 11% ကျဆင်းသွားစေရန်။ Prompt load Distribution သည် သုံးစွဲသူများကို ပိုမိုဝန်ဆောင်မှုပေးနိုင်မည်ဖြစ်သည်။

နည်းပညာတွင် အားနည်းချက်များရှိနေသေးသည် - ၎င်းသည် multiprocessor ကိုမထောက်ပံ့ပါ။ NUMA- chips များကို မတူညီသော memory module များနှင့် ချိတ်ဆက်ထားပြီး အချင်းချင်း "မဆက်သွယ်ပါ" ဟူသော စနစ်များ။ ဤကိစ္စတွင်၊ IOKernel သည် သီးခြားပရိုဆက်ဆာအုပ်စု၏ လုပ်ဆောင်ချက်ကို ထိန်းညှိနိုင်သော်လည်း ဆာဗာချစ်ပ်များအားလုံးကို မဟုတ်ပါ။

MIT မှ CPU load balancer အသစ်
/ ဓာတ်ပုံ တိ Reckmann BY CC ကို

အလားတူနည်းပညာများ

အခြားပရိုဆက်ဆာဝန်ချိန်ခွင်လျှာစနစ် Arachne ပါဝင်သည်။ ၎င်းသည် စတင်သောအခါတွင် အက်ပလီကေးရှင်းတစ်ခု၏ cores မည်မျှလိုအပ်မည်ကို တွက်ချက်ပြီး ဤအညွှန်းအတိုင်း လုပ်ငန်းစဉ်များကို ဖြန့်ဝေပေးသည်။ စာရေးသူများအဆိုအရ Arachne ရှိ application တစ်ခု၏အမြင့်ဆုံး latency သည် 10 microseconds ခန့်ဖြစ်သည်။

အဆိုပါနည်းပညာကို Linux အတွက် C++ စာကြည့်တိုက်အဖြစ် အကောင်အထည်ဖော်ထားပြီး ၎င်း၏အရင်းအမြစ်ကုဒ်ကို တွင် ရရှိနိုင်ပါသည်။ GitHub.

နောက်ထပ် ဟန်ချက်ညီသောကိရိယာမှာ ZygOS ဖြစ်သည်။ Shenango ကဲ့သို့ပင်၊ နည်းပညာသည် လုပ်ငန်းစဉ်များကို ပြန်လည်ဖြန့်ဝေရန်အတွက် အလုပ်ခိုးယူသည့်နည်းလမ်းကို အသုံးပြုသည်။ ZygOS ၏စာရေးဆရာများအဆိုအရ၊ tool ကိုအသုံးပြုသည့်အခါပျမ်းမျှအပလီကေးရှင်း၏ကြာချိန်သည် 150 microseconds ခန့်ရှိပြီးအမြင့်ဆုံးမှာ 450 microseconds ခန့်ဖြစ်သည်။ ပရောဂျက်ကုဒ်လည်း ပါပါတယ်။ အများသူငှာ နယ်ပယ်တွင် ရှိသည်။.

တွေ့ရှိချက်များ

ခေတ်မီဒေတာစင်တာများ ဆက်လက်တိုးချဲ့လျက်ရှိသည်။ အထူးစကေးဒေတာစင်တာများ၏စျေးကွက်တွင် တိုးလာနေသောလမ်းကြောင်းသည် အထူးသိသာထင်ရှားသည်- ယခုအခါ ကမ္ဘာပေါ်တွင် အဲဒီမှာ hyperscale ဒေတာစင်တာပေါင်း 430 ရှိသော်လည်း လာမည့်နှစ်များတွင် ၎င်းတို့၏အရေအတွက်သည် 30% တိုးလာနိုင်သည်။ ထို့ကြောင့်၊ ပရိုဆက်ဆာ load balancing technologies သည် အလွန်ဝယ်လိုအားဖြစ်လိမ့်မည်။ Shenango ကဲ့သို့သော စနစ်များကို ရရှိနေပြီဖြစ်သည်။ အကောင်အထည်ဖော်ပါ။ ကြီးမားသောကော်ပိုရေးရှင်းကြီးများနှင့် ထိုကဲ့သို့သောကိရိယာများ၏ အရေအတွက်သည် အနာဂတ်တွင်သာ ကြီးထွားလာမည်ဖြစ်သည်။

ကော်ပိုရိတ် IaaS အကြောင်း ပထမဘလော့ဂ်မှ ရေးသားချက်များ

source: www.habr.com

မှတ်ချက် Add