Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
First step of “Chord” 2016-09-23 ࣾษڧձ @kakakakakku
Slide 2
Slide 2 text
Cloud Computing Concepts, Part 1 by
Slide 3
Slide 3 text
࠷ۙ Coursera Ͱ ཤमͯ͠ΔߨٛͰֶΜͩ “Chord” ΛβοΫϦͱհ͠·͢
Slide 4
Slide 4 text
What is “Chord” ?
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
(ƅшƅ) ŴƅŜŖƃ ?
Slide 7
Slide 7 text
εέʔϥϏϦςΟͷ͋Δ P2P ୳ࡧΞϧΰϦζϜʢҙ༁ʣ → ൃද2001
Slide 8
Slide 8 text
[Related Algorithms] Tapestry Pastry Kademlia ʘ ࠓհ͠ͳ͍͚Ͳଞʹ͋Δ ʗ
Slide 9
Slide 9 text
[Related Implementation] Cassandra Dynamo Riak Voldemort ʘ ϛυϧΣΞΛΠϝʔδ͢Δͱۙײ༙͘ ʗ
Slide 10
Slide 10 text
ʘ Dynamo ͷจ·ͨผͷػձʹհ͠·͢ ʗ
Slide 11
Slide 11 text
P2P Λྨ͢Δͱ...
Slide 12
Slide 12 text
Unstructured Overlay Structured Overlay Chord Napster / Gnutella
Slide 13
Slide 13 text
Goal of “Chord”
Slide 14
Slide 14 text
େྔͷΩʔΛͲ͏ࢄͤ͞Δ ? େྔͷΩʔΛͲ͏ޮతʹ୳ࡧͤ͞Δ ? ϊʔυͷ૿ݮʹͲ͏ରԠ͢Δ ?
Slide 15
Slide 15 text
“Chord” = Consistent Hashing + Finger Table
Slide 16
Slide 16 text
(ƅшƅ) Űō?
Slide 17
Slide 17 text
Consistent Hashing ղઆ
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
ҰݴͰද͢ͱ Ωʔͷ࠶ஔͷӨڹΛݮͨ͠ ޮతͳϋογϡ๏ʢҙ༁ʣ
Slide 20
Slide 20 text
Bad Example ʘ ࠷ॳʹμϝͳྫΛݟͯΈ·͠ΐ͏ ʗ
Slide 21
Slide 21 text
3 Nodes 4 Keys ΩϨΠʹ ࢄͨ͠ ??? ୯७ʹ mod ͰΩʔΛϊʔυʹஔ͢Δͱ...
Slide 22
Slide 22 text
͠1 ނোͨ͠߹ ΦϨϯδҎ֎ શͯͷΩʔΛ࠶ஔ ͢Δඞཁ͕͋Δ
Slide 23
Slide 23 text
Consistent Hashing ొ
Slide 24
Slide 24 text
ϊʔυͱΩʔΛϋογϡԽͯ͠ ԾϦϯά্ʹஔ͢Δ ※ԾͷҙຯࠓճׂѪ͠·͢...
Slide 25
Slide 25 text
֤Ωʔ͔Βݟͯ ࣌ܭճΓʹ1൪ۙͨ͠ϊʔυʹ ΩʔΛஔ͢Δͱ͍͏ߟ͑ํ ʢͦͷϊʔυ Successor ͱݺͿʣ
Slide 26
Slide 26 text
Ϧϯάۭؒ ஔ ஔ ஔ
Slide 27
Slide 27 text
Ϧϯάۭؒ ނোͰ࠶ஔ͕ඞཁͳΩʔ ʹݮ͞ΕΔ ஔ ࠶ஔ ஔ
Slide 28
Slide 28 text
Αͬͯ ϊʔυՃʗނোʢҙਤతͳݮগʣ ʹରͯ͠ ہॴతͳӨڹʹ͑ΒΕΔ
Slide 29
Slide 29 text
Finger Table ղઆ
Slide 30
Slide 30 text
Chord ͷಛతͳΈ ! ҰݴͰද͢ͱγϣʔτΧοτతͳ ?
Slide 31
Slide 31 text
Bad Example ʘ ࠷ॳʹμϝͳྫΛݟͯΈ·͠ΐ͏ ʗ
Slide 32
Slide 32 text
୳ࡧ͢Δͱ͖ʹ key ͕͋Δ ୳ࡧΛϦΫΤετ ͢Δϊʔυ
Slide 33
Slide 33 text
ϊʔυΛॱ൪ʹḷͬͯ͠·͏ͱ ઢܗ୳ࡧʹͳͬͯ͠·͏… ʘ Oh, No! ʗ
Slide 34
Slide 34 text
Finger Table ొ
Slide 35
Slide 35 text
ҙͷϊʔυʹରͯ͠ ࢦؔతʹ୳ࡧՄೳͳ ϩέʔγϣϯʢҙ༁ʣΛఆΊͯ ଟஈ֊ʹ୳ࡧͤ͞Δ
Slide 36
Slide 36 text
͜ͷྫͩͱ m=3 ͰޮՌ͕ແͦ͞͏ʹݟ͑Δ͚Ͳ... Finger Table
Slide 37
Slide 37 text
ઢܗ୳ࡧΛճආͰ͖ΔͨΊ ۭؒͷεέʔϦϯάʹରͯ͠ ୳ࡧ࣌ؒେ͖͘ࠨӈ͞Εͳ͘ͳΔ ʘ Good! ʗ
Slide 38
Slide 38 text
“Chord” = Consistent Hashing + Finger Table ʘ βοΫϦͱཧղͯ͠Β͑ͨ ? ʗ
Slide 39
Slide 39 text
࣮ࡍͷ “Chord” Ͱ ϊʔυΛ SHA-1(ip, port) Ͱஔͯ͠ ΩʔΛ SHA-1(key) Ͱஔ͢Δ ※SHA-1 ͳΒ 160 bit ͷۭؒͰදݱͰ͖Δ
Slide 40
Slide 40 text
·ͱΊ
Slide 41
Slide 41 text
ʑͬͯΔٕज़ ੈքதͷεΰΠਓ͕ͨͪߟ͑ͨ ΞϧΰϦζϜʹࢧ͑ΒΕ͍ͯΔʂ
Slide 42
Slide 42 text
ٕज़Λͨͩ͏͚ͩͰͳ͘ ཁૉٕज़Λཧղ͢Δ͜ͱॏཁʂ
Slide 43
Slide 43 text
To be continued …