Slide 1

Slide 1 text

Programmable Interconnect Control Adaptive to Communication Pattern of Applications େࡕେֶେֶӃ৘ใՊֶݚڀՊ ϚϧνϝσΟΞ޻ֶઐ߈Ԡ༻ϝσΟΞ޻ֶߨ࠲ ∁ڮܛஐ ೥݄೔

Slide 2

Slide 2 text

ং࿦ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ .1*௨৴ͱܭࢉͷ࿈܎ػߏ ݁࿦ શମߏ੒

Slide 3

Slide 3 text

ষং࿦

Slide 4

Slide 4 text

ߴੑೳܭࢉ͸࠷ઌ୺ͷՊֶٕज़ͷݚڀ։ൃʹඞਢͷಓ۩ ‣ ࡐྉՊֶɺੜ໋Պֶɺ஍ٿՊֶɺ֩෺ཧֶͳͲଟ͘ͷ෼໺Ͱ׆༻ ‣ ΑΓେن໛ͳ໰୊Λղͨ͘Ίܭࢉੑೳ΁ͷཁٻ͸ߴ·Γଓ͚͍ͯΔ ‣ &YB'-014΁ͷ౸ୡΛ໨ࢦͯ͠ݚڀ͕ਪਐ͞Ε͍ͯΔ എܠߴੑೳܭࢉ 1IPUPCZ0BL3JEHF/BUJPOBM-BCPSBUPSZ$$#: 0SJHJOBMIUUQTXXXqJDLSDPNQIPUPTPBLSJEHFMBC ং࿦

Slide 5

Slide 5 text

ۙ೥ͷߴੑೳܭࢉγεςϜͷଟ͘͸ΫϥελΞʔΩςΫνϟʹجͮ͘ ‣ Ϋϥελ͸૬ޓ݁߹໢ʹΑΓ઀ଓ͞Εͨଟ਺ͷܭࢉػ͔Βߏ੒ ‣ ֤ܭࢉػ͸૬ޓ݁߹໢Λհͯ͠σʔλΛަ׵͠ͳ͕Βฒྻܭࢉ ૬ޓ݁߹໢ͷ௨৴ੑೳͷॏཁੑ 0 1 2 3 4 5 ૬ޓ݁߹໢ ߴੑೳωοτϫʔΫ ܭࢉػ ૬ޓ݁߹໢Λհͨ͠௨৴ ϓϩηε ং࿦ 5PQ +VOF ͷ ΞʔΩςΫνϟ಺༁ $MVTUFS .11 ૬ޓ݁߹໢ͷ௨৴ੑೳ͸Ϋϥελ શମͷܭࢉੑೳΛେ͖͘ࠨӈ͢Δ

Slide 6

Slide 6 text

ूஂ௨৴ ʜ ର௨৴ )1$޲͚ϓϩηεؒ௨৴ϥΠϒϥϦ ‣ ϓϩηε͸/8ΞυϨεͷ୅ΘΓʹ ϥϯΫ ϓϩηε*% ʹΑͬͯࣝผ ‣ ฒྻϓϩάϥϛϯάʹ༗༻ͳ ର௨৴ͱूஂ௨৴Λఏڙ .FTTBHF1BTTJOH*OUFSGBDF .1* 0 1 4FOE *TFOE 3FDW *SFDW 0 2 3 1 #DBTU 1 2 3 0 3FEVDF 2 3 0 1 "MMUPBMM 5$1*1 .1*ϥΠϒϥϦ ΞϓϦέʔγϣϯ 4PDLFU 7FSCT 14. .1* *OpOJ#BOE 0NOJ1BUI ং࿦ ϓϩηε ϓϩηε

Slide 7

Slide 7 text

໰୊ݻఆతͳ૬ޓ݁߹໢ ϓϩηεؒ௨৴ͷॴཁ͕࣌ؒ૿େ͠ɺ ΞϓϦέʔγϣϯͷ࣮ޮੑೳ͕௿Լ ૬ޓ݁߹໢಺ͷϦϯΫͰ௨৴ܦ࿏ͷিಥ͕ൃੜ ૬ޓ݁߹໢ͷઃܭ ߏங࣌ʹܾఆ͠ॊೈͳมߋ͕ ࠔ೉ τϙϩδ ϧʔςΟϯά ং࿦ ϓϩηεؒ௨৴ύλʔϯ ΞϓϦέʔγϣϯ͝ͱʹҟͳΓ ࣮ߦதʹมԽ͢Δ ΞϓϦ$ 0 1 2 3 ΞϓϦ# 0 1 2 3 ΞϓϦ" 0 1 2 3

Slide 8

Slide 8 text

