色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Ceph最新的EC-CLAY插件調研

Ceph對象存儲方案 ? 來源:Ceph對象存儲方案 ? 作者:Ceph對象存儲方案 ? 2021-01-03 10:31 ? 次閱讀

CLAY 簡介

Clay Codes ( Clay Codes: Moulding MDS Codes to Yield an MSR Code ) 是FAST18 上提出的一種編碼方法,文章地址,Clay 碼能夠將一般的MDS 碼(最優容錯)轉化為具有最優修復的編碼方法,具有以下性質:

Minimum Storage (最小存儲開銷,同經典RS碼和最小存儲再生碼,MSR)
Maximum Failure Tolerance(最大容錯,即 (n,k)-Clay 碼可以容任意n-k 失效)
Optimal Repair Bandwidth (最優修復開銷,能夠達到理論最優值)
All-Node Optimal Repair (最小開銷修復所有節點的數據,包括原始數據和校驗數據)
Disk Read Optimal (最優磁盤讀)
Low Sub-packetization (低分包數,即碼字長度短)

參考資料1//blog.foool.net/2018/05/clay-codes-%E4%BB%8E%E7%94%9F%E6%88%90%E7%9F%A9%E9%98%B5%E7%9A%84%E8%A7%92%E5%BA%A6%E6%9D%A5%E7%9C%8B/

參考資料2//blog.acolyer.org/2018/03/01/clay-codes-moulding-mds-codes-to-yield-an-msr-code/

ceph官方的介紹,可以確認以下幾點:

  • 向下兼容:CLAY插件與jerasure、ISA、SHEC插件兼容,這里可以理解為Clay是在這幾個插件的基礎上做的一層更高層面的數據組成抽象,能夠更加細致的控制數據的分布粒度,從而實現對原有的幾個插件在數據恢復場景下的性能優化。這也就是是上面提到的“Clay 碼能夠將一般的MDS 碼(最優容錯)轉化為具有最優修復的編碼方法”。

  • 修復性能優化"在底層已有的jerasure、ISA、SHEC幾個的插件基礎上,做了編碼優化,能夠在異常發生,需要進行數據恢復的情況下顯著的降低磁盤&網絡帶寬的消耗。這個也是CLAY EC插件的最大價值所在。

  • 從Ceph 14版本開始提供,理論上這個特性可以向下backport到低版本。

從clay插件的初始化配置部分的函數實現,也能看到一些與其他插件在兼容適配上的限制

#src/erasure-code/clay/ErasureCodeClay.cc

intErasureCodeClay::parse(ErasureCodeProfile&profile,
ostream*ss)
{
interr=0;
err=ErasureCode::parse(profile,ss);
err|=to_int("k",profile,&k,DEFAULT_K,ss);
err|=to_int("m",profile,&m,DEFAULT_M,ss);

err|=sanity_check_k_m(k,m,ss);

err|=to_int("d",profile,&d,std::to_string(k+m-1),ss);

//checkforscalar_mdsinprofileinput
//默認采用jerasure插件進行編碼
if(profile.find("scalar_mds")==profile.end()||
profile.find("scalar_mds")->second.empty()){
mds.profile["plugin"]="jerasure";
pft.profile["plugin"]="jerasure";
}else{
std::stringp=profile.find("scalar_mds")->second;
//底層只支持jerasure、isa、shec三種插件
if((p=="jerasure")||(p=="isa")||(p=="shec")){
mds.profile["plugin"]=p;
pft.profile["plugin"]=p;
}else{
*ss<"scalar_mds"<"plugin"]<<
???????????????"isnotcurrentlysupported,useoneof'jerasure',"<<
???????????????"'isa','shec'"<std::endl;
err=-EINVAL;
returnerr;
}
}



