ƻHPC¥ńƻĔĜżĉŘƊƷȐȔǴ
ȃǯǽƻÔŐýêƹǌƾƺŉ®$%%$ǽȐǠȌȄȒǠŎŖȓȇǲȎ$–$$hĠĹȞƕ (Ïq)Ɩ÷èȖÏNqȗƖąðȖÏ
qȗƖēȖqȗƖĝąȖqȗƖ1ÍȖqȗƖ ȖĢìqȗ$
ǔǴǹǖǥȞƕłȖĢìqȗƖ ȖqȗƖĨø
ȖĀĔȗ$

×ň$
ǽȐǠȌȄȒǠ!ǔȔǝǱǟǮȈƷǔǽȍǡȔǦȋȒ
ǒƳƹƤǖȒǬȔǻǘǖǨ$$ûƺŹňƺƹǎ_Ɗ$• ǾǱȐǧǵǔǨǔȔǝǱǟǮȈ$• Ȇȇȍƀ ȓȇǲȎ$ĻƷĂă• qŊÚ;$
ƻĞ$
• ƇE$
• ĺµƂ$ƮǏǌǒōçƫǎƯǆƺǈǎǀƢĔĜżĉƷƼȠ$ƐǾǱȐǧǵǔǨǔȔǝǱǟǮȈ$
CPU$

GPU$

MEM$

MEM$

• ¼ŊǽȐǠȌȅżĉ$• ǔȎǣȍǩȅƻǾǱȐǧǵǔǨǔȔǝǱǟ
ǮȈƿƻÈŴM$– _Ɗƻ9DƷDǍƵ$• X²$– ÙöǽȐǠȌȄȒǠŎŖȓȌǖǼȌȍƻÝt$– ĻX²ƻÝt$ƑǾǱȐǧǵǔǨǔȔǝǱǟǮȈ• ÿeƻģȓÿý$– ÙöǽȐǠȌȄȒǠȇǲȎȓākƻĔĜżĉƏ$• ÿeƼǸȔǴǗǘǔǒƣŜƩƯǽȐǠȌȄȒǠȇǲȎ$• ĻÈŴMƼ2ŭMƨǏƵƜƹƜ$• ƻǔǽȐȔǮ$– 2012ȡ2017:$ǖȒǬǻǘȔǨƻ2ŭMƖÙöǽȐǠȌȄȒǠŎŖƠǌƻ?
Ą$• PĽLÈŴMǈĽLǮȉȔǵȒǠ¥ń$• ǔǟǪȌȏȔǬƷƻǲȔǬŦūƻĽLMȓƎKþM$• Ň¸ĚƌƻǔǟǪȌȏȔǬƿƻƏ(e.g.$dGPUƷAPU)$• ¼ÜĻƻÉKîĄ½ëƻÔŐȖǔǟǪȌȏȔǬŽŭ&ƹƸ)$– 2018ȡ2020:$ñŠƇEƹƸƻ@ĪƠǌǾǱȐMơƨǌƺűŃ$• ǾǱȐƹākǒƜƦƹƫ¥ńơǃƫǃƫŹň$• ÿeƷƼ0ƣĈƹǎǔȔǝǱǟǮȈƻǔǟǪȌȏȔǬ$– ƞƽFPGAƻǋƝƹ6ØXĻǸȔǴǗǘǔȆȇȍ• ŘƊȞŇƄMƫǎȆȇȍǔȔǝǱǟǮȈ$– ÿeȞ9·ȆȇȍǦǨǱȅșGPGPU$ƔƏMPI,$CUDAƶĿJƩƵÇƜƵƜǎ$– ȞƨǌƹǎqŊÚ9·MșǷȔǴ5ƶǇǝȈǯǦȉƀ ƻŇƄMș$ƇõƻŷLĊ)Þș°ĉȆȇȍ«Ą$– șƨǌƺǔȔǝǱǟǮȈǒŜƩƯǽȐǠȌȄȒǠơåǆǌǏș$ĂăơƶƢƹƜǂƸòAƺƹǎXĻ$• ŲUȓÿýƻWǍįǄ$– x0ĽLMȖe.g.,$HPFȗƼŲUƺr¶$– ǔȔǝǱǟǮȈǒŜƨƭƳƳșƝǃƣ§ŞMƫǎƦƷƶőũǒħ#MƨƭǎǇƻơÿeƻ ïȖPGASșǲǕȏǟǱǕǼǿȔǨȗ$– ǷȔǴ5ƻȆȇȍŇƄMƺƩƯǇƻƼǃưƹƜȖSequoia++ƹƸȗ$• ƻǔǽȐȔǮ$– ȡ2017$• ÿeżĉ ƻPGASțǾǱȐŎŖƻÄVȖzņƻíĴșȌǖǼȌȍƻ-zġȗ$• ǷȔǴ5ŇƄMƺ\ƥƯżĉȚƯƷƞƽșǝȈǯǦȉƻǫǻǳǗǘǔĥĀșȐȔǛȎǨǳǔș°ĉȆȇȍșƇE)ÞƹƸǒƸƝ§ŞMƫǎƠƻÔŐșǽȐǳǬǖǽzņ$– ȡ2020ȞǷȔǴ5ŇƄMŎŖƻÄV$qŊÚ;ǦǨǱȅƶƻƏStrong$Scaling• ǹȒǴ\ƻƯǆƻÆƹǎƀ
– pƀM$

