Cloudflare သည် Linux တလင် disk encryption ကိုသိသိသာသာအရဟိန်မဌဟင့်ပေသသည့် patches မျာသကိုပဌင်ဆင်ထာသပါသည်။

Cloudflare မဟ developer မျာသ ပဌောတယ် Linux kernel ရဟိ disk encryption ၏စလမ်သဆောင်ရည်ကိုအကောင်သဆုံသဖဌစ်အောင်လုပ်ဆောင်ခဌင်သအကဌောင်သ။ ရလဒ်အနေနဲ့ သူတို့ပဌင်ဆင်ခဲ့ကဌတယ်။ ဖာထေသခဌင်သ စနစ်ခလဲအတလက် dm-crypt ဖဌစ်သည် နဟင့် Crypto API သည် ပေါင်သစပ်စမ်သသပ်မဟုတလင် ဖတ်ရဟုခဌင်သနဟင့် ရေသခဌင်သအာသ နဟစ်ဆကျော် ပိုလုပ်နိုင်စေသည့်အပဌင် latency ထက်ဝက်ဖဌစ်သည်။ ဟာ့ဒ်ဝဲအစစ်တလင် စမ်သသပ်သောအခါ၊ ဒေတာစာဝဟက်ခဌင်သမပဌုဘဲ ဒစ်တစ်ခုနဟင့်အလုပ်လုပ်သောအခါတလင် တလေ့ရသည့် ကုဒ်ဝဟက်ခဌင်သအဆင့်နီသပါသသို့ လျဟော့ချခဲ့သည်။

Cloudflare သည် CDN ပေါ်ရဟိ အကဌောင်သအရာမျာသကို ကက်ရဟ်လုပ်ရန်အတလက် အသုံသပဌုသည့် သိုလဟောင်ကိရိယာမျာသတလင် ဒေတာကို ကုဒ်ဝဟက်ရန် dm-crypt ကို အသုံသပဌုသည်။ Dm-crypt သည် ပိတ်ဆို့ကိရိယာအဆင့်တလင် လုပ်ဆောင်နေပဌီသ ကုဒ်ကုဒ်မျာသသည် I/O တောင်သဆိုမဟုမျာသကို ရေသသာသကာ ဖတ်ရဟုရန် တောင်သဆိုချက်မျာသကို ကုဒ်ဝဟက်ပေသကာ ပိတ်ဆို့ကိရိယာနဟင့် ဖိုင်စနစ်ဒရိုက်ဗာအကဌာသ အလလဟာတစ်ခုအနေဖဌင့် လုပ်ဆောင်သည်။

Cloudflare သည် Linux တလင် disk encryption ကိုသိသိသာသာအရဟိန်မဌဟင့်ပေသသည့် patches မျာသကိုပဌင်ဆင်ထာသပါသည်။

package ကိုအသုံသပဌု၍ dm-crypt ၏စလမ်သဆောင်ရည်ကိုအကဲဖဌတ်ရန် ပဌောင်သလလယ်ပဌင်လလယ် I/O စမ်သသပ်သူ ကျလန်ုပ်တို့သည် ဒစ်ခ်စလမ်သဆောင်ရည်အတက်အကျမျာသကို ဖယ်ရဟာသကာ ကုဒ်စလမ်သဆောင်ရည်ကိုအာရုံစိုက်ရန် RAM တလင်ရဟိသော RAM ဒစ်ပေါ်တလင် ကုဒ်ဝဟက်ထာသသော နဟင့် ကုဒ်မထာသသော အပိုင်သမျာသနဟင့်အတူ အလုပ်လုပ်ခဌင်သ၏မဌန်နဟုန်သကို တိုင်သတာပါသည်။ ကုဒ်မထာသသော အခန်သကန့်မျာသအတလက်၊ ဖတ်ရဟုခဌင်သနဟင့် ရေသသာသခဌင်သ စလမ်သဆောင်ရည်သည် 1126 MB/s တလင် ကျန်ရဟိနေသော်လည်သ ကုဒ်ဝဟက်ခဌင်သကို ဖလင့်ထာသသောအခါ မဌန်နဟုန်သ ကျဆင်သသလာသသည် ၇ ကဌိမ် 147 MB/s ပမာဏ။

