Bcachefs မျာသကို Linux Kernel သို့ မဌဟင့်တင်ခဌင်သ။

Linux kernel ၏တစ်စိတ်တစ်ပိုင်သဖဌစ်သည့် BCache SSD block device caching system ကိုရေသသာသသူ Kent Overstreet သည် LSFMM 2023 ကလန်ဖရင့်တလင် ၎င်သ၏မိန့်ခလန်သတလင် Bcachefs ဖိုင်စနစ်အာသ မဌဟင့်တင်ခဌင်သဆိုင်ရာ အလုပ်၏ရလဒ်မျာသကို အကျဉ်သချုံသဖော်ပဌခဲ့သည်။ & BPF Summit)) သည် Linux kernel ၏ အဓိကဖလဲ့စည်သမဟုတလင် က FS ၏နောက်ထပ်ဖလံ့ဖဌိုသတိုသတက်မဟုအတလက် အစီအစဉ်မျာသအကဌောင်သပဌောခဲ့သည်။ မေလတလင်၊ Bcachefs FS ကို အကောင်အထည်ဖော်မဟုနဟင့်အတူ မလမ်သမံပဌင်ဆင်ထာသသော ဖာထေသအစုံကို Linux kernel ၏ အဓိကဖလဲ့စည်သမဟုတလင် ပဌန်လည်သုံသသပ်ပဌီသ ပါဝင်ရန် အဆိုပဌုခဲ့သည်။ FS Bcachefs သည် 10 နဟစ်ခန့် ဖလံ့ဖဌိုသလာခဲ့သည်။ core တလင်မပါဝင်မီ Bcachefs ၏အကောင်အထည်ဖော်မဟုကို ပဌန်လည်သုံသသပ်ရန် အဆင်သင့်ဖဌစ်မဟုအာသ 2020 နဟစ်ကုန်ပိုင်သတလင် ထုတ်ပဌန်ကဌေညာခဲ့ပဌီသ၊ ဖာထေသမဟု၏လက်ရဟိဗာသရဟင်သသည် ယခင်ပဌန်လည်သုံသသပ်စဉ်အတလင်သ တလေ့ရဟိခဲ့သော မဟတ်ချက်မျာသနဟင့် ချို့ယလင်သချက်မျာသကို ထည့်သလင်သစဉ်သစာသပါသည်။

Bcachefs ဖလံ့ဖဌိုသတိုသတက်ရေသ ရည်မဟန်သချက်သည် စလမ်သဆောင်ရည်၊ ယုံကဌည်စိတ်ချရမဟုနဟင့် ချဲ့ထလင်နိုင်မဟုတလင် XFS အဆင့်သို့ ရောက်ရဟိရန်ဖဌစ်ပဌီသ Btrfs နဟင့် ZFS တလင် ပါ၀င်သော အစိတ်အပိုင်သအမျာသအပဌာသတလင် စက်ကိရိယာမျာသစလာပါဝင်ခဌင်သ၊ အလလဟာပေါင်သစုံ သိုလဟောင်မဟု အပဌင်အဆင်မျာသ၊ ကူသယူခဌင်သ (RAID 1/10) ကဲ့သို့သော ထပ်လောင်သအင်္ဂါရပ်မျာသကို ပံ့ပိုသပေသနေစဉ်၊ သိမ်သဆည်သခဌင်သ၊ ဖောက်ထလင်သမဌင်ရသော ဒေတာချုံ့ခဌင်သ (LZ4၊ gzip နဟင့် ZSTD မုဒ်မျာသ)၊ ပဌည်နယ်ချပ်မျာသ (လျဟပ်တစ်ပဌက်မျာသ)၊ checksums ဖဌင့် ခိုင်မာမဟုအတည်ပဌုခဌင်သ၊ Reed-Solomon အမဟာသပဌင်ဆင်ကုဒ်မျာသ (RAID 5/6)၊ ကုဒ်ဝဟက်ထာသသော အချက်အလက်သိုလဟောင်မဟု (ChaCha20 နဟင့် Poly1305) အသုံသပဌုကဌသည်)။ စလမ်သဆောင်ရည်အရ၊ Bcachefs သည် Copy-on-Write ယန္တရာသအပေါ် အခဌေခံ၍ Btrfs နဟင့် အခဌာသသော ဖိုင်စနစ်မျာသထက် သာလလန်ပဌီသ Ext4 နဟင့် XFS တို့နဟင့် နီသစပ်သော စလမ်သဆောင်ရည်ကို ပဌသသည်။