ǝȈǯǦȉƖǶǯǳȑȔǟƻƀ M• ďĊƹȏǖǱȒǦlqƺǋǎŮ\ƻſĆ$
ƔƏƀ MƨǏƯǦǨǱȅƶƻȏǖǱȒǦBó$– ȏǖǱȒǦǶǯǳȑȔǟØMƖƀ ƻǹǖǺǨ$Ɩŭ&ÜĻƎƔƏqŊÚ;ȓƀ ƨǏƯǦǨǱȅǒÉKƺîĄƶƢǎǫǻǳǗǘǔ
2011/10/15ƒqŊÚ;• ŘƊ$–ƀĊƠƳļqƹ;$• ƈƺp¸ƻǷȔǴșǷȔǴ5ƻp¸ƻǢǔșǢǔ5ƻp¸ƻSIMD
;$• ǔǟǪȌȏȔǬîĄƻň$– NUMAØ• ØȓƈfŢǶǯǳȑȔǟ$ǒŜƩƯǽȐǠȌȄȒǠơň$• ÿeƻģȓÿý$– ƀ Ċƹ;ǒ?ĄƫǎƯǆƺYƀ
ȐǠȌȄȒǠȇǲȎ$• ıĊƹőũƠǌYƀ

ĄƺŒŏƨǏƯǽƻ;ǒ?Ąƫǎň$– qŊÚ;ĄƻǔȎǣȍǩȅ6Œŏ$• ÿeïƻSPMD½ƶƼĬĎƺŅÿƶƢƹƜġƻ_Ɗ$• ƻǔǽȐȔǮ$– ƀ Ċ;ƻıĊ?Ą$– qŊÚ;ĄƺŒŏƨǏƯǔȎǣȍǩȅƻǤȂȔǳ$

