Upgrade to Pro — share decks privately, control downloads, hide ads and more …

分散システムにおける 無兆候データ破損の影響について

分散システムにおける 無兆候データ破損の影響について

第14期サイボウズ・ラボユース成果発表会
https://cybozu.connpass.com/event/347931/

木田碧

Cybozu

March 14, 2025
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ  • ࢯ໊: ໦ా ป • ॴଐ: ܚጯٛक़େֶ ੓ࡦɾϝσΟΞݚڀՊ

    म࢜Ұ೥ • ݚڀ෼໺: ෼ࢄσʔλϕʔεɺ෼ࢄ߹ҙΞϧΰϦζϜ
  2. ແஹީσʔλഁଛʹ͓͚ΔӨڹ ແஹީσʔλഁଛ͸େن໛෼ࢄγεςϜͰಛʹ໰୊ͱͳΔ • Amazon S3Ͱ͸2008೥7݄20೔ʢถࠃ࣌ؒʣʹɺαʔϏε ͕9࣌ؒʹΘͨͬͯར༻Ͱ͖ͳ͘ͳΔͱ͍͏ো֐͕ൃੜͨ͠ [1] • Intel ͸σʔληϯλʔͷΑ͏ͳେྔͷϓϩηοαΛ࢖༻͢

    Δ؀ڥͰ͸ɺແஹީσʔλഁଛͷΑ͏ͳඇৗʹكͳࣄ৅Ͱ ΋ɺରࡦ͕ෆՄܽͳ΄Ͳසൟʹൃੜ͢ΔՄೳੑ͕͋Δͱड़ ΂Δ [2] <>IUUQTXFCBSDIJWFPSHXFCIUUQTTUBUVTBXTBNB[PODPNTIUNM <>IUUQTXXXJOUFMDPKQDPOUFOUXXXKQKBDPOUFOUEFUBJMTEBUBDFOUFSTJMFOUEBUBFSSPSTUFDIOJDBMQBQFSIUNM 
  3. ଱ো֐ੑͷ෼ྨ  ଱Ϋϥογϡো֐ੑ (Crash Fault Tolerance, CFT) ো֐଱ੑ ੑೳɾίετ ଱Ϗβϯνϯো֐ੑ

    (Byzantine Fault Tolerance, BFT) ແஹީσʔλഁଛ͸Ϗβϯνϯ ো֐ʹ෼ྨ͞ΕΔ
  4. Intel PinʹΑΔແஹީσʔλഁଛͷ࠶ݱ  • ແஹީσʔλഁଛͷ࠶ݱʹɺDBI (Dynamic Binary Instrument)πʔϧͷ Intel PinΛ࢖༻

    • Just-In-Time (JIT) ίϯύΠϥΛ࢖༻͠ ͯϓϩάϥϜΛ࣮ߦதʹมߋ • ࠨͷਤͷApplication͕BraftͰɺPintool ͕ແஹީσʔλഁଛΛҾ͖ى͜͢ιʔ είʔυ [2] ʹ౰ͨΔ <>$IJ,FVOH-VL 3PCFSU$PIO 3PCFSU.VUI )BSJTI1BUJM "SUVS ,MBVTFS (FP ff -PXOFZ 4UFWFO8BMMBDF 7JKBZ+BOBQB3FEEJ BOE ,JN)B[FMXPPE1JOCVJMEJOHDVTUPNJ[FEQSPHSBNBOBMZTJT UPPMTXJUIEZOBNJDJOTUSVNFOUBUJPO4*(1-"//PU  +VOF  rIUUQTEPJPSH <>IUUQTCJUCVDLFUPSHECC f  <>
  5. Braftͷ௨ৗͷڍಈ  • ΫϥΠΞϯτϦΫΤετͷछྨ • Write: valueʹ1Λ௥Ճ͢Δ • Read: valueͷ஋ΛಡΉ

    <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF ࣮ߦϩά
  6. ແஹީσʔλഁଛ͕ൃੜ͢Δͱɺɺ • Write࣌ͷॲཧᶅͰແஹީσʔλഁଛ͕ ൃੜ͠ɺ1Ͱ͸ͳ͘ɺ ͕ε ςʔτϚγϯ্ͷvalueʹ௥Ճ͞ΕΔɻ −(264 − 1) <3&"%>7BMVF

    <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF <83*5&>"EE <3&"%>7BMVF ࣮ߦϩά 
  7. ࠓޙͷ՝୊  • Braftʹແஹީσʔλഁଛ΁ͷ ໢ཏతͳ଱ੑΛ෇༩͢Δ (HardPaxos [1]Λࢀߟ) • ූ߸Խͱ৑௕࣮ߦΛ૊Έ߹Θ ͤΔ͜ͱͰɺແஹީσʔλഁ

    ଛΛݕग़͠ɺσʔλഁଛΛΫ ϥογϡো֐΁ม׵͢Δ ׬੒Πϝʔδਤ <>%#FISFOT %,VWBJTLJJBOE$'FU[FS )BSE1BYPT3FQMJDBUJPO)BSEFOFEBHBJOTU)BSEXBSF&SSPST *&&&SE*OUFSOBUJPOBM 4ZNQPTJVNPO3FMJBCMF%JTUSJCVUFE4ZTUFNT /BSB +BQBO  QQ EPJ43%4