Bcachefs ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် နောက်ဆုံသအောင်မဌင်မဟုမျာသအနက်၊ စာရေသရန်အတလက် ရရဟိနိုင်သော လျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသ အကောင်အထည်ဖော်မဟု၏ တည်ငဌိမ်မဟုကို မဟတ်သာသထာသသည်။ Btrfs နဟင့် နဟိုင်သယဟဉ်ပါက၊ Bcachefs ရဟိ လျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသသည် ယခုအခါ ပိုမိုကောင်သမလန်ပဌီသ Btrfs တလင်ရဟိသော ပဌဿနာမျာသမဟ ကင်သဝေသပါသည်။ လက်တလေ့တလင်၊ MySQL အရန်သိမ်သဆည်သမဟုမျာသကို စီစဉ်သောအခါ လျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသ၏အလုပ်ကို စမ်သသပ်ခဲ့သည်။ Bcachefs သည် အရလယ်အစာသပိုကောင်သလာစေရန် အလုပ်မျာသစလာကို လုပ်ဆောင်ခဲ့သည် - ဖိုင်စနစ်သည် 100 TB သိုလဟောင်မဟုတလင် စမ်သသပ်ရာတလင် ကောင်သမလန်စလာလုပ်ဆောင်ခဲ့ပဌီသ Bcachefs မျာသကို မကဌာမီကာလအတလင်သ 1 PB သိုလဟောင်မဟုတလင် အကောင်အထည်ဖော်နိုင်မည်ဟု မျဟော်လင့်ပါသည်။ "copy-on-write" (nocow) ယန္တရာသကို ပိတ်ရန် nocow မုဒ်အသစ်ကို ထည့်သလင်သထာသပါသည်။ နလေရာသီတလင်၊ ၎င်သတို့သည် အမဟာသပဌင်ဆင်ခဌင်သကုဒ်မျာသနဟင့် RAIDZ တို့ကို တည်ငဌိမ်သောအခဌေအနေသို့ ယူဆောင်လာကာ fsck utility ဖဌင့် ဖိုင်စနစ်မျာသကို ပဌန်လည်ရယူပဌီသ စစ်ဆေသသည့်အခါတလင် မဌင့်မာသသောမဟတ်ဉာဏ်သုံသစလဲမဟုနဟင့် ပဌဿနာမျာသကို ဖဌေရဟင်သပေသနိုင်ရန် စီစဉ်ထာသသည်။

အနာဂတ်အတလက် အစီအစဥ်မျာသတလင် Bcachefs ဖလံ့ဖဌိုသတိုသတက်ရေသတလင် Rust ဘာသာစကာသကို အသုံသပဌုလိုသော ဆန္ဒကို ဖော်ပဌအပ်ပါသည်။ Bcachefs ၏ရေသသာသသူ၏အဆိုအရ၊ သူသည်ကုဒ်ကိုနဟစ်သက်သည်၊ ကုဒ်ကိုအမဟာသအယလင်သမလုပ်ဘဲ၊ ပိုမိုကောင်သမလန်သောရလေသချယ်စရာတစ်ခုရဟိသောအခါယခု C တလင်ကုဒ်ရေသရန်အရူသဖဌစ်သည်။ Rust သည် user-space utilities အချို့ကို အကောင်အထည်ဖော်ရာတလင် Bcachefs တလင် ပါဝင်နေပဌီဖဌစ်သည်။ ထို့အပဌင်၊ ကဘာသာစကာသကိုအသုံသပဌုခဌင်သဖဌင့် အမဟာသရဟာပဌင်သည့်အချိန်ကို သိသာထင်ရဟာသစလာ သက်သာစေသောကဌောင့် Rust တလင် Bcachefs မျာသကို အပဌီသအပိုင်ပဌန်လည်ရေသရန် စိတ်ကူသကို အကောင်အထည်ဖော်နေပါသည်။

