Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
分散アルゴリズム(1)
Search
suikwasha
November 07, 2012
0
210
分散アルゴリズム(1)
自分用メモ
P5 to P20
suikwasha
November 07, 2012
Tweet
Share
More Decks by suikwasha
See All by suikwasha
分散アルゴリズム(3)
suikwasha
0
2k
分散アルゴリズム(2)
suikwasha
0
210
Featured
See All Featured
Building Your Own Lightsaber
phodgson
97
5.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
320
20k
Infographics Made Easy
chrislema
237
18k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Rails Girls Zürich Keynote
gr2m
91
13k
Statistics for Hackers
jakevdp
789
220k
A better future with KSS
kneath
230
16k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
Producing Creativity
orderedlist
PRO
336
39k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Transcript
ࢄΞϧΰϦζϜ ̍ɼࢄγεςϜͷඞཁੑ ̎ɼࢄγεςϜ
• ࢄγεςϜͱʁ ͋Δڞ௨ͷతͷͨΊʹ௨৴ωοτϫʔ ΫͰ݁߹͞Εͨࣗతʹಈ࡞͢Δܭࢉػ ͷγεςϜɽ • ࢄγεςϜͷॴ ύϑΥʔϚϯεɾ֦ுੑɾՄ༻ੑ • ͜͜ͰɼࢄΞϧΰϦζϜΛهड़͢Δ
ͨΊͷݴޠ ALGOL Λಋೖ͢Δɽ
• ࢄγεςϜͷϞσϧ ϓϩηεͷू߹ͱ௨৴ϦϯΫͷू߹ ௨৴ϦϯΫ P3 P2 P1 ϓϩηε
• ϓϩηε ஞ࣍ΞϧΰϦζϜ͕ɼ͋Δϓϩηοαʹ ׂΓͯΒΕ࣮ͯߦ͞Ε͍ͯΔաఔɽ • ֤ϓϩηε Pi ࣝผࢠ id(Pi) Λ࣋ͭɽࣝ
ผࢠ O(log n) Ϗοτͷࣗવɽ • ֤ϓϩηε Pi ہॴ࣌ܭΛ࣋ͭɽ ཧ࣌ؒ͋Δ͍࣮࣌ؒΛදݱ͢Δɽ
• ௨৴ϦϯΫ ϓϩηεؒ௨৴Λ࣮ݱ͢Δखஈɼର ௨৴ɽ୯ํɾํ͕͋Δɽ • ୯ํϦϯΫɿҰํʹ͔͠ૹ৴Ͱ͖ͳ ͍ɽ • ํϦϯΫɿ྆ํʹϝοηʔδΛૹ ৴Ͱ͖Δɽ
• ϝοηʔδૹड৴ํ๏ͷछྨɽ ૹ৴ͱड৴ʹͦΕͧΕ̎छྨͷํ๏͕͋ Δɽ • ྫɿϓϩηε P1 ͕ϝοηʔδ M Λϓϩ
ηε P2 ʹૹ৴͠Α͏ͱͨ͠ͱ͢Δɽ M ϓϩηε P1 ϓϩηε P2 send receive ೖྗͪߦྻ
• ϒϩοΩϯά Send P2 ͕ M Λड৴ՄೳʹͳΔ·Ͱ P1 ͕ͨ͞ΕɼP2 ͕
M Λड৴ͨ࣌͠ʹऴྃ͢Δɽ • ඇϒϩοΩϯά Send ૹͬͨϝοηʔδ͕ड৴͞ΕΔ·Ͱ P1 ͕ͨ͞Εͳ ͍ɽ͜ͷ࣌ɼϝοηʔδ P2 ͷೖྗͪߦྻʹೖΔ • ̎छྨͷҧ͍ɼϒϩοΩϯά Send P1 ͕ P2 ͷ M ͷड৴ΛΔ͜ͱ͕ग़དྷΔɽ
• ϒϩοΩϯά Receive ೖྗͪߦྻʹϝοηʔδ͕ແ͍࣌ɼϝοηʔδ͕౸ ண͢Δ·Ͱͭɽʢॲཧதஅ͞ΕΔʣ • ඇϒϩοΩϯά Receive ೖྗͪߦྻʹϝοηʔδ͕ແͯ͘ɼϝοηʔδͷ ౸ணΛͨͳ͍ɽ
• ೖྗͪߦྻʹϝοηʔδ͕͋Δͱ͖ɼϝοηʔδ ΛऔΓग़ͯ͠ฦ͢ɽ
• ࠓճɼඇϒϩοΩϯά Send ͱϒϩο Ωϯά Receive Λ࠾༻ͨ͠௨৴ػߏΛར ༻͢Δɽ
• ࢄγεςϜͷྨ ಉظγεςϜɾඇಉظγεςϜ
• ಉظγεςϜͱʁ ҎԼͷ̏ͭͷ݅Λຬͨ͢ɽ ̍ɼϓϩηεͷ࣮ߦʹԼݶ͕͋Δɽ ̎ɼ௨৴ʹ͔͔Δ௨৴Ԇʹఆͷ্ݶ͕͋Δɽ ̏ɼҙͷେҬ࣌ܭͰɼͯ͢ͷϓϩηε Pi ͷہॴ࣌ ܭͷ͍͠ɽ •
ϓϩηε͕େҬ࣌ܭΛࢀরͰ͖ͯɼ௨৴Ԇ͕ ͦΕͧΕ͋ΔఆͰԡ͑͞ΒΕΔͱԾఆ͞ΕΔɽ
• ϥϯυ ಉظγεςϜͰࣄͷ୯ҐΛநԽͨ͠୯Ґɽ ֤ϓϩηεಉظ֤ͯ͠ϥϯυΛ࣮ߦ͢ΔͱΈͳͤ Δɽ P1 P2 P3 ɾɾɾ Pn
ϥϯυ1 ϥϯυ2 ϥϯυ3 ϥϯυn ߋʹଓ͘... ϝοηʔδަ ܭࢉͳͲ
• ඇಉظγεςϜ ಉظγεςϜͰͳ͍ࢄγεςϜ • શඇಉظγεςϜ ҎԼͷ̏ͭͷ݅Λຬͨ͢ɽ ̍ɼͲͷϓϩηεͷ໋ྩ༗ݶ࣌ؒʹ࣮ߦ͞ΕΔ ̎ɼ௨৴Ԇʹରͯ͠ͲͷΑ͏ͳԾઆઃ͚ͳ͍ ̏ɼہॴ࣌ܭͷࠩʹରͯ͠ͲͷΑ͏ͳԾઆઃ͚ͳ͍
• ࢄΞϧΰϦζϜͱʁ ֤ϓϩηε Pi ͕࣮ߦ͢ΔΞϧΰϦζϜ Ai ͷू߹ A ͷ͜ͱɽ •
֤ϓϩηε͕શ͘ҧ͏ΞϧΰϦζϜͷ ͰՄೳɽ • ࢄΞϧΰϦζϜɼ͔̍ͭෳͷ࢝ಈ ϓϩηεʹΑͬͯ։࢝͞ΕΔɽ ͦΕҙ֎ͷϓϩηεϝοηʔδΛड৴࣮ͯ͠ߦΛ։࢝͢Δɽ
• ࢄΞϧΰϦζϜͷෳࡶ͞ ௨৴ෳࡶɾ࣌ؒෳࡶ • ௨৴ෳࡶ ϝοηʔδෳࡶͱϏοτෳࡶͰද͢ • ࣌ؒෳࡶ ඇಉظγεςϜͱಉظγεςϜͰఆ͕ٛҟͳΔɽ
• ϝοηʔδෳࡶ ΞϧΰϦζϜ͕ऴྃ͢Δ·Ͱʹަͨ͠ϝοηʔδͷ૯ • Ϗοτෳࡶ ϓϩηεؒͰަ͞ΕΔϝοηʔδͷ૯Ϗοτ • ಉظγεςϜͷ࣌ؒෳࡶ ΞϧΰϦζϜ͕ఀࢭ͢Δ·Ͱͷϥϯυ
• ඇಉظγεςϜͷ࣌ؒෳࡶ ௨ৗɼΞϧΰϦζϜ͕ىಈ͔ͯ͠Βɼఀࢭ͢Δ·Ͱͷ࣌ ؒɽ ඇಉظγεςϜͰɼҎԼͷཧ༝ʹΑΓ࠾༻Ͱ͖ͳ͍ɽ • ඇಉظγεςϜͷϓϩηε࣮ߦ͕ҰͰͳ͍ɽ • ϓϩηεͰͷखଓ͖ݺͼग़͠ΑΓɼϝοηʔδ௨৴ ͷ΄͏͕ѹతʹ͍ɽ
• ඇಉظγεςϜͷ࣌ؒෳࡶ ΞϧΰϦζϜ͕ఀࢭ͢Δ·Ͱʹੜͨ͡ϝ οηʔδͷ࠷ʹଐ͢Δϝοηʔδ • ϝοηʔδͷ࠷ͱʁ લͷϝοηʔδड৴ͷ݁Ռɼੜ͞Ε ͨΑ͏ͳϝοηʔδྻʢʁʣ → ͭ·Γϝοηʔδͷཤྺʁ