ƇE
• ŘƊ$
– ñŠƇE@Ī$– ǸȔǴǗǘǔȓǫǻǳǗǘǔƻRřƺǋǎƇEKþ
ÈqM• ÿeƻģȓÿý$– SWƠǌǄƯHWƻñŠƇE/ñŠǙǶȎǞȔƺž
ƫǎÙöǖȒǬǻǘȔǨƫǌ¹*ƨǏƵƜǎƷƼŎƜƆƜ$• ƻǔǽȐȔǮ– $HW/SWŽÙöǖȒǬǻǘȔǨơ¹*ƨǏșƮǏǒ
?ĄƩƵșƏǦǨǱȅǫǻǳǗǘǔơ (orĥĀĹ)ƷƹǍƇE@ĪƶƻĻÈqM$ĺµƂ• ĺµƂǢǨǳlq&µƂþƻlGƿƻſĆ$–ƷƩƵňĬ¸ƖŊÚƻlGơTa$ȞƏǮǘǯǟȂǖȒǳǒ2ÉǨǳȏȔǧƿ%uƫǎÃ
ŽơǦǨǱȅƻMTBFǒţƞǎ$• ȀǬǨǡȔȎȃǦȒƶ¸O9ƠƠǎǡȔǨǇ$• Û»țŰŻĊµƂƻŇƄM$– ǦǨǱȅƻŇƄƺǋǍµƂňaơ=ÀƩƴǌƜ$– µƂƻ¢Mơ8ÎƬ0ǨǬǯǟ¿ƺƹǍơƱ$• ƆÔđµƂƻlG$– ECC$ƻſĆǒţƞƯǲȔǬMƥ$– µƂÔđĻEǒ*ƞƹƜňĬƻlq$• ŭ&ǡȔǼȎǈCPUȏǧǨǬġ$2011/10/15ƓĺµƂ• ŘƊ$– ǙǟǤǨǡȔȎƶƼĺµƂǒĸơǧȋǼƻzŃƺ
XÝ(MTBFơĒƣƹǎƯǆ)$– ǔǽȍǡȔǦȋȒƠǌƖµƂƻÔđ/¿ǒ@ƫǎň$• ÿeƻģȓÿý$– ǦǨǱȅ0ƻǮǘǯǟȂǖȒǱǕȒǠ/ȍǨǬȔǳ$– MPIƻĺµƂÜĻƻÙöM$• ƻǔǽȐȔǮ$– ŎŖȏǿȎƶǮǘǯǟȂǖȒǱǕȒǠȓ¿½ëǒªyƩƖǔǽȍǡȔǦȋȒǽȐǠȌȃƻĺµƂőũƻş¨ŧó$– Master%WorkergƹƸĺµƂǒőũƩǈƫƜǽȐǠȌȄ
ȒǠȇǲȎƻǤȂȔǳ$– µƂ ôĩƻ\ǒC­ƷƩƯƖŎŖȏǿȎƶƻµƂyǽȐǠȌȄȒǠāk$• ƦǏǃƶƻiĖĔĜǒiČƷƩƯÎƻƛǎǀƢǽȐǠȌȄȒǠākƷƼȠ$– ƙĻơ8ƵƖĂăơƛǍƖƸǓƹǦǨǱȅā
kƶǇƞƖÐťơƛǎƚƼĞbƆƹƻƶƸ
ƝƫǎǀƢƠ$• yākƻ$
1. ¾uǔǽȍƷƻŌ]ŹŋƻǔǽȐȔǮ$2. ǴȆǖȒûMƺǋǎƎäöMƻǔǽȐȔǮ$ǔǽȍǡȔǦȋȒęŃ´±$• ƦǏǃƶƺŁěƨǏƵƢƯļqƹǫǻǳǗǘǔšăƻĲ¤$– ƮƻǃǃƻýƶƼǙǟǤǦǨǱȅƶƎĻǒų ƶƢƹƜ$!$ƹǓǌƠƻ£áƶǔǽȍǡȔǦȋȒǒűMƨƭǎň$$• ǈǎǀƢĔĜżĉ$– ęŃǢǨǳƻŧó£ëƻĔĜ$• ¾uǢȔǴǒƜƳǃƶƜĳƥǌǏǎƠȠ/ĳƥǎǀƢƠȠ$– ǔǽȍǡȔǦȋȒiÌØůƻ6Œŏȓ6zņǢǨǳƷęŃǢǨǳƻãŨ$• ȌȒǬǖȅǦǨǱȅƶƸƦǃƶŬŲĊƺƃǁƜƶƢǎƠȠ/ƫǀƢƠȠ$– ƠƩƦƜzŃÃākơÿǦǨǱȅƷ¼ǦǨǱȅƻǒƃǁƜ$• ęŃÕǒƸƦǃƶĽLMƶƢǎƠȠ/ƫǀƢƠ?$– XcalableMPǈOpenACCƹƸƻǲǕȏǟǱǕǼǿȔǨƼŌ]Ǝ$– ǙǟǤÃƻǔǽȍŒŏƷ¾uǢȔǴƻ6?Ą$• ǔǽȍǒiÌØůƠǌ6ŒŏȠŒŏªźƼǃưǑƠǌƹƜ$áƀĊƺęŃ$ȖĀĊƂmȗ$ÎƻǔȔǝǱǟǮȈƻnM$ƿƻĲĳĊƹŴÕ$