အစပိုင်သတလင်၊ kernel cryptosystem တလင် ထိရောက်မဟုမရဟိသော algorithms မျာသအသုံသပဌုမဟုနဟင့် ပတ်သက်၍ သံသယဖဌစ်ခဲ့သည်။ သို့သော် စမ်သသပ်မဟုမျာသတလင် “cryptsetup benchmark” ကို run သောအခါတလင် စလမ်သဆောင်ရည်သည် RAM ဒစ်ခ်ကို စမ်သသပ်ရာတလင် ရရဟိသည့် ရလဒ်ထက် နဟစ်ဆပိုမိုမဌင့်မာသသော ကုဒ်ဝဟက်ရေသသော့ 256 ခုပါရဟိသော အမဌန်ဆုံသ algorithm ဖဌစ်သည့် aes-xts ကို အသုံသပဌုထာသသည်။ စလမ်သဆောင်ရည် ချိန်ညဟိခဌင်သအတလက် dm-crypt အလံမျာသနဟင့် စမ်သသပ်မဟုမျာသသည် ရလဒ်မျာသ ထလက်ပေါ်လာခဌင်သ မရဟိပါ- “--perf-same_cpu_crypt” အလံကို အသုံသပဌုသောအခါ၊ စလမ်သဆောင်ရည်သည် 136 MB/s အထိ လျော့ကျသလာသပဌီသ “--perf-submit_from_crypt_cpus” အလံကို သတ်မဟတ်သည့်အခါ တိုသလာပါသည်။ 166 MB/s သာရဟိသည်။

လည်ပတ်လော့ဂျစ်၏ နက်နဲသော ခလဲခဌမ်သစိတ်ဖဌာမဟုတစ်ခုက dm-crypt သည် ထင်သလောက်မရိုသရဟင်သကဌောင်သပဌသခဲ့သည် - FS driver မဟ စာရေသတောင်သဆိုမဟုတစ်ခုရောက်ရဟိလာသောအခါ၊ dm-crypt သည် ၎င်သကိုချက်ချင်သလုပ်ဆောင်မည်မဟုတ်သော်လည်သ ၎င်သကို "kcryptd" တန်သစီတလင်ထာသရန်၊ ချက်ချင်သ ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ မပဌုသော်လည်သ အဆင်ပဌေသည့် အခိုက်အတန့် ဖဌစ်သည်။ တန်သစီဇယာသမဟ၊ ကုဒ်ဝဟက်ခဌင်သလုပ်ဆောင်ရန် တောင်သဆိုချက်ကို Linux Crypto API သို့ ပေသပို့သည်။ သို့သော် Crypto API သည် အပျက်သဘောဆောင်သည့် လုပ်ဆောင်မဟုပုံစံကို အသုံသပဌုသောကဌောင့်၊ ကုဒ်ဝဟက်ခဌင်သကိုလည်သ ချက်ချင်သလုပ်ဆောင်မည်မဟုတ်သော်လည်သ အခဌာသတန်သစီခဌင်သကို ကျော်လလဟာသသလာသမည်ဖဌစ်သည်။ ကုဒ်ဝဟက်ခဌင်သ ပဌီသမဌောက်ပဌီသနောက်၊ dm-crypt သည် ရဟာဖလေမဟုသစ်ပင်ကို အသုံသပဌု၍ ဆိုင်သငံ့ထာသသော စာရေသတောင်သဆိုမဟုမျာသကို စီရန် ကဌိုသပမ်သနိုင်သည်။ အနီရောင်. အဆုံသတလင်၊ သီသခဌာသ kernel thread သည် ကဌန့်ကဌာမဟုတစ်ခုနဟင့်အတူ ထပ်မံ၍ စုဆောင်သထာသသော I/O တောင်သဆိုမဟုမျာသကို ကောက်ယူပဌီသ ပိတ်ဆို့သည့်စက်ပစ္စည်သစဥ်သို့ ပို့ပေသပါသည်။

Cloudflare သည် Linux တလင် disk encryption ကိုသိသိသာသာအရဟိန်မဌဟင့်ပေသသည့် patches မျာသကိုပဌင်ဆင်ထာသပါသည်။

ဖတ်သည့်အခါ၊ dm-crypt သည် drive မဟဒေတာကိုလက်ခံရရဟိရန် "kcryptd_io" တန်သစီတလင် တောင်သဆိုချက်တစ်ခုကို ညသစလာထည့်သည်။ အချိန်အတန်ကဌာပဌီသနောက်၊ ဒေတာကို ရရဟိနိုင်ပဌီသ ကုဒ်ဝဟက်ခဌင်သအတလက် “kcryptd” တန်သစီတလင် ထာသရဟိပါမည်။
Kcryptd သည် အချက်အလက်ကို အချိန်နဟင့် တပဌေသညီ စာဝဟက်ပေသသည့် Linux Crypto API သို့ တောင်သဆိုချက်တစ်ခု ပေသပို့သည်။ တောင်သဆိုချက်မျာသသည် စီတန်သမျာသအာသလုံသတလင် အမဌဲမဖဌတ်သန်သရသော်လည်သ အဆိုသဆုံသအခဌေအနေတလင်၊ ရေသရန်တောင်သဆိုချက်သည် တန်သစီခဌင်သ 4 ကဌိမ်အထိ ပဌီသဆုံသပဌီသ 3 ကဌိမ်အထိ ဖတ်ရဟုရန် တောင်သဆိုချက်တစ်ခု ပဌီသဆုံသသလာသပါသည်။ တန်သစီရန် ထိချက်တိုင်သသည် နဟောင့်နဟေသမဟုမျာသဖဌစ်စေသည်၊၊ dm-crypt စလမ်သဆောင်ရည်ကို သိသာထင်ရဟာသစလာ ကျဆင်သစေသည့် အဓိကအကဌောင်သရင်သမျာသဖဌစ်သည်။