if(profile.find("technique")==profile.end()||
profile.find("technique")->second.empty()){
if((mds.profile["plugin"]=="jerasure")||(mds.profile["plugin"]=="isa")){
mds.profile["technique"]="reed_sol_van";
pft.profile["technique"]="reed_sol_van";
}else{
mds.profile["technique"]="single";
pft.profile["technique"]="single";
}
}else{
std::stringp=profile.find("technique")->second;
//Supportedtechniquesare‘reed_sol_van’,‘reed_sol_r6_op’,‘cauchy_orig’,‘cauchy_good’,‘liber8tion’forjerasure,
if(mds.profile["plugin"]=="jerasure"){
if((p=="reed_sol_van")||(p=="reed_sol_r6_op")||(p=="cauchy_orig")
||(p=="cauchy_good")||(p=="liber8tion")){
mds.profile["technique"]=p;
pft.profile["technique"]=p;
}else{
*ss<"technique"<"isnotcurrentlysupported,useoneof"
<"reed_sol_van','reed_sol_r6_op','cauchy_orig',"
<"'cauchy_good','liber8tion'"<std::endl;
err=-EINVAL;
returnerr;
}
//‘reed_sol_van’,‘cauchy’forisa
}elseif(mds.profile["plugin"]=="isa"){
if((p=="reed_sol_van")||(p=="cauchy")){
mds.profile["technique"]=p;
pft.profile["technique"]=p;
}else{
*ss<"technique"<"isnotcurrentlysupported,useoneof"
<"'reed_sol_van','cauchy'"<std::endl;
err=-EINVAL;
returnerr;
}
}else{
//‘single’,‘multiple’forshec.
if((p=="single")||(p=="multiple")){
mds.profile["technique"]=p;
pft.profile["technique"]=p;
}else{
*ss<"technique"<"isnotcurrentlysupported,useoneof"<<
???????????????"'single','multiple'"<std::endl;
err=-EINVAL;
returnerr;
}
}
}
if((dk+m-1)){
*ss<"valueofd"<"mustbewithin["<","<-1<"]"<std::endl;
err=-EINVAL;
returnerr;
}

q=d-k+1;
if((k+m)%q){
nu=q-(k+m)%q;
}else{
nu=0;
}
//注意分塊規則限定k+m+nu總和不能超過254
if(k+m+nu>254){
err=-EINVAL;
returnerr;
}

if(mds.profile["plugin"]=="shec"){
mds.profile["c"]='2';
pft.profile["c"]='2';
}
mds.profile["k"]=std::to_string(k+nu);
mds.profile["m"]=std::to_string(m);
mds.profile["w"]='8';

pft.profile["k"]='2';
pft.profile["m"]='2';
pft.profile["w"]='8';

t=(k+m+nu)/q;
sub_chunk_no=pow_int(q,t);

dout(10)<"(q,t,nu)=("<","<","<")"<returnerr;
}

故障恢復時的帶寬&磁盤消耗對比

以EC場景下,假設 d = 發生故障時,需要參與數據恢復的OSD數量
在jerasure配置 k=8 m=4的情況下,發生一塊磁盤故障,需要讀取d=8磁盤才能完成數據的恢復。如果需要恢復的數據的容量為1G,那么需要總共讀取 8 x 1 GB = 8GB的數據容量(這也意味著需要同時通過網絡傳輸8GB的數據)。
在clay的插件配置中,d的設置需要滿足 k+1 <= d <= k+m-1 的限制,為了滿足使d最大化節省磁盤和網絡帶寬消耗,clay選取d=k+m-1作為默認配置。在k=8,m=4的場景下,根據公式推導可以得到d=8+4-1=11。其中磁盤需要恢復的數據量計算公式如下。其中K為故障時刻需要恢復的數據總量。

c9925692-4655-11eb-8b86-12bb97331649.jpg

當一個osd故障時,d=11,以需要恢復的數據總量為1GB為例,此時需要恢復下載的磁盤數據總量為

jerasure/isa=8*1GB=8GB
caly=(11*1GB)/(11-8+1)=11/4=2.75GB

對比看到caly能夠顯著的減少磁盤讀取數據和網絡傳輸帶寬的消耗,caly只用到了isa一類插件的的2.75/8≈34%的資源消耗。

同樣的場景下,以k=4,m=2為例,此時d=4+2-1=5,caly只用到了isa一類插件的的2.5/4≈62.5%的資源消耗。

jerasure/isa=4*1GB=4GB
caly=(5*1GB)/(5-4+1)=5/2=2.5GB

依次類推,匯總表格如下:

名稱 K M D 3副本得盤率 EC得盤率 硬件成本節約比率 磁盤數據遷移量(ISA) 磁盤數據遷移量(CLAY) 數據恢復負載降低比率 4M sub-chunk size(KB) sub-chunk count
2+1 2 1 2 33.33333333 66.66666667 200 2 2 0 2048 1
2+2 2 2 3 33.33333333 50 150 2 1.5 25 512 4
3+1 3 1 3 33.33333333 75 225 3 3 0 1365.333333 1
3+2 3 2 4 33.33333333 60 180 3 2 33.33333333 170.6666667 8
3+3 3 3 5 33.33333333 50 150 3 1.666666667 44.44444444 151.7037037 9
4+1 4 1 4 33.33333333 80 240 4 4 0 1024 1
4+2 4 2 5 33.33333333 66.66666667 200 4 2.5 37.5 128 8
4+3 4 3 6 33.33333333 57.14285714 171.4285714 4 2 50 37.92592593 27
4+4 4 4 7 33.33333333 50 150 4 1.75 56.25 64 16
5+1 5 1 5 33.33333333 83.33333333 250 5 5 0 819.2 1
5+2 5 2 6 33.33333333 71.42857143 214.2857143 5 3 40 51.2 16
5+3 5 3 7 33.33333333 62.5 187.5 5 2.333333333 53.33333333 30.34074074 27
5+4 5 4 8 33.33333333 55.55555556 166.6666667 5 2 60 12.8 64
5+5 5 5 9 33.33333333 50 150 5 1.8 64 32.768 25
6+1 6 1 6 33.33333333 85.71428571 257.1428571 6 6 0 682.6666667 1
6+2 6 2 7 33.33333333 75 225 6 3.5 41.66666667 42.66666667 16
6+3 6 3 8 33.33333333 66.66666667 200 6 2.666666667 55.55555556 25.28395062 27
6+4 6 4 9 33.33333333 60 180 6 2.25 62.5 10.66666667 64
6+5 6 5 10 33.33333333 54.54545455 163.6363636 6 2 66.66666667 5.461333333 125
6+6 6 6 11 33.33333333 50 150 6 1.833333333 69.44444444 18.96296296 36
7+1 7 1 7 33.33333333 87.5 262.5 7 7 0 585.1428571 1
7+2 7 2 8 33.33333333 77.77777778 233.3333333 7 4 42.85714286 18.28571429 32
7+3 7 3 9 33.33333333 70 210 7 3 57.14285714 7.223985891 81
7+4 7 4 10 33.33333333 63.63636364 190.9090909 7 2.5 64.28571429 9.142857143 64
7+5 7 5 11 33.33333333 58.33333333 175 7 2.2 68.57142857 4.681142857 125
7+6 7 6 12 33.33333333 53.84615385 161.5384615 7 2 71.42857143 2.708994709 216
7+7 7 7 13 33.33333333 50 150 7 1.857142857 73.46938776 11.94169096 49
8+1 8 1 8 33.33333333 88.88888889 266.6666667 8 8 0 512 1
8+2 8 2 9 33.33333333 80 240 8 4.5 43.75 16 32
8+3 8 3 10 33.33333333 72.72727273 218.1818182 8 3.333333333 58.33333333 6.320987654 81
8+4 8 4 11 33.33333333 66.66666667 200 8 2.75 65.625 8 64
8+5 8 5 12 33.33333333 61.53846154 184.6153846 8 2.4 70 4.096 125
8+6 8 6 13 33.33333333 57.14285714 171.4285714 8 2.166666667 72.91666667 2.37037037 216
8+7 8 7 14 33.33333333 53.33333333 160 8 2 75 1.49271137 343
8+8 8 8 15 33.33333333 50 150 8 1.875 76.5625 8 64
9+1 9 1 9 33.33333333 90 270 9 9 0 455.1111111 1
9+2 9 2 10 33.33333333 81.81818182 245.4545455 9 5 44.44444444 7.111111111 64
9+3 9 3 11 33.33333333 75 225 9 3.666666667 59.25925926 5.618655693 81
9+4 9 4 12 33.33333333 69.23076923 207.6923077 9 3 66.66666667 1.777777778 256
9+5 9 5 13 33.33333333 64.28571429 192.8571429 9 2.6 71.11111111 3.640888889 125
9+6 9 6 14 33.33333333 60 180 9 2.333333333 74.07407407 2.106995885 216
9+7 9 7 15 33.33333333 56.25 168.75 9 2.142857143 76.19047619 1.326854551 343
9+8 9 8 16 33.33333333 52.94117647 158.8235294 9 2 77.77777778 0.888888889 512
9+9 9 9 17 33.33333333 50 150 9 1.888888889 79.01234568 5.618655693 81
10+1 10 1 10 33.33333333 90.90909091 272.7272727 10 10 0 409.6 1
10+2 10 2 11 33.33333333 83.33333333 250 10 5.5 45 6.4 64
10+3 10 3 12 33.33333333 76.92307692 230.7692308 10 4 60 1.685596708 243
10+4 10 4 13 33.33333333 71.42857143 214.2857143 10 3.25 67.5 1.6 256
10+5 10 5 14 33.33333333 66.66666667 200 10 2.8 72 3.2768 125
10+6 10 6 15 33.33333333 62.5 187.5 10 2.5 75 1.896296296 216
10+7 10 7 16 33.33333333 58.82352941 176.4705882 10 2.285714286 77.14285714 1.194169096 343
10+8 10 8 17 33.33333333 55.55555556 166.6666667 10 2.125 78.75 0.8 512
10+9 10 9 18 33.33333333 52.63157895 157.8947368 10 2 80 0.561865569 729
10+10 10 10 19 33.33333333 50 150 10 1.9 81 4.096 100
11+1 11 1 11 33.33333333 91.66666667 275 11 11 0 372.3636364 1
11+2 11 2 12 33.33333333 84.61538462 253.8461538 11 6 45.45454545 2.909090909 128
11+3 11 3 13 33.33333333 78.57142857 235.7142857 11 4.333333333 60.60606061 1.532360643 243
11+4 11 4 14 33.33333333 73.33333333 220 11 3.5 68.18181818 1.454545455 256
11+5 11 5 15 33.33333333 68.75 206.25 11 3 72.72727273 0.595781818 625
11+6 11 6 16 33.33333333 64.70588235 194.1176471 11 2.666666667 75.75757576 1.723905724 216
11+7 11 7 17 33.33333333 61.11111111 183.3333333 11 2.428571429 77.92207792 1.085608269 343
11+8 11 8 18 33.33333333 57.89473684 173.6842105 11 2.25 79.54545455 0.727272727 512
11+9 11 9 19 33.33333333 55 165 11 2.111111111 80.80808081 0.510786881 729
11+10 11 10 20 33.33333333 52.38095238 157.1428571 11 2 81.81818182 0.372363636 1000
11+11 11 11 21 33.33333333 50 150 11 1.909090909 82.6446281 3.077385424 121
11+12 11 12 22 33.33333333 47.82608696 143.4782609 11 1.833333333 83.33333333 2.585858586 144
12+1 12 1 12 33.33333333 92.30769231 276.9230769 12 12 0 341.3333333 1
12+2 12 2 13 33.33333333 85.71428571 257.1428571 12 6.5 45.83333333 2.666666667 128
12+3 12 3 14 33.33333333 80 240 12 4.666666667 61.11111111 1.404663923 243
12+4 12 4 15 33.33333333 75 225 12 3.75 68.75 1.333333333 256
12+5 12 5 16 33.33333333 70.58823529 211.7647059 12 3.2 73.33333333 0.546133333 625
12+6 12 6 17 33.33333333 66.66666667 200 12 2.833333333 76.38888889 1.580246914 216
12+7 12 7 18 33.33333333 63.15789474 189.4736842 12 2.571428571 78.57142857 0.995140914 343
12+8 12 8 19 33.33333333 60 180 12 2.375 80.20833333 0.666666667 512
12+9 12 9 20 33.33333333 57.14285714 171.4285714 12 2.222222222 81.48148148 0.468221308 729
12+10 12 10 21 33.33333333 54.54545455 163.6363636 12 2.1 82.5 0.341333333 1000
12+11 12 11 22 33.33333333 52.17391304 156.5217391 12 2 83.33333333 0.256448785 1331
12+12 12 12 23 33.33333333 50 150 12 1.916666667 84.02777778 2.37037037 144

責任編輯:xj

原文標題:Ceph最新的EC-CLAY插件調研-上

文章出處:【微信公眾號:Ceph對象存儲方案】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼
    +關注

    關注

    6

    文章

    946

    瀏覽量

    54870
  • 插件
    +關注

    關注

    0

    文章

    331

    瀏覽量

    22450
  • Ceph
    +關注

    關注

    1

    文章

    22

    瀏覽量

    9418

原文標題:Ceph最新的EC-CLAY插件調研-上

文章出處:【微信號:cephbook,微信公眾號:Ceph對象存儲方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    環球儀器Omni插件機的優勢

    由于傳統插件機引腳歪斜,導致拋料率高,減低插件成功率,提高了拋料率。環球儀器的Omni 插件機,則采用兩項技術,提高插件成功率,減低拋料率。
    的頭像 發表于 01-07 09:12 ?161次閱讀
    環球儀器Omni<b class='flag-5'>插件</b>機的優勢

    Kubernetes的CNI網絡插件之flannel

    Kubernetes設計了網絡模型,但卻將它的實現講給了網絡插件,CNI網絡插件最重要的功能就是實現Pod資源能夠跨主機通信。
    的頭像 發表于 01-02 09:43 ?175次閱讀

    寫一個Chrome瀏覽器插件

    一、什么是瀏覽器插件 瀏覽器插件是依附于瀏覽器,用來拓展網頁能力的程序。插件具有監聽瀏覽器事件、獲取和修改網頁元素、攔截網絡請求、添加快捷菜單等功能。使用瀏覽器插件可以實現很多有趣的功
    的頭像 發表于 11-18 17:12 ?406次閱讀
    寫一個Chrome瀏覽器<b class='flag-5'>插件</b>

    KiCad插件大全

    感謝Hayden同學的整理! 插件使用方式 1. 解壓縮插件包到KICAD插件目錄。例如,在Windows上可能是:C:Program
    的頭像 發表于 11-12 12:24 ?538次閱讀

    VSCode批量遷移插件

    代碼的路 打開之前電腦,找到原電腦VS Code的插件安裝目錄: 如: C:\\\\Users\\\\用戶名\\\\.vscode\\\\extensions 將extensions文件夾拷貝到
    的頭像 發表于 11-06 16:04 ?229次閱讀
    VSCode批量遷移<b class='flag-5'>插件</b>

    VSCode插件的安裝和使用

    今天介紹一款我工作上經常用到的一款VSCode的插件-VsCode Action Buttons,這個插件可以釋放手敲命令行清除、編譯、運行、部署到目標機等操作,具體功能可由開發者自由定義,詳細功能的使用可以參考官網。
    的頭像 發表于 11-04 15:36 ?213次閱讀
    VSCode<b class='flag-5'>插件</b>的安裝和使用

    EC變送器有哪些優勢

    水質監測作為環境保護與公共安全的重要環節,其技術與設備的創新正不斷推動著水資源管理的智能化進程。其中,EC(電導率)變送器作為水質監測領域的關鍵設備,為水質監測帶來了便捷性與準確性。
    的頭像 發表于 09-19 15:11 ?294次閱讀

    EC傳感器有哪些作用

    在現代水質監測領域,準確、高效的數據采集與傳輸成為保障水質安全與提升管理效率的關鍵。EC(電導率)傳感器作為水質監測的重要工具,其性能與功能直接影響到監測結果的準確性和實用性。EC傳感器配備
    的頭像 發表于 09-18 17:18 ?446次閱讀

    基于DPU的Ceph存儲解決方案

    1. 方案背景和挑戰 Ceph是一個高度可擴展、高性能的開源分布式存儲系統,設計用于提供優秀的對象存儲、塊存儲和文件存儲服務。它的幾個核心特點是: 彈性擴展: Ceph能夠無縫地水平擴展存儲容量
    的頭像 發表于 07-15 13:44 ?1337次閱讀
    基于DPU的<b class='flag-5'>Ceph</b>存儲解決方案

    【線路板設計】詳解pcb插件特點

    PCB插件是在PCB設計軟件中使用的擴展工具,用于簡化和增強PCB設計過程。這些插件提供了許多功能和特性,幫助工程師更快速、高效地完成電路板設計。今天捷多邦小編就與大家詳細的講解pcb插件的特點吧
    的頭像 發表于 05-21 17:51 ?784次閱讀

    鴻蒙實戰開發學習:【HiView插件開發】

    Hiview是一個跨平臺的終端設備維測服務集,其中是由插件管理平臺和插件實現的各自功能構成整套系統。 本文描述了hiview插件開發的全部流程。
    的頭像 發表于 03-12 11:52 ?1350次閱讀
    鴻蒙實戰開發學習:【HiView<b class='flag-5'>插件</b>開發】

    IBM積極推進Ceph擴展,以打造AI領域的底層數據存儲基石

    BM正著手擴展Ceph的塊和文件存儲功能,希望將其定位為Storage Scale并行文件系統之下面向AI工作負載的后端數據存儲。
    發表于 02-20 16:15 ?410次閱讀

    插件型功率電感封裝類型對使用有影響嗎

    插件型功率電感封裝類型對使用有影響嗎 編輯:谷景電子 插件型功率電感在電子電路中是特別重要的一種電感元件,它對于保證電路的穩定運作有著特別重要的影響。要想充分發揮插件型功率電感的功能作用,選型工作
    的頭像 發表于 02-18 13:52 ?435次閱讀

    EC800M-CNM參考設計資料

    EC800M-CN參考設計資料,移遠模組搬運工。
    發表于 01-26 15:43 ?50次下載

    請問怎樣使用cephadm部署ceph集群呢?

    從紅帽ceph5開始使用cephadm代替之前的ceph-ansible作為管理整個集群生命周期的工具,包括部署,管理,監控。
    的頭像 發表于 01-16 09:32 ?1537次閱讀
    請問怎樣使用cephadm部署<b class='flag-5'>ceph</b>集群呢?
    主站蜘蛛池模板: 欧美一第一页草草影院| 精品人妻无码一区二区三区蜜桃臀 | 少妇内射兰兰久久| 暖暖高清视频免费| 老师小扫货水能么多叫出来| 国产午夜精品理论片| 国产精品久久久久久久久无码 | 一区二区三区无码高清视频| 亚洲AV美女成人网站P站| 色www永久免费| 三八成人网| 善良的小峓子2在钱免费中文字 | 欧美性XXXXX极品娇小| 男女爽爽无遮挡午夜视频在线观看| 久久成人免费观看全部免费| 精品久久久爽爽久久久AV| 国内精品久久久久影院网站| 韩国女主播内部vip自带氏巾| 国产精品无码人妻在线| 国产精品久久久久久久久久久| 国产精品69人妻无码久久| 国产乱码一区二区三区 | 小向美奈子厨房magnet| 亚洲AV无码国产精品色午夜情 | 亚洲 小说 欧美 激情 另类| 污漫日本E同人| 亚洲中文字幕无码一去台湾| 亚洲影院在线播放| 又黄又肉到湿的爽文| 99久久精品6在线播放| 疯狂小护士| 狠狠色狠狠色综合系列| 老师你奶真大下面水真多| 欧美日韩精品久久久免费观看| 手机在线国产视频| 亚洲欧美中文在线一区| 越南女子杂交内射BBWXZ| 天天影视色欲 影视| 97精品免费视频| 777久久人妻少妇嫩草AV蜜桃| 床上色APP下载免费版 |