6zņǢǨǳƏ>>$ęÓǢǨǳȘ´±ākżĉǢǨǳ$• ƹƺǒ´±ƫǀƢƠ/ƶƢǎƻƠȠ$– ǢȔǴƻŒŏƖXŗƖ%wƖX²ƻİHM$– Ŵ:ƹzņȓǔȎǣȍǩȅƻnM$• ½źÒ$– ǢȔǴ'ßƻǜǖǴȌǖȒƻ$• 4gĊƹŏĤǺǬȔȒƧƷƺ½źǒÀĕM$• ǜǖǴȌǖȒƺéƲƯǢȔǴ'ßǒ´±ƫǎǰȔȎ¹*ƖƹƸ$– $zņ/ǦǨǱȅ!uǒŧóƫǎ§ŞM$• ǦǨǱȅØ ƺ!uƩƯzņƻ`Ŷ/ƃǁƜ$• ǔȎǣȍǩȅǈǲȔǬØůƻŕĭǒƃǁƜƖƹƸ$• ¬sȐȔǴȃǯǽ$– ŏĤĘvĹƷŏĤÜĘvĹƻZƺǋǎǜǖǴȌǖȒƷƮǏƺiƴƣ´±ǰȔȎżĉ$– F ƻ­ėƷǜǖǴȌǖȒƿƻǻǕȔǴǹǯǟ$ǔǽȍǡȔǦȋȒǻȏȔȅȑȔǟ$• ûyǴȆǖȒƺûMƩƯǽȐǠȌȅżĉāk$– ȞƕRuby$on$RailsƖDrupalƖHadoopƖSQL$– ĂăƖĻƖX²ǒzÿƖƩƠƩæĄ$ƼÝt$• ŏĤĘv\ƥǻȏȔȅȑȔǟ$– ǔǽȍǡȔǦȋȒǴȆǖȒƻȁǝȈǼȌȍƶ$ǽȐǠȌȅǒőũ$– ŏĤÜƻȁǝȈǼȌȍƶƼőũƩƹƜ$– 1ȞƕOpenFOAM$• ï\ƥǻȏȔȅȑȔǟƗƅ·MƖǲȔǬ/8EƖƹƸ2ŭŏĤǺǬȔȒǒ§8ƩȌǖǼȌȍƷƩƵ­ $– 2ȞƕListz$• ƈØůŏĤ\ƥǻȏȔȅȑȔǟƗYĚǔȔǝǱǟǮȈ\ƥzŃǢȔǴǒĽLĂ $ǻȏȔȅȑȔǟƿƻęÓơňȖ<ËǢǨǳqȗ$ÎƻǔȔǝǱǟǮȈƻnMƿƻ}ÁƹȖĽLĊƹȗŴ$ǻȏȔȅȑȔǟżĉǢǨǳ$<<$$$$ǔǽȍżĉǢǨǳ$$+$$ǻȏȔȅȑȔǟǔǽȍżĉǢǨǳ$• ½źÒ1ȞƕżĉǻȏȔȅȑȔǟƻŵ>$– ǔǽȍǡȔǦȋȒƻŏĤǺǬȔȒƻûy$• Berkeley$mo]fsƖMini$appsƕƹƸ$– $ŏĤǺǬȔȒâƺǻȏȔȅȑȔǟǒżĉ$• (ƘƻǺǬȔȒǒ§ŞĊƺőũXĻƹǽȐǠȌȄȒǠǖȒǬȔǻǘǖǨ$• ŏĤǺǬȔȒƺûMƩƯ;MƖşŀ9·ƖƹƸ$• ¬sȐȔǴȃǯǽ$– ÿýƼǻȏȔȅȑȔǟǒĚƘƻǴȆǖȒƺƩƵżĉƩđŉ
ǒěǅáƀ$• ĚƘƻǔȔǝǱǟǮȈ\ƥÈŴMǻȏȔȅȑȔǟǒżĉ$– ǔǽȍǡȔǦȋȒżĉĹƷƻ2[Õ$– ǻȏȔȅȑȔǟƻÐťƷ(ƘƻǔǽȍƿƻŴĄƻǳȏȔǴǚǻǒřÑ$ǻȏȔȅȑȔǟżĉǢǨǳ$<<$$$$ǔǽȍżĉǢǨǳ$$+$$
ǻȏȔȅȑȔǟǔǽȍżĉǢǨǳ$• ½źÒ2ȞƕǻȏȔȅȑȔǟżĉǢǨǳƻBó$– ȖƱǊƲƷŏĤÜƺƜȗŏĤĘvĹƶǇǏǎǋƝƺ$– $ǻȏȔȅȑȔǟØ ǢȒȂȔǶȒǳǒŷ^ƷƩƵĄ!ŷ^ǒįǄƛǑƭǎƦƷƶǔǽȍǡȔǦȋȒǴȆǖȒƺŴƩƯŒŏ
ƻǻȏȔȅȑȔǟǒØ $• şŀ9·ǨǡǧȉȔȌƖǔǟǪȌȏȔǬƖǮǘǯǟȂǖȒǬƖƹƸ$– ×ƩƵľMǒűǆǎƷĻƼüú!ĻƷƻĞơŘƊ$• ¬sȐȔǴȃǯǽ$– ǃƬƼSǴȆǖȒ\ƥǻȏȔȅȑȔǟƻżĉǒŭƪƵƖǻ
ȏȔȅȑȔǟƷƩƵ©ƳǀƢÜĻƻíƜ8Ʃ$– ǻȏȔȅȑȔǟƷƩƵƻæĄƷĻǒĞƻƯǆƻżĉ½ëŚƻĕĞ$0Ø• ×ňȞǙǟǤǨǡȔȎƺƟƥǎǽȐǠȌȄȒǠŎŖƟǋƾāk$– ĻƷĂăƻĞ$• ÿeƻǾǱȐǦǨǱȅƶƫǌĂăƻƼq_Ɗ$• ƇEKþșĺµƂșqŊÚ;șòƜȆȇȍƀ ƹƸƻŘƊǒ.ÊƩƳƳĞƫǎň$• ňĬ¥ńĔĜƉč$– ǾǱȐǧǵǔǨǔȔǝǱǟǮȈƏ(÷è)$– qŊÚ;Ə(ąð)$– ȆȇȍƏ(ē)$– ĺµƂƏ(ĝą)$– ƇEƏ(1Í)$– ĂăȓǰȔȎ( )$• yǽȐǠȌȄȒǠākȖ
• ǃƷǆ$Ɩ÷è)$– żĉ@ǈÄV¡ćƹƸƺŎV$$żĉ@ƟǋƾÄVîL$• żĉ@ƻĕĞ$– 1ƳƻĔĜ{ưƥƶƼƹƣƖŇ¸ƻqvǈĔĜ¢ƖûƺÕƷREƩƯżĉ@$• ÄVîL$– ¾uƻqŊÚǔǽȍǡȔǦȋȒǒ¼ŎŖǈǻȏȔȅ
ȑȔǟƶżĉƩƖzĄĊƹqŊÚǔǽȍǡȔǦȋȒơ
żĉXĻƶƛǎƦƷǒėƫ$– ȖcƁĊƹȗǢȄȉǵǱǕƻ $• ÙöMîL$• ƻÉĄƹHPCǫǻǳǗǘǔƷƻŰ³$• ȆȔȍȒǠȍǨǳ$• ǽȐǠȌȅśķ$• ȑȔǟǦȋǽƻż+$ǃƷǆ• ǙǟǤǨǡȔȎƻǦǨǱȅØƼŇƄM$– ǸȔǴǗǘǔØ ǒŜƫǎňȟĂă$– GƞƵƇEKþǈƂ|ƹƸƺǇŸƫǎň$• ȐȔǴȃǯǽƻØ$– (ƘƻŘƊƺƫǎňĬ¥ńƻÔŐ$– ňĬ¥ńǒıZƫǎǽȐǠȌȄȒǠākƻė$• żĉ@ǈÄVîL$