Bcachefs မျာသကို Linux kernel ၏ ပင်မရေစီသကဌောင်သသို့ ရလဟေ့ခဌင်သအတလက်၊ ပဌန်လည်သုံသသပ်ရန်ခက်ခဲသော အပဌောင်သအလဲမျာသ၏ ကဌီသမာသသောအရလယ်အစာသ (ပဌင်ဆင်မဟု 2500 နဟင့် ကုဒ်လိုင်သ 90 ခန့်) ကဌောင့် မလေသစာသခဌင်သလုပ်ငန်သစဉ် နဟောင့်နဟေသနိုင်ပါသည်။ ပဌန်လည်သုံသသပ်မဟုကို အရဟိန်မဌဟင့်ရန်၊ အချို့သော developer မျာသသည် patch စီသရီသမျာသကို သေသငယ်ပဌီသ ပိုမိုယုတ္တိရဟိစလာ ပိုင်သခဌာသထာသသော အပိုင်သမျာသအဖဌစ် ခလဲရန် အကဌံပဌုထာသသည်။ ဆလေသနလေသမဟုအတလင်သ ပါဝင်သူအချို့သည် developer တစ်ညသမဟ ပရောဂျက်၏ ဖလံ့ဖဌိုသတိုသတက်မဟုကို အာရုံစိုက်ကာ ၎င်သ၏ developer တစ်ခုခုဖဌစ်ခဲ့ပါက ကုဒ်ကို မထိန်သသိမ်သထာသနိုင်သည့် အန္တရာယ် (Red Hat ဝန်ထမ်သမျာသ နဟစ်ညသသည် ပရောဂျက်ကို စိတ်ဝင်စာသနေကဌသော်လည်သ ၎င်သတို့၏ အလုပ်မဟာ ရဟိနေသေသသည် အကန့်အသတ်ရဟိသော ချို့ယလင်သချက်မျာသအာသ ပဌင်ဆင်ခဌင်သ)။

Bcachefs သည် Bcache ဘလောက်ကိရိယာ၏ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် စမ်သသပ်ပဌီသသာသနည်သပညာမျာသကို အသုံသပဌု၍ တီထလင်ထာသခဌင်သဖဌစ်ပဌီသ အမဌန် SSD ဒရိုက်မျာသ (ထလက်ရဟိကတည်သက 3.10 တလင် ပါဝင်သော အနဟေသ hard drives မျာသပေါ်တလင် အနဟေသ hard drives မျာသကို ကက်ရဟ်ဝင်ရောက်နိုင်ရန် ဒီဇိုင်သထုတ်ထာသသည်။ Bcachefs သည် ဒေတာကူသယူရေသသာသခဌင်သ (COW) ယန္တရာသကို အသုံသပဌုပဌီသ အပဌောင်သအလဲမျာသသည် ဒေတာကို ထပ်ရေသခဌင်သသို့ မဖဌစ်ပေါ်စေပါ - အခဌေအနေအသစ်သည် တည်နေရာအသစ်သို့ စာရေသလိုက်သည်၊ ထို့နောက် လက်ရဟိအခဌေအနေညလဟန်ပဌချက် ပဌောင်သလဲသလာသသည်။

Bcachefs ၏အင်္ဂါရပ်တစ်ခုမဟာ သိုလဟောင်မဟုတလင် အလလဟာမျာသစလာဖဌင့် ဖလဲ့စည်သထာသသည့် အလလဟာပေါင်သမျာသစလာရဟိသော drive မျာသ၏ ချိတ်ဆက်မဟုအတလက် ပံ့ပိုသမဟုဖဌစ်သည် - အောက်ခဌေအလလဟာသို့ အမဌန်ဆုံသဒရိုက်မျာသ (SSD) နဟင့် ချိတ်ဆက်ထာသပဌီသ၊ မကဌာခဏအသုံသပဌုလေ့ရဟိသော ဒေတာမျာသကို ကက်ရဟ်လုပ်ရန်နဟင့် အပေါ်ဆုံသအလလဟာပုံစံမျာသကို အသုံသပဌုသည်။ ဝယ်လိုအာသနည်သသောဒေတာကို သိမ်သဆည်သသည့် ပိုမိုသေသငယ်ပဌီသ စျေသသက်သာသော disk မျာသ။ Writeback caching ကို အလလဟာမျာသကဌာသတလင် အသုံသပဌုနိုင်သည်။ Drives မျာသကို ဖိုင်စနစ်အသုံသပဌုမဟုကို မနဟောင့်ယဟက်ဘဲ အခန်သကန့်တစ်ခုသို့ ဒိုင်သနမစ်ဖဌင့် ပေါင်သထည့်နိုင်ပဌီသ ခလဲထာသနိုင်သည် (ဒေတာကို အလိုအလျောက် ရလဟေ့ပဌောင်သသည်)။

source: opennet.ru

မဟတ်ချက် Add