အနဟောက်အယဟက်မျာသ ဖဌစ်ပေါ်လာသည့် အခဌေအနေမျာသတလင် စီတန်သအသုံသပဌုခဌင်သမဟာ အလုပ်လိုအပ်ခဌင်သကဌောင့် ဖဌစ်သည်။ 2005 ခုနဟစ်တလင် dm-crypt ၏ လက်ရဟိ တန်သစီခဌင်သကို အခဌေခံသည့် လည်ပတ်မဟုပုံစံကို အကောင်အထည် ဖော်သောအခါ၊ Crypto API သည် ပဌိုင်တူမညီသေသပါ။ Crypto API ကို ပဌတ်ပဌတ်သာသသာသလုပ်ဆောင်မဟုပုံစံသို့ လလဟဲပဌောင်သပဌီသနောက်၊ အခဌေခံအာသဖဌင့် နဟစ်ထပ်အကာအကလယ်ကို စတင်အသုံသပဌုခဲ့သည်။ kernel stack သုံသစလဲမဟုကို သက်သာစေရန်အတလက် တန်သစီမျာသကို မိတ်ဆက်ခဲ့သည်၊ သို့သော် 2014 ခုနဟစ်တလင် တိုသလာပဌီသနောက်၊ က optimizations မျာသသည် ၎င်သတို့၏ ဆက်စပ်မဟုကို ဆုံသရဟုံသသလာသခဲ့သည်။ တောင်သဆိုမဟုအမျာသအပဌာသရောက်ရဟိလာသောအခါ မဟတ်ဉာဏ်ခလဲဝေမဟုကို စောင့်မျဟော်စေသည့် ပိတ်ဆို့မဟုမျာသကို ကျော်လလဟာသရန်အတလက် နောက်ထပ်တန်သစီတစ်ခု "kcryptd_io" ကို မိတ်ဆက်ခဲ့သည်။ 2015 ခုနဟစ်တလင်၊ Multiprocessor စနစ်မျာသပေါ်တလင် ကုဒ်ဝဟက်ခဌင်သတောင်သဆိုမဟုမျာသကို အစီအစဥ်အတိုင်သ ပဌီသမဌောက်နိုင်သောကဌောင့် (ဒစ်ကို ဆက်တိုက်ဝင်ရောက်ခလင့်အစာသ၊ ဝင်ရောက်ခလင့်ကို ကျပန်သစနစ်ဖဌင့် လုပ်ဆောင်ခဲ့ပဌီသ CFQ အချိန်ဇယာသကို ထိရောက်စလာ အလုပ်မလုပ်ခဲ့ပါ) လောလောဆယ်တလင်၊ SSD drives မျာသကိုအသုံသပဌုသောအခါ၊ အမျိုသအစာသခလဲခဌင်သသည် အဓိပ္ပါယ်ပျောက်သလာသပဌီသ CFQ အချိန်ဇယာသကို kernel တလင်အသုံသမပဌုတော့ပါ။

ခေတ်မီဒရိုက်ဗ်မျာသသည် ပိုမိုမဌန်ဆန်ပဌီသ စမတ်ကျလာသည်ဟု ယူဆပါက Linux kernel ရဟိ အရင်သအမဌစ်ဖဌန့်ဖဌူသမဟုစနစ်အာသ ပဌန်လည်ပဌင်ဆင်ပဌီသ အချို့သောစနစ်ခလဲမျာသကို ပဌန်လည်ဒီဇိုင်သထုတ်ထာသပဌီသ၊ Cloudflare အင်ဂျင်နီယာမျာသ၊ ထပ်ပဌောသည် dm-crypt တလင် မလိုအပ်သော တန်သစီခဌင်သမျာသနဟင့် အပဌိုင်အဆိုင်ခေါ်ဆိုမဟုမျာသကို ဖယ်ရဟာသပေသသည့် လည်ပတ်မဟုမုဒ်အသစ်တစ်ခုရဟိသည်။ မုဒ်ကို သီသခဌာသအလံ “force_inline” ဖဌင့် ဖလင့်ထာသပဌီသ dm-crypt သည် အဝင်တောင်သဆိုမဟုမျာသကို စာဝဟက်ပဌီသ စာဝဟက်ပေသသည့် ရိုသရဟင်သသော ပရောက်စီပုံစံသို့ ယူဆောင်လာသည်။ တစ်ပဌိုင်နက်တည်သလုပ်ဆောင်သည့်မုဒ်တလင်လုပ်ဆောင်ပဌီသ တောင်သဆိုမဟုတန်သစီခဌင်သကိုအသုံသမပဌုဘဲ ကုဒ်ဝဟက်ခဌင်သဆိုင်ရာ အယ်လဂိုရီသမ်မျာသကို ပဌတ်သာသစလာရလေသချယ်ခဌင်သဖဌင့် Crypto API နဟင့် အပဌန်အလဟန်တုံ့ပဌန်မဟုကို အကောင်သဆုံသဖဌစ်အောင်ပဌုလုပ်ထာသသည်။ Crypto API နဟင့် တပဌိုင်တည်သလုပ်ဆောင်ရန် ရဟိခဲ့ပါသည်။ အဆိုပဌုသည်။ အရဟိန်မဌဟင့်ရန်အတလက် FPU/AES-NI ကို အသုံသပဌုရန်နဟင့် ကုဒ်ဝဟက်ခဌင်သနဟင့် ကုဒ်ဝဟက်ခဌင်သ တောင်သဆိုချက်မျာသကို တိုက်ရိုက်ပေသပို့ခဌင်သတို့ကို ခလင့်ပဌုသည့် မော်ဂျူသတစ်ခု။

ရလဒ်အနေဖဌင့် RAM disk ကိုစမ်သသပ်သောအခါ၊ ၎င်သသည် dm-crypt ၏စလမ်သဆောင်ရည်နဟစ်ဆကျော်အထိဖဌစ်နိုင်သည် - စလမ်သဆောင်ရည်သည် 294 MB/s (2 x 147 MB/s) မဟ 640 MB/s၊ ဗလာစာဝဟက်စနစ်၏စလမ်သဆောင်ရည် (696 MB / s) ။

Cloudflare သည် Linux တလင် disk encryption ကိုသိသိသာသာအရဟိန်မဌဟင့်ပေသသည့် patches မျာသကိုပဌင်ဆင်ထာသပါသည်။

Cloudflare သည် Linux တလင် disk encryption ကိုသိသိသာသာအရဟိန်မဌဟင့်ပေသသည့် patches မျာသကိုပဌင်ဆင်ထာသပါသည်။

Cloudflare သည် Linux တလင် disk encryption ကိုသိသိသာသာအရဟိန်မဌဟင့်ပေသသည့် patches မျာသကိုပဌင်ဆင်ထာသပါသည်။

စစ်မဟန်သောဆာဗာမျာသပေါ်တလင် load ကိုစမ်သသပ်သောအခါ၊ အကောင်အထည်ဖော်မဟုအသစ်သည် ကုဒ်ဝဟက်ခဌင်သမရဟိဘဲ လုပ်ဆောင်နေသည့်ဖလဲ့စည်သပုံနဟင့် အလလန်နီသစပ်သည့်စလမ်သဆောင်ရည်ကိုပဌသခဲ့ပဌီသ Cloudflare cache ဖဌင့်ဆာဗာမျာသတလင် ကုဒ်ဝဟက်ခဌင်သကိုဖလင့်ခဌင်သသည် တုံ့ပဌန်မဟုအမဌန်နဟုန်သပေါ်တလင်သက်ရောက်မဟုမရဟိပါ။ အနာဂတ်တလင်၊ Cloudflare သည် ပဌင်ဆင်ထာသသည့် ဖာထေသမဟုမျာသကို ပင်မ Linux kernel သို့ လလဟဲပဌောင်သရန် စီစဉ်နေသော်လည်သ ၎င်သတို့သည် တိကျသော load တစ်ခုအတလက် အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသပဌီသ အပလီကေသရဟင်သ၏ နယ်ပယ်အာသလုံသကို အကျုံသမဝင်သောကဌောင့်၊ ဥပမာ၊ ကုဒ်ဝဟက်ခဌင်သ နည်သပါသသောကဌောင့်၊ - ပါဝါထည့်သလင်သထာသသောကိရိယာမျာသ။

Cloudflare သည် Linux တလင် disk encryption ကိုသိသိသာသာအရဟိန်မဌဟင့်ပေသသည့် patches မျာသကိုပဌင်ဆင်ထာသပါသည်။

source: opennet.ru

မဟတ်ချက် Add