ॊೈ͔ͭಈతͳωοτϫʔΫ੍ޚΛ࣮ݱ͢Δ/8ΞʔΩςΫνϟ ‣ ैདྷͷωοτϫʔΫʹ͓͚Δ੍ޚػೳͱసૹػೳΛ෼཭ ‣ ωοτϫʔΫΛιϑτ΢ΣΞͷΑ͏ʹϓϩάϥϜՄೳʹ͢Δ ‣ 4%/ͷۀքඪ४త࣮૷͸0QFO'MPX 4PGUXBSF%FpOFE/FUXPSLJOH 4%/ ैདྷͷ/8ΞʔΩςΫνϟ 4%/ ੍ޚ ੍ޚ ੍ޚ సૹ సૹ సૹ సૹ సૹ సૹ ίϯτϩʔϥ ੍ޚ ੍ޚ ੍ޚ ং࿦

Slide 9

Slide 9 text

ؔ࿈ݚڀ ϓϩηε഑ஔ ϓϩηεؒ௨৴ύλʔϯ 0 1 2 3 4 5 6 7 8 9 10 11 ૬ޓ݁߹໢ͱ௨৴ύλʔϯΛ ҙࣝͨ͠ϓϩηε഑ஔ ૬ޓ݁߹໢ͷτϙϩδΛ ҙࣝͨ͠ूஂ௨৴ΞϧΰϦζϜ 0 1 2 3 4 5 6 7 8 9 10 11 ૬ޓ݁߹໢ ং࿦ ಈతมߋ ಈతมߋ ಈతมߋ ૬ޓ݁߹໢ͷϓϩάϥϚϏϦςΟΛ ׆༻ͨ͠ݚڀ͕ෆे෼

Slide 10

Slide 10 text

໨తϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ૬ޓ݁߹໢ ܭࢉػ ং࿦ ΞϓϦ" ΞϓϦ# ΞϓϦ$ 0 1 2 3 0 1 2 3 0 1 2 3 ಈత੍ޚ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త .1*ΞϓϦέʔγϣϯ

Slide 11

Slide 11 text

՝୊ ং࿦ MPI_Bcast(…); for (i = 0; i < N; i++) { … } … MPI_Allreduce(…); 4SD %TU *OTUSVDUJPOT A B Output to X A C Output to Y B D Output to Z .1*ΞϓϦέʔγϣϯ ϓϩηεؒ௨৴ύλʔϯ ૬ޓ݁߹໢੍ޚ໋ྩ ՝୊૬ޓ݁߹໢಺ͷύέοτϑϩʔ ͷղੳ 0 1 2 3 4 5 0 1 2 3 4 5 ՝୊௨৴ύλʔϯΛҙࣝͨ͠૬ޓ݁߹໢ͷ ಈత੍ޚʹΑΔ௨৴ͷߴ଎Խ ՝୊ΞϓϦέʔγϣϯͷ࣮ߦͱ ૬ޓ݁߹໢ͷ੍ޚͷ࿈܎ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త

Slide 12

Slide 12 text

શମߏ੒ ং࿦ ষ.1*௨৴ͱܭࢉͷ࿈܎ػߏ ௨৴ͱܭࢉ͕࿈܎ಈ࡞͢Δ৽ͨͳΫϥελΞʔΩςΫ νϟΛཱ֬ ষ4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ .1*ूஂ௨৴Λߴ଎Խ͢Δύέοτϑϩʔ੍ޚΞϧΰ ϦζϜΛ഑උՄೳͳϑϨʔϜϫʔΫΛߏங ষ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ΞϓϦέʔγϣϯ͕૬ޓ݁߹໢಺ʹੜ੒͢Δύέοτ ϑϩʔͷղੳखஈΛ࣮ݱ ՝୊૬ޓ݁߹໢಺ͷ ύέοτϑϩʔͷղੳ ՝୊૬ޓ݁߹໢ͷಈత ੍ޚʹΑΔ௨৴ͷߴ଎Խ ՝୊ΞϓϦͷ࣮ߦͱ ૬ޓ݁߹໢ͷ੍ޚͷ࿈܎ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త

Slide 13

Slide 13 text

ষ૬ޓ݁߹໢಺ύέοτϑϩʔͷ ղੳπʔϧ ؔ࿈ۀ੷ ‣ ,FJDIJ5BLBIBTIJFUBM l1'"OBMZ[FS"5PPMTFUGPS"OBMZ[JOH"QQMJDBUJPOBXBSF%ZOBNJD *OUFSDPOOFDUTz 8PSLTIPQPO.POJUPSJOHBOE"OBMZTJTGPS)JHI1FSGPSNBODF$PNQVUJOH4ZTUFNT 1MVT"QQMJDBUJPOT )1$."41" 4FQ

Slide 14

Slide 14 text

શମߏ੒ ষ.1*௨৴ͱܭࢉͷ࿈܎ػߏ ௨৴ͱܭࢉ͕࿈܎ಈ࡞͢Δ৽ͨͳΫϥελΞʔΩςΫ νϟΛཱ֬ ষ4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ .1*ूஂ௨৴Λߴ଎Խ͢Δύέοτϑϩʔ੍ޚΞϧΰ ϦζϜΛ഑උՄೳͳϑϨʔϜϫʔΫΛߏங ষ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ΞϓϦέʔγϣϯ͕૬ޓ݁߹໢಺ʹੜ੒͢Δύέοτ ϑϩʔͷղੳखஈΛ࣮ݱ ՝୊૬ޓ݁߹໢಺ͷ ύέοτϑϩʔͷղੳ ՝୊૬ޓ݁߹໢ͷಈత ੍ޚʹΑΔ௨৴ͷߴ଎Խ ՝୊ΞϓϦͷ࣮ߦͱ ૬ޓ݁߹໢ͷ੍ޚͷ࿈܎ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ

Slide 15

Slide 15 text

ϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷݚڀ։ൃ Ϋϥελͷߏ੒ ௨৴ύλʔϯ 0 2 1 3 δϣϒηοτ K K K K ૬ޓ݁߹໢ ߴੑೳωοτϫʔΫ ܭࢉػ ෳ߹త࡞༻ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ૬ޓ݁߹໢಺ͷύέοτϑ 0 1 2 3 ΞϓϦέʔγϣϯ͕૬ޓ݁߹໢಺ʹੜ੒͢Δ ύέοτϑϩʔͷධՁ؀ڥ͕ෆՄܽ

Slide 16

Slide 16 text

ষͷ໨త Ϋϥελ্ͰΞϓϦέʔγϣϯΛ࣮ߦͨ͠ࡍʹɺ૬ޓ݁߹໢಺ʹ ൃੜ͢ΔύέοτϑϩʔΛղੳ͢ΔͨΊͷධՁ؀ڥΛߏங͢Δ ໨త ௨৴ύλʔϯ Ϋϥελͷߏ੒ 0 2 1 3 K K K K ෳ߹త࡞༻ ૬ޓ݁߹໢ ߴੑೳωοτϫʔΫ ܭࢉػ δϣϒηοτ ཁ࣮݅ΞϓϦέʔγϣϯͷ௨৴ύλʔϯͷநग़ ཁ݅૬ޓ݁߹໢಺ͷύέοτϑϩʔΛߴ଎ʹਪఆ ཁ݅Ϋϥελͷϓϩηε഑ஔಛੑͷ࠶ݱ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ

Slide 17

Slide 17 text

1'"OBMZ[FS૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ཁ࣮݅ΞϓϦέʔγϣϯͷ௨৴ύλʔϯͷநग़ ཁ݅૬ޓ݁߹໢಺ͷύέοτϑϩʔΛߴ଎ʹਪఆ ཁ݅Ϋϥελͷϓϩηε഑ஔಛੑͷ࠶ݱ 1'1SPG ϓϩϑΝΠϥ .1*ؔ਺ʹΑͬͯൃੜͨ͠ϓϩηε ؒ௨৴Λܭଌɾه࿥͢ΔͨΊͷࡉཻ౓.1*ϓϩϑΝΠϥ 1'4JN γϛϡϨʔλ ಈత੍ޚ͞Εͨ૬ޓ݁߹໢಺ͷ ύέοτϑϩʔΛղੳ͢ΔͨΊͷܰྔγϛϡϨʔλ

Slide 18

Slide 18 text

ूஂ௨৴Λߏ੒͢Δݸผͷର௨৴·Ͱิ଍ՄೳͳϓϩϑΝΠϥ ‣ طଘͷϓϩϑΝΠϥ͸ूஂ௨৴Λߏ੒͢Δର௨৴Λิ଍Ͱ͖ͳ͍ ‣ .1*1FSGPSNBODF3FWFBMJOH&YUFOTJPO*OUFSGBDF 1&364& Λ ࢖༻͢Δ͜ͱͰɺݸผͷର௨৴·Ͱิ଍͢Δ͜ͱΛՄೳʹ͢Δ 1'1SPGࡉཻ౓.1*ϓϩϑΝΠϥ ࣮ࡍʹ࣮ߦ͞ΕΔ௨৴ #JOPNJBM5SFF ΞϧΰϦζϜ ΞϓϦέʔγϣϯ͔Βݟͨ.1*@#DBTU ͷڍಈ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ

Slide 19

Slide 19 text

1'4JN૬ޓ݁߹໢಺ύέοτϑϩʔγϛϡϨʔλ 0 1 2 3 4 5 ϊʔυׂ౰ ϓϩηε഑ஔ ϧʔςΟϯά K K K K ૬ޓ݁߹໢಺ͷ ύέοτϑϩʔྔ εέδϡʔϦϯά ௨৴ύλʔϯ Ϋϥελͷߏ੒ 0 2 1 3 K K K K δϣϒηοτ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ϦϓϨΠ Ϛοϐϯά ࠶ݱ ग़ྗ ೖྗ 1'4JN ग़ྗ

Slide 20

Slide 20 text

ධՁ࣮ݧ ߲໨ γϛϡϨʔγϣϯ৚݅ ܭࢉϊʔυ ୆ ܭίΞ τϙϩδ ஈ'BUUSFF PWFSTVCTDSJQUJPO SBUJP ௨৴ύλʔϯ /"4$( ϧʔςΟϯά %NPE, ఏҊπʔϧ͕ɺΫϥελ্ͰΞϓϦέʔγϣϯΛ࣮ߦͨ͠ࡍͷ ૬ޓ݁߹໢಺ͷύέοτϑϩʔΛਖ਼֬ʹਪఆͰ͖͍ͯΔ͔ධՁ͢Δ ໨త ௨৴ྔ͕ଟ͍ϕϯνϚʔΫ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ core1 core2 edge1 edge2 edge3 edge4 ܭࢉػ܈ ૬ޓ݁߹໢

Slide 21

Slide 21 text

$PSFεΠον&EHFεΠονؒͷύέοτϑϩʔͷྦྷੵྔΛγϛϡ Ϩʔγϣϯͱ࣮ଌ஋Ͱൺֱ ‣ ޡࠩ͸࠷େͰ͋Γɺਖ਼֬ʹύέοτϑϩʔྔΛਪఆͰ͖͍ͯΔ DPSFˠ FEHF DPSFˠ FEHF DPSFˠ FEHF DPSFˠ FEHF DPSFˠ FEHF DPSFˠ FEHF DPSFˠ FEHF DPSFˠ FEHF FEHFˠ DPSF FEHFˠ DPSF FEHFˠ DPSF FEHFˠ DPSF FEHFˠ DPSF FEHFˠ DPSF FEHFˠ DPSF FEHFˠ DPSF ࣮ଌ஋ γϛϡϨʔγϣϯ ධՁ݁Ռ ࠷େޡࠩ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ૬ޓ݁߹໢ ܭࢉػ܈ DPSF DPSF FEHF FEHF FEHF FEHF

Slide 22

Slide 22 text

૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧΛఏҊ ‣ ଟ༷ͳ৚݅ԼͰΞϓϦέʔγϣϯΛ࣮ߦͨ͠ࡍͷ૬ޓ݁߹໢಺ͷ ύέοτϑϩʔྔΛৄࡉʹղੳՄೳ ఏҊπʔϧ͕ύέοτϑϩʔྔΛਖ਼֬ʹਪఆͰ͖͍ͯΔ͔ݕূ ‣ ࣮ଌ஋ͱൺֱ͠ޡࠩ͸࠷େͰ͋Γɺਖ਼֬ʹύέοτϑϩʔྔΛ ਪఆͰ͖͍ͯͨ ষͷ·ͱΊ ଟ༷ͳΞϓϦέʔγϣϯͱΫϥελߏ੒ͷԼʹ͓͚Δ૬ޓ݁߹໢಺ ύέοτϑϩʔͷղੳखஈΛ࣮ݱ ߩݙ ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ

Slide 23

Slide 23 text

ষ4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ ؔ࿈ۀ੷ ‣ ,FJDIJ5BLBIBTIJFUBM l1FSGPSNBODF&WBMVBUJPOPG4%/FOIBODFE.1*@"MMSFEVDFPOB$MVTUFS 4ZTUFNXJUI'BUUSFF*OUFSDPOOFDUz 5IF*OUFSOBUJPOBM$POGFSFODFPO)JHI1FSGPSNBODF$PNQVUJOH BOE4JNVMBUJPOT )1$4 +VM

Slide 24

Slide 24 text

શମߏ੒ ষ.1*௨৴ͱܭࢉͷ࿈܎ػߏ ௨৴ͱܭࢉ͕࿈܎ಈ࡞͢Δ৽ͨͳΫϥελΞʔΩςΫ νϟΛཱ֬ ষ4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ .1*ूஂ௨৴Λߴ଎Խ͢Δύέοτϑϩʔ੍ޚΞϧΰ ϦζϜΛ഑උՄೳͳϑϨʔϜϫʔΫΛߏங ষ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ΞϓϦέʔγϣϯ͕૬ޓ݁߹໢಺ʹੜ੒͢Δύέοτ ϑϩʔͷղੳखஈΛ࣮ݱ ՝୊૬ޓ݁߹໢಺ͷ ύέοτϑϩʔͷղੳ ՝୊૬ޓ݁߹໢ͷಈత ੍ޚʹΑΔ௨৴ͷߴ଎Խ ՝୊ΞϓϦͷ࣮ߦͱ ૬ޓ݁߹໢ͷ੍ޚͷ࿈܎ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 25

Slide 25 text

ूஂ௨৴Ͱ͸ଟ਺ͷܭࢉػ͕ಉ࣌ଟൃతʹ௨৴͢ΔͨΊɺ ૬ޓ݁߹໢΁ͷෛՙ͕ߴ͍ ‣ ϦϯΫʹ͓͍ͯ௨৴ܦ࿏͕িಥ͢Δͱϓϩηεؒ௨৴ੑೳ͕௿Լ ‣ Ұ෦ͷϓϩηεؒ௨৴ͷੑೳ௿Լ͕ूஂ௨৴શମͷੑೳʹӨڹ .1*ूஂ௨৴ʹ͓͚Δ௨৴ܦ࿏ͷিಥ 0 1 2 3 ௨৴ܦ࿏ͷিಥ ूஂ௨৴ͷ௨৴ύλʔϯ 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 26

Slide 26 text

‣ ຊݚڀͰ͸ूஂ௨৴ͷதͰ΋࢖༻ස౓͕ߴ͍"MMSFEVDFؔ਺ʹண໨ ‣ "MMSFEVDF͸༗ݶཁૉ๏΍ਂ૚ֶशͷฒྻԽʹ͓͍ͯॏཁ ষͷ໨త .1*@"MMSFEVDF .1*@46. ૬ޓ݁߹໢಺ͷύέοτϑϩʔͷಈత੍ޚʹΑΓ௨৴ܦ࿏ͷিಥΛ ܰݮ͠ɺ.1*ूஂ௨৴Λߴ଎Խ͢ΔϑϨʔϜϫʔΫΛߏங 0 1 2 3 0 1 2 3 ໨త 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 27

Slide 27 text

ఏҊͷجຊํ਑ .1*ूஂ௨৴ؔ਺ͷ௨৴ύλʔϯΛߟྀ͠ɺ૬ޓ݁߹໢಺ͷύέοτ ϑϩʔΛෛՙ෼ࢄ͢Δ͜ͱʹΑΓɺ௨৴ܦ࿏ͷিಥΛܰݮ͠௨৴Λ ߴ଎Խ 0 2 1 3 4 6 5 7 .1*ूஂ௨৴ؔ਺ͷ ௨৴ύλʔϯ ಈత੍ޚ ϦϯΫؒͷෛՙΛ෼ࢄ ೖྗ ૬ޓ݁߹໢ͷίϯτϩʔϥ 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 28

Slide 28 text

4%/Λ׆༻ͨ͠.1*ूஂ௨৴ϑϨʔϜϫʔΫ ੍ޚ 4%/ίϯτϩʔϥ ܭࢉϊʔυ ૬ޓ݁߹໢ .1*ϥΠϒϥϦ .1*ΞϓϦέʔγϣϯ 4%/.1*ϥΠϒϥϦ τϙϩδݕग़ εΠον੍ޚ "MMSFEVDF #DBTU ੍ޚΞϧΰϦζϜ ֎෦*' ʜ িಥΛܰݮ͢Δ੍ޚΞϧΰϦζϜ ूஂ௨৴ͷ։࢝ ϓϩηε഑ஔ 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 29

Slide 29 text

"MMSFEVDF༻ύέοτϑϩʔ੍ޚΞϧΰϦζϜ 0 2 1 3 1 3 0 1 2 3 0 2 1 3 .1*@"MMSFEVDFͷ ϓϩηεؒ௨৴ύλʔϯ ૬ޓ݁߹໢ͷτϙϩδ 0 2 .1*@"MMSFEVDFͷϓϩηεؒ௨৴ʹΑͬͯൃੜ͢Δܭࢉػؒͷ ύέοτϑϩʔΛᩦཉ๏ʹΑΓ৑௕ܦ࿏ؒʹ෼ࢄ ໨త 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 30

Slide 30 text

ධՁ࣮ݧ .1*@"MMSFEVDFͷ࣮ߦ࣌ؒ ஈ'BUUSFFτϙϩδ ϊʔυ ఏҊ.1*@"MMSFEVDFͷ 0QFO.1*ʹର͢Δߴ଎Խ཰ ௨৴ύλʔϯΛߟྀͨ͠ύέοτϑϩʔ੍ޚʹΑΓɺ௨৴ܦ࿏ͷ িಥΛܰݮ͠ɺ.1*@"MMSFEVDFؔ਺Λߴ଎ԽͰ͖͔ͨධՁ͢Δ ໨త ࣮ߦ࣌ؒ ϝοηʔδαΠζ<.#> 0QFO.1* ୅දతͳ.1*࣮૷ ఏҊ ߴ଎Խ཰ ϝοηʔδαΠζ<.#> ͷߴ଎Խ 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 31

Slide 31 text

4%/Λ༻͍ͨύέοτϑϩʔ੍ޚʹΑΓ.1*ूஂ௨৴Λߴ଎Խ ‣ ௨৴ύλʔϯΛߟྀ͠ɺ૬ޓ݁߹໢಺ͷύέοτϑϩʔΛ෼ࢄ͢Δ ͜ͱʹΑΓɺ௨৴ܦ࿏ͷিಥΛܰݮ ‣ ୅දతͳ.1*ूஂ௨৴ؔ਺Ͱ͋Δ.1*@"MMSFEVDFΛର৅ͱͯ͠ ϓϩτλΠϓ࣮૷Λ։ൃ ‣ ैདྷͷ.1*@"MMSFEVDFʹൺ΂ͯ࠷େͰͷߴ଎ԽΛ࣮ݱ ষͷ·ͱΊ 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎ԽΛ֓೦࣮ূ͠ɺ ूஂ௨৴ͷߴ଎ԽͷجૅͱͳΔϑϨʔϜϫʔΫΛߏங ߩݙ 4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ

Slide 32

Slide 32 text

ষ.1*௨৴ͱܭࢉͷ࿈܎ػߏ ؔ࿈ۀ੷ ‣ ,FJDIJ5BLBIBTIJFUBM l6OJTPO'MPX"4PGUXBSF%FpOFE$PPSEJOBUJPO.FDIBOJTNGPS.FTTBHF 1BTTJOH$PNNVOJDBUJPOBOE$PNQVUBUJPOz *&&&"DDFTT WPM OP QQ ‣ ,FJDIJ5BLBIBTIJFUBM l$PODFQUBOE%FTJHOPG4%/FOIBODFE.1*'SBNFXPSLz 5IFGPVSUI FEJUJPOPGUIF&VSPQFBO8PSLTIPQPO4PGUXBSF%FpOFE/FUXPSLT &84%/ QQ 4FQ

Slide 33

Slide 33 text

શମߏ੒ ষ.1*௨৴ͱܭࢉͷ࿈܎ػߏ ௨৴ͱܭࢉ͕࿈܎ಈ࡞͢Δ৽ͨͳΫϥελΞʔΩςΫ νϟΛཱ֬ ষ4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ .1*ूஂ௨৴Λߴ଎Խ͢Δύέοτϑϩʔ੍ޚΞϧΰ ϦζϜΛ഑උՄೳͳϑϨʔϜϫʔΫΛߏங ষ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ΞϓϦέʔγϣϯ͕૬ޓ݁߹໢಺ʹੜ੒͢Δύέοτ ϑϩʔͷղੳखஈΛ࣮ݱ ՝୊૬ޓ݁߹໢಺ͷ ύέοτϑϩʔͷղੳ ՝୊૬ޓ݁߹໢ͷಈత ੍ޚʹΑΔ௨৴ͷߴ଎Խ ՝୊ΞϓϦͷ࣮ߦͱ ૬ޓ݁߹໢ͷ੍ޚͷ࿈܎ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 34

Slide 34 text

࣮ࡍͷ)1$ΞϓϦέʔγϣϯͷ࣮ߦͷ༷ࢠ 0 1 2 3 ܭࢉ ௨৴ ϓϩηε 0 1 2 3 0 1 2 3 0 1 2 3 .1*@"MMSFEVDF ܭࢉ ௨৴ ʜ ʜ ʜ ʜ ʜ 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 .1*@"MMUPBMM 0 1 2 3 .1*@"MMSFEVDFͷ ௨৴ύλʔϯ 0 1 2 3 .1*@"MMUPBMMͷ ௨৴ύλʔϯ ϛϦඵͷΦʔμͰมԽ .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 35

Slide 35 text

ষͷ໨త #include int main() { MPI_Init(&argc, &argv); MPI_Bcast(buf, count, …); /* … */ MPI_Allreduce(buf, count, …); MPI_Finalize(); } ࣌ؒมԽ͢Δ ௨৴ύλʔϯ ૬ޓ݁߹໢಺ ύέοτϑϩʔͷ੍ޚ ࿈܎ ࣮ߦ ੍ޚ 4SD."$ %TU."$ ʜ *OTUSVDUJPOT aa:aa:aa: … ff:ff:ff: … Flood bb:bb:bb: … aa:aa:aa: … Output to Port X aa:aa:aa: … bb:bb:bb: … Set Dst IP to Y,… 4SD."$ %TU."$ ʜ *OTUSVDUJPOT aa:aa:aa: … ff:ff:ff: … Flood bb:bb:bb: … aa:aa:aa: … Output to Port X aa:aa:aa: … bb:bb:bb: … Set Dst IP to Y,… 4SD."$ %TU."$ ʜ *OTUSVDUJPOT aa:aa:aa: … ff:ff:ff: … Flood bb:bb:bb: … aa:aa:aa: … Output to Port X aa:aa:aa: … bb:bb:bb: … Set Dst IP to Y,… ΞϓϦέʔγϣϯͷ࣮ߦͱ૬ޓ݁߹໢಺ͷύέοτϑϩʔ੍ޚΛ ௿ΦʔόʔϔουͰ࿈܎͢Δػߏͷ࣮ݱ ໨త .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 36

Slide 36 text

࿈܎ػߏͷجຊతΞΠσΟΞ .1*ؔ਺Λ࣮ߦ͢Δ౓ʹίϯτϩʔϥ ͱ௨৴͢ΔͱΦʔόʔϔουେ .1*ͷ৘ใ ੍ޚ ίϯτϩʔϥ εΠον ܭࢉػ .1*ؔ਺ͷ৘ใΛݸʑͷ ύέοτࣗମʹλάͱͯ͠ຒΊࠐΉ .1*ύέοτ ੍ޚ .1*ͷ৘ใ .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 37

Slide 37 text

֤ύέοτʹ.1*ΤϯϕϩʔϓΛූ߸Խͯ͠λάͱͯ͠ຒΊࠐΉ ‣ εΠονͰ͸λάͷ஋ΛݩʹύέοτΛ੍ޚ ‣ طଘͷ4%/εΠονͷύέοτॲཧύΠϓϥΠϯ͕ಡΈऔΕΔ &UIFSOFUϔομΛར༻͢Δ͜ͱͰɺ௿ΦʔόʔϔουΛ࣮ݱ λάͷ಺༰ͱຒΊࠐΉ৔ॴ 5$1 ϔομ *1 ϔομ &UIFSOFU ϔομ *1 ϔομ .1* Τϯϕϩʔϓ .1* ϝοηʔδ - - - - εΠον಺)8Ͱ ॲཧՄೳ ஗ԆЖT 4%/ίϯτϩʔϥ΁ సૹ͕ඞཁ ஗ԆNT .1* ϝοηʔδ .1* ϝοηʔδ .1* ϝοηʔδ .1* Τϯϕϩʔϓ .1* Τϯϕϩʔϓ .1* Τϯϕϩʔϓ 5$1 ϔομ 5$1 ϔομ ѼઌϥϯΫɺίϛϡχέʔ λɺूஂ௨৴ͷछྨ౳ .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 38

Slide 38 text

6OJTPO'MPXܭࢉͱ௨৴ͷ࿈܎ػߏ .1*ΞϓϦέʔγϣϯ .1*ϥΠϒϥϦ Ϣʔβۭؒ 5$1ϨΠϠ *1ϨΠϠ &UIFSOFUϨΠϠ /*$υϥΠό /*$ Χʔωϧۭؒ 4%/ίϯτϩʔϥ ੍ޚ 4PDLFU λά෇͚ -,. ΧελϜ.1*ϥΠϒϥϦ JPDUM .1* 5BH *OTUSVDUJPOT " 0VUQVUUPQPSU9 # 0VUQVUUPQPSU: ʜ ʜ 4%/ίϯτϩʔϥ ։ൃͨ͠ιϑτ΢ΣΞ .1*ύέοτ λά .1*ύέοτ .1*ύέοτ .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 39

Slide 39 text

DPSF DPSF FEHF FEHF FEHF FEHF .1*ͱ࿈܎ͨ͠૬ޓ݁߹໢ͷ੍ޚͷ֬ೝ int main() { … MPI_Allreduce(…); … MPI_Alltoall(…); … } .1*@"MMSFEVDF .1*@"MMUPBMM 0 5.0*105 1.0*106 1.5*106 2.0*106 2.5*106 3.0*106 0 50 100 150 200 250 300 350 400 Bandwidth (bps) Elapsed Time (s) core1 (port1) core2 (port41) ఏҊख๏ͳ͠ 0 5.0*105 1.0*106 1.5*106 2.0*106 2.5*106 3.0*106 3.5*106 4.0*106 4.5*106 5.0*106 0 50 100 150 200 250 300 350 400 Bandwidth (bps) Elapsed Time (s) core1 (port1) core2 (port41) ఏҊख๏͋Γ .1*@"MMSFEVDF .1*@"MMUPBMM MPI_Alltoall MPI_Allreduce ࿈܎ ࢖༻ස౓ɾ૬ޓ݁߹໢΁ͷෛՙߴ "MMSFEVDF࣮ߦத͸DPSFͷΈ࢖༻ "MMUPBMM࣮ߦத͸DPSFͷΈ࢖༻ DPSFͱ΋ʹ࢖༻ .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 40

Slide 40 text

ఏҊख๏ʹΑΓɺର௨৴ʹൃੜ͢ΔΦʔόʔϔουΛධՁ ‣ .1*ͷ֤ؔ਺ͷύϑΥʔϚϯεΛଌఆ͢Δ046.JDSP#FODINBSLΛ ༻͍ɺϊʔυؒͰͷ.1*@4FOE3FDWͷεϧʔϓοτͱ஗ԆΛܭଌ ର௨৴ͷΦʔόʔϔουͷܭଌ .1*௨৴ͱܭࢉͷ࿈܎ػߏ ஗Ԇͷൺֱ ஗Ԇ<ЖT> & & & & & ϝοηʔδαΠζ<#> & & & 6OJTPO'MPX͋Γ 6OJTPO'MPXͳ͠ εϧʔϓοτͷൺֱ εϧʔϓοτ<.#T> & & & & & & ϝοηʔδαΠζ<#> & & & 6OJTPO'MPX͋Γ 6OJTPO'MPXͳ͠

Slide 41

Slide 41 text

.1*௨৴ͱܭࢉͷ࿈܎ػߏΛఏҊ ‣ ࣮ΞϓϦͰ͸ϓϩηεؒ௨৴ύλʔϯ͸࣌ؒมԽ͢Δ ‣ ΞϓϦέʔγϣϯͷ࣮ߦͱɺ૬ޓ݁߹໢಺ͷύέοτϑϩʔͷ੍ޚ Λ࿈܎͢ΔػߏΛఏҊ ‣ ఏҊ͢Δػߏ͸طଘͷ4%/εΠονͰಈ࡞͠ɺΦʔόʔϔου͕ খ͍͞ ষͷ·ͱΊ ௨৴ͱܭࢉ͕ύέοτ୯ҐͰ࿈܎ಈ࡞͢Δ৽ͨͳΫϥελΞʔΩς ΫνϟΛཱ֬ ߩݙ .1*௨৴ͱܭࢉͷ࿈܎ػߏ

Slide 42

Slide 42 text

ষ݁࿦

Slide 43

Slide 43 text

ষͷ·ͱΊ ষ.1*௨৴ͱܭࢉͷ࿈܎ػߏ ௨৴ͱܭࢉ͕࿈܎ಈ࡞͢Δ৽ͨͳΫϥελΞʔΩςΫ νϟΛཱ֬ ষ4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ .1*ूஂ௨৴Λߴ଎Խ͢Δύέοτϑϩʔ੍ޚΞϧΰ ϦζϜΛ഑උՄೳͳϑϨʔϜϫʔΫΛߏங ষ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ΞϓϦέʔγϣϯ͕૬ޓ݁߹໢಺ʹੜ੒͢Δύέοτ ϑϩʔͷղੳखஈΛ࣮ݱ ՝୊૬ޓ݁߹໢಺ͷ ύέοτϑϩʔͷղੳ ՝୊૬ޓ݁߹໢ͷಈత ੍ޚʹΑΔ௨৴ͷߴ଎Խ ՝୊ΞϓϦͷ࣮ߦͱ ૬ޓ݁߹໢ͷ੍ޚͷ࿈܎ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త ݁࿦

Slide 44

Slide 44 text

ෳ਺δϣϒͷฒྻ࣮ߦ΁ͷରԠ ‣ ෳ਺ͷδϣϒΛฒྻʹ࣮ߦ͢ΔΫϥελʹରԠ ‣ ҟͳΔδϣϒؒͷׯবΛߟྀ͢Δඞཁ͕͋Δ ύέοτϑϩʔ੍ޚΞϧΰϦζϜͷ௥Ճͱվྑ ‣ "MMSFEVDFҎ֎ͷ.1*ूஂ௨৴ؔ਺Λߴ଎Խ͢Δύέοτϑϩʔ੍ޚ ΞϧΰϦζϜΛ։ൃ কདྷ՝୊ ݁࿦

Slide 45

Slide 45 text

શମߏ੒ ষ.1*௨৴ͱܭࢉͷ࿈܎ػߏ ௨৴ͱܭࢉ͕࿈܎ಈ࡞͢Δ৽ͨͳΫϥελΞʔΩςΫ νϟΛཱ֬ ষ4%/ʹΑΔ.1*ूஂ௨৴ͷߴ଎Խ .1*ूஂ௨৴Λߴ଎Խ͢Δύέοτϑϩʔ੍ޚΞϧΰ ϦζϜΛ഑උՄೳͳϑϨʔϜϫʔΫΛߏங ষ૬ޓ݁߹໢಺ύέοτϑϩʔͷղੳπʔϧ ΞϓϦέʔγϣϯ͕૬ޓ݁߹໢಺ʹੜ੒͢Δύέοτ ϑϩʔͷղੳखஈΛ࣮ݱ ՝୊૬ޓ݁߹໢಺ͷ ύέοτϑϩʔͷղੳ ՝୊૬ޓ݁߹໢ͷಈత ੍ޚʹΑΔ௨৴ͷߴ଎Խ ՝୊ΞϓϦͷ࣮ߦͱ ૬ޓ݁߹໢ͷ੍ޚͷ࿈܎ ΞϓϦέʔγϣϯͷϓϩηεؒ௨৴ύλʔϯΛߟྀͯ͠ύέοτ ϑϩʔΛ੍ޚ͢ΔϓϩάϥϚϒϧͳ૬ޓ݁߹໢੍ޚٕज़ͷ࣮ݱ ໨త ݁࿦

Slide 46

Slide 46 text

༧උεϥΠυ

Slide 47

Slide 47 text

0QFO'0". ਺஋ྲྀମྗֶιϧό ͷϕϯνϚʔΫ݁Ռ ‣ ϊʔυͰ͸ɺΞϓϦέʔγϣϯશମͷ͕.1*௨৴ɺͦͷ಺ ͕.1*@"MMSFEVDFʹඅ΍͞Ε͍ͯΔ ‣ "MMSFEVDFΛߴ଎Խ͢Δͱɺ.1*௨৴ΛɺΞϓϦέʔγϣϯ શମΛߴ଎Խ .1*@"MMSFEVDFͷ࢖༻ྫ )1$"EWJTPSZ$PVODJM 0QFO'0".1FSGPSNBODF#FODINBSLBOE1SPpMJOH +VMZΑΓൈਮ

Slide 48

Slide 48 text

‣ Defined as a matrix T of which element Tij is equal to the volume of traffic sent from rank i to rank j ‣ Implies that the volume of traffic between processes as constant during the execution of a job Representation of Communication Pattern 0 50 100 Sender Rank 0 25 50 75 100 125 Receiver Rank 0.0 0.2 0.4 0.6 0.8 1.0 Sent Bytes £108 An example obtained from running the NERSC MILC benchmark with 128 processes The communication pattern of an application is represented using its traffic matrix

Slide 49

Slide 49 text

1'4JN"SDIJUFDUVSF Event Event Event Queue j1 j2 j3 j4 Job Submitted Event Handlers … Job Started Job Finished Job Queue Simulator State Update Interconnect Computing Nodes Event Dispatch Customized via Plugins