ä»æ¥ã®è€éãªç©çããã»ã¹ã®ã¢ããªã³ã°ã¯ãå€ãã®çŸä»£äŒæ¥ã«ãã£ãŠéèŠãªæè¡çæ©äŒãšèŠãªãããŠããŸãã è€éãªã¢ãã«ãèšç®ã§ããèšç®æ©ãäœæããããã«åºã䜿çšãããŠããã¢ãããŒãã¯ãã³ã³ãã¥ãŒãã£ã³ã°ããŒããäœé 延ãããã¯ãŒã¯ã«æ¥ç¶ãããç¬èªã®OSïŒéåžžã¯GNU / Linuxãã¡ããªããïŒã«ãã£ãŠç®¡çãããæ±çšãµãŒããŒã§ããã¯ã©ã¹ã¿ãŒã·ã¹ãã ã®äœæã§ãã
ã³ã³ãã¥ãŒãã£ã³ã°ã¯ã©ã¹ã¿ã®ã·ã¹ãã ãœãããŠã§ã¢ã«ä»®æ³åå±€ãå°å ¥ãããšãæ°åã§ãä»®æ³ã¯ã©ã¹ã¿ããäœæã§ããŸãã 1ã€ã®OpenStackã€ã³ãã©ã¹ãã©ã¯ãã£å ã®ãã®ãããªä»®æ³ã¯ã©ã¹ã¿ãŒã¯å®å šã«ç¬ç«ããŠããŸãã ãŠãŒã¶ãŒã®ããŒãºã«å¿ããŠãå éšã®ãŠãŒã¶ãŒããã°ã©ã ã¯å€æŽãããå¯èœæ§ãããããŠãŒã¶ãŒãšã®èª¿æŽã¯å¿ èŠãããŸããããŸãããŠãŒã¶ãŒããŒã¿ãé 眮ãããŠããè«çããã€ã¹ã¯ãä»ã®ä»®æ³ã¯ã©ã¹ã¿ãŒã§ã¯äœ¿çšã§ããŸããã
ä»®æ³åãœãªã¥ãŒã·ã§ã³ã§äœé 延ãããã¯ãŒã¯ãç¶æããããšã¯ãå¥åã®è€éãªåé¡ã§ãã ã»ãšãã©ã®å Žåãã¢ããªã±ãŒã·ã§ã³ã®å Žåãææ°ã®KVMããŒã¹ã®ä»®æ³åã«ãããèšç®èœåã®æ倱ãæå°éã«æããããŸãïŒ1ïŒ æªæºïŒã ãã ããäœé 延ãããã¯ãŒã¯ã®ç¹å¥ãªãã¹ãã§ã¯ãåææäœã§ã®ä»®æ³åã®ãªãŒããŒãããã¯20ïŒ ä»¥äžã§ãã
HPCã®äœé 延ãããã¯ãŒã¯ã®éèŠæ§
ç©çããã»ã¹ã®ã¢ããªã³ã°ã«é¢ããçŸä»£ã®åé¡ã«ã¯ãçŸå®çãªæéã§å®éã«èšç®ãå®è¡ã§ããããã«ã倧éã®ã¡ã¢ãªãšèšç®èœåãå¿ èŠã§ãã çŸä»£ã®ãã¯ãããžãŒã䜿çšããŠã1ã€ã®å€å žçãªOSã®å¶åŸ¡äžã§ã1ã€ã®ã·ã¹ãã ã§ãã®ãããªå€§éã®RAMãšéåžžã«å€ãã®ã³ã³ãã¥ãŒãã£ã³ã°ã³ã¢ãçµã¿åãããã®ã¯é£ãããè²»çšãããããŸãã
ã¯ããã«å®äŸ¡ã§åºã䜿çšãããŠãã代æ¿ã¢ãããŒãã¯ãã³ã³ãã¥ãŒãã£ã³ã°ããŒããç¬èªã®OSã«ãã£ãŠå¶åŸ¡ãããæ±çšã³ã³ãã¥ãŒã¿ãŒã§ããã¯ã©ã¹ã¿ãŒã·ã¹ãã ãäœæããããšã§ãã åæã«ãã¯ã©ã¹ã¿ãŒã®ã³ã³ãã¥ãŒãã£ã³ã°ããŒãã¯ãããããã䞊åã¢ããªã±ãŒã·ã§ã³ãã®èµ·åãä¿å®ãããã³ã·ã£ããããŠã³ãä¿èšŒããç¹å¥ãªãœãããŠã§ã¢ã«ãã£ãŠåæãããå ±åã§å¶åŸ¡ãããŸãã åŸè ã¯ããããã¯ãŒã¯å ã®çžäºäœçšã«ããäºãã«åæãããããŒãã®OSå ã®ç¬ç«ããããã»ã¹ã§ãã ããã«ããã®ãããªãããã¯ãŒã¯ããã³ã³ãã¥ãŒãã£ã³ã°ãããã¯ãŒã¯ããã³ã³ãã¥ãŒãã£ã³ã°ããŒã-ãã¯ã©ã¹ã¿ãŒããŒãããŸãã¯åã«ãããŒãããå¶åŸ¡ãœãããŠã§ã¢-ãã¯ã©ã¹ã¿ãŒãœãããŠã§ã¢ããšåŒã³ãŸãã
ææ°ã®ããã°ã©ãã³ã°æŠå¿µã§ã¯ãããŒã¿ãšããã»ã¹ã«å¿ããŠã2ã€ã®äž»èŠãªäžŠååæ¹æ³ã䜿çšããŸãã èªç¶çŸè±¡ãã·ãã¥ã¬ãŒãããã«ã¯ãããŒã¿ã®äžŠååãæããã䜿çšãããŸãã
- èšç®ã¹ãããã®éå§æã«ãããŒã¿ã®äžéšãç°ãªãèšç®æ©ã«é ä¿¡ããããããã®éšåã«å¯ŸããŠããã€ãã®ã¢ã¯ã·ã§ã³ãå®è¡ãããŸã
- 次ã«ãèšç®æ©ã¯ã次ã®ã¹ãããã®åæããŒã¿ãååŸããããã«ãããŸããŸãªæ°å€ã¹ããŒã ïŒéåžžã¯ããªãããŒãã³ãŒãåïŒã«åŸã£ãŠæ å ±ã亀æããŸãã
ããã°ã©ãã³ã°ã®èŠ³ç¹ããèŠããšãèšç®æ©ã¯ãå°ãªããšã1ã€ã®ããã»ããµãäžå®éã®ã¡ã¢ãªãããã³ä»ã®èšç®æ©ãšã®äº€æã®ããã®ã³ã³ãã¥ãŒã¿ãŒãããã¯ãŒã¯ãžã®ã¢ã¯ã»ã¹ãæã€ãã®ã§ããã°äœã§ãããŸããŸããã å®éãã³ã³ãã¥ãŒã¿ãŒã¯ïŒæ¯èŒçå°ãããšã¯ããïŒã³ã³ãã¥ãŒãã£ã³ã°èœåãåããã³ã³ãã¥ãŒã¿ãŒãããã¯ãŒã¯ã®å å ¥è ã§ãã èšç®æ©ã¯ãããã»ã¹å ã®ã¹ã¬ãããOSå ã®ããã»ã¹ã1ã€ä»¥äžã®ä»®æ³ããã»ããµãåããä»®æ³ãã·ã³ãããã³åãæšãŠãããç¹æ®OSãåããããŒããŠã§ã¢ããŒããªã©ã§ãã
ææ°ã®äžŠåã¢ããªã±ãŒã·ã§ã³ãäœæããããã®æãäžè¬çãªAPIæšæºã¯MPIã§ãããããã¯ããã€ãã®å®è£ ã«ååšããŸãã ãã«ãããã»ããµããŒãäžã®åãOSå ã§äžŠåã¢ããªã±ãŒã·ã§ã³ãäœæããããã«èšèšãããIntel OpenMP APIæšæºãåºãé åžãããŠããŸãã ææ°ã®ã¯ã©ã¹ã¿ãŒããŒãã«ã¯å€§éã®ã¡ã¢ãªãåãããã«ãã³ã¢ããã»ããµãå«ãŸããŠãããããããŒã¿ã®äžŠååãã©ãã€ã ã®ãã¬ãŒã ã¯ãŒã¯å ã§ãèšç®æ©ãã決å®ããããã®å€æ°ã®ãªãã·ã§ã³ãšã䞊åã¢ããªã±ãŒã·ã§ã³ã¢ãããŒãã«åºã¥ããã®ãã©ãã€ã ã®å®è£ ãå¯èœã§ãã æãäžè¬çãªã®ã¯2ã€ã®ã¢ãããŒãã§ãã
- 1ã€ã®ããã»ããµã³ã¢-1ã€ã®èšç®æ©
- 1ã€ã®ãã«ãããã»ããµããŒã-1ã€ã®èšç®æ©
æåã®ã¢ãããŒããå®è£ ããã«ã¯ãå®éã«äœæãããMPIã䜿çšããã ãã§ååã§ãã 2çªç®ã®ã¢ãããŒãã§ã¯ãMPIãããŒãéã®éä¿¡ã«äœ¿çšãããOpenMPãããŒãå ã®äžŠååã«äœ¿çšãããMPI + OpenMPãã³ãã«ããã䜿çšãããŸãã
åœç¶ã䞊åã¢ããªã±ãŒã·ã§ã³ãè€æ°ã®ããŒãã§å®è¡ãããç¶æ³ã§ã¯ãå šäœã®ããã©ãŒãã³ã¹ã¯ããã»ããµãšã¡ã¢ãªã ãã§ãªãããããã¯ãŒã¯ããã©ãŒãã³ã¹ã«ãäŸåããŸãã ãŸãããããã¯ãŒã¯ãä»ãã亀æããã«ãããã»ããµã·ã¹ãã å ã®äº€æãããé ãããšãæããã§ãã ã€ãŸã ã¯ã©ã¹ã¿ã·ã¹ãã ã¯ãã»ãšãã©ã®å Žåãåçã®ãã«ãããã»ããµã·ã¹ãã ïŒSMPïŒãããäœéã§ãã SMPãã·ã³ãšæ¯èŒããŠçºæ¿ã¬ãŒãã®äœäžãæå°éã«æããããã«ãç¹å¥ãªäœé 延ã³ã³ãã¥ãŒã¿ãŒãããã¯ãŒã¯ã䜿çšãããŸãã
ã³ã³ãã¥ãŒãã£ã³ã°ãããã¯ãŒã¯ã®äž»ãªæ©èœ
ç¹æ®ãªã³ã³ãã¥ãŒã¿ãŒãããã¯ãŒã¯ã®äž»ãªç¹åŸŽã¯ãåŸ ã¡æéãšãã£ãã«å¹ ïŒå€§éã®ããŒã¿ã®äº€æã¬ãŒãïŒã§ãã 倧éã®ããŒã¿ã®è»¢éé床ã¯ããŸããŸãªã¿ã¹ã¯ã§éèŠã§ããããšãã°ã次ã®ã¹ãããã®åæããŒã¿ãåéããããã«ãããŒããçŸåšã®èšç®ã¹ãããã§åŸãããçµæãçžäºã«éä¿¡ããå¿ èŠãããå Žåã§ãã ã¬ã€ãã³ã·ãŒã¯ãããŒããããŒã¿ãå¿ èŠãšããä»ã®ããŒãã®ç¶æ ãç¥ãããã«å¿ èŠãªãåæã¡ãã»ãŒãžãªã©ã®å°ããªã¡ãã»ãŒãžã®éä¿¡ã«ãããŠéèŠãªåœ¹å²ãæãããŸãã åæã¡ãã»ãŒãžã¯éåžžéåžžã«å°ããïŒéåžžã¯æ°åãã€ãã®ãµã€ãºïŒããè«ççãªç«¶åãšãããããã¯ïŒç«¶åç¶æ ããããããã¯ïŒãé²ãããã«äœ¿çšãããŸãã é«éã®åæã¡ãã»ãŒãžã¯ãå®éã«ã³ã³ãã¥ãŒãã£ã³ã°ã¯ã©ã¹ã¿ãŒãšãã®æãè¿ãçžå¯Ÿç©ãã€ãŸãããŒãéã®ãããã¯ãŒã¯ãäœé 延ããããã£ãæäŸããªãã³ã³ãã¥ãŒãã£ã³ã°ãã¡ãŒã ãšãåºå¥ããŸãã
Intel Infinibandã¯ãä»æ¥æã人æ°ã®ããäœé 延ãããã¯ãŒãã³ã°æšæºã®1ã€ã§ãã çŸä»£ã®ã¯ã©ã¹ã¿ãŒã·ã¹ãã ã®ã³ã³ãã¥ãŒã¿ãŒãããã¯ãŒã¯ãšããŠãã䜿çšãããã®ã¯ããã®ã¿ã€ãã®æ©åšã§ãã Infinibandãããã¯ãŒã¯ã«ã¯ããã€ãã®äžä»£ããããŸãã æãäžè¬çãªã®ã¯ãInfiniband FDRæšæºïŒ2011ïŒã§ãã QDRèŠæ ŒïŒ2008ïŒã¯åŒãç¶ãéèŠã§ãã æ©åšãµãã©ã€ã€ãŒã¯çŸåšã次ã®Infiniband EDRèŠæ ŒïŒ2014幎ïŒãç©æ¥µçã«æšé²ããŠããŸãã InfinibandããŒãã¯éåžžãåºæ¬çãªåæ¹åãã¹ã®éåã°ã«ãŒãã§æ§æãããŸãã æãäžè¬çãªããŒãã¯4xã§ãã
ææ°äžä»£ã®Infinibandãããã¯ãŒã¯æ©èœ
QDRx4 | Fdx4 | EDRx4 | |
å šåž¯åå¹ ãGB / s | 32 | 56 | 100 |
ããŒãéé 延ãÎŒs | 1.3 | 0.7 | 0.7 |
ãåç¥ã®ããã«ãã²ã¹ãã·ã¹ãã ãããã€ã¹ã§åäœããå Žåãä»®æ³åã«ãã£ãŠç¹å®ã®é 延ãçºçããŸãã ãã®å Žåãäœé 延ã®ãããã¯ãŒã¯ãäŸå€ã§ã¯ãããŸããã ãã ããäœé 延ïŒé 延ïŒãæãéèŠãªç¹æ§ã§ãããšããäºå®ã«ããããã®ãããªãããã¯ãŒã¯ã®ä»®æ³åç°å¢ãšã®çžäºäœçšã¯éåžžã«éèŠã§ãã ããã«ããã®ã¹ã«ãŒãããã¯ãååãšããŠãå¹ åºãæ¥ç¶ãã©ã¡ãŒã¿ãŒã§ä»®æ³åã䜿çšããªãå Žåãšåãã§ãã æ¯èŒçæè¿ïŒ2011ïŒã«äœæãããInfinibandã®éçºã«ãããéèŠãªã¹ãããã¯ãSR-IOVãã¯ãããžãŒã®äœ¿çšã§ãã ãã®ãã¯ãããžãŒã«ãããInfinibandã¯ç©çãããã¯ãŒã¯ã¢ããã¿ãŒãä»®æ³ããã€ã¹ã®ã»ãã-ä»®æ³VFæ©èœã«å€æã§ããŸãã ãã®ãããªããã€ã¹ã¯ãç¬ç«ããInfinibandã¢ããã¿ãŒã®ããã«èŠããããšãã°ãããŸããŸãªä»®æ³ãã·ã³ãŸãã¯è² è·ã®é«ããµãŒãã¹ã®æä»å¶åŸ¡ã«å²ãåœãŠãããšãã§ããŸãã åœç¶ãIB VFã¢ããã¿ãŒã¯ä»ã®ã¢ã«ãŽãªãºã ã«åŸã£ãŠåäœãããã®ç¹æ§ã¯SR-IOVãµããŒããå«ãŸããŠããªãå ã®IBã¢ããã¿ãŒãšã¯ç°ãªããŸãã
ããŒãéã®ã°ã«ãŒã亀ææäœ
ãã§ã«äžã§è¿°ã¹ãããã«ãMPIã©ã€ãã©ãªã¯çŸåšæã人æ°ã®ããHPCããŒã«ã§ãã MPI APIãå®è£ ããããã®ããã€ãã®åºæ¬çãªãªãã·ã§ã³ããããŸãã
MPIã©ã€ãã©ãªã«ã¯ã䞊åã³ã³ãã¥ãŒãã£ã³ã°ã®å®è£ ã«å¿ èŠãªåºæ¬æ©èœãå«ãŸããŠããŸãã HPCã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéèŠãªã®ã¯ãããã»ã¹éã¡ãã»ãŒãžã³ã°æ©èœãç¹ã«ã°ã«ãŒãåæãšã¡ãã»ãŒãžã³ã°æ©èœã§ãã ã»ãšãã©ã®å Žåãã°ã«ãŒãã¯äžŠåã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®ããã»ã¹ãæãããšã«æ³šæããŠãã ããã Webã§è©³çŽ°ãªMPI APIã®èª¬æãç°¡åã«èŠã€ããããšãã§ããŸãã
MPIã®å®è£ ã«äœ¿çšãããã¢ã«ãŽãªãºã ã®åºæ¬ã¯[1]ã§è©³ãã説æãããŠããããã®ãããã¯ã«é¢ããå€ãã®èšäºãããã«ãããŸã ã ãããã®ã¢ã«ãŽãªãºã ã®æå¹æ§ã®è©äŸ¡ã¯ãå€æ°ã®ç 究ã®äž»é¡ã§ã[2ã3ã4ã5]ã ã»ãšãã©ã®å Žåãæšå®ã¯ã¢ã«ãŽãªãºã ã®çè«ã®æŒžè¿è§£æã®æ¹æ³ã䜿çšããŠæ§ç¯ãããæŠå¿µã«åºã¥ããŠåäœããŸã æ¥ç¶ã»ããã¢ããæé æ å ±ã®åäœç éä¿¡ãããæ å ±åäœã®æ° é¢é£ããããã»ããµãŒã®æ°ã
åœç¶ãäœé 延ãããã¯ãŒã¯ã§æ¥ç¶ãããææ°ã®ãã«ãããã»ããµã·ã¹ãã ã®å Žåããã©ã¡ãŒã¿ ãã㊠åãããŒãå ã§çžäºäœçšããç°ãªãããŒããåããã«ãã³ã¢ããããç°ãªãããã»ããµäžã§çžäºäœçšããããã»ããµã®å Žåã¯ãç°ãªããã®ã«ããå¿ èŠããããŸãã ãã ãã ãã㊠ã³ã³ãã¥ãŒãã£ã³ã°ã¯ã©ã¹ã¿ã®è€æ°ã®ããŒãã䜿çšããã¿ã¹ã¯ã®å Žåãã³ã³ãã¥ãŒãã£ã³ã°ãããã¯ãŒã¯ã®ã¬ã€ãã³ã·ãšã¹ã«ãŒããããå€ã§ãã
ãããã¯ãŒã¯ã®ãäœé 延ãããããã£ãšãã®ããããã£ã®ã¹ã±ãŒã©ããªãã£ãæãèŠæ±ããã®ã¯ãã°ã«ãŒãåææäœã§ããããšãç解ããã®ã¯ç°¡åã§ãã ãã¹ãã§ã¯ãä»ã®èè [6]ãšåæ§ã«ã次ã®3ã€ã®æäœã䜿çšããŸããã
æŸéãã
æãåçŽãªã°ã«ãŒãæäœã¯ãããŒããã£ã¹ãã§ãã 1ã€ã®ããã»ã¹ãä»ã®å šå¡ã«åãã¡ãã»ãŒãžãéä¿¡ããŸãïŒMã¯ããŒã¿ãå«ããããã¡ãŒã瀺ããŸãã[1]ããé©å¿ïŒã
èšç®ããã°ã©ã ã§ã¯ãç¹å®ã®æ¡ä»¶ãã«ãŠã³ãã®éå§æããã³å埩éã®ãã©ã¡ãŒã¿ãŒãäŒæããããã«ãããŒããã£ã¹ãããã䜿çšãããŸãã ãããŒããã£ã¹ãã¯ãå€ãã®å Žåãä»ã®ããè€éãªéåæäœã®å®è£ ã®èŠçŽ ã§ãã ããšãã°ãäžéšã®å®è£ ã§ã¯ããããŒããã£ã¹ãã¯ããªã¢æ©èœã䜿çšããŸãã ãããŒããã£ã¹ãã®å®è£ ã«ã¯ããã€ãã®ãªãã·ã§ã³ããããŸãã ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã䜿çšããªãããã³ããããã³ã°å šäºéãã£ãã«ã¹ã€ããã§ã®æé©ãªãããŒããã£ã¹ãæéã¯æ¬¡ã®ãšããã§ãã
å šæž
all-reduceæäœã¯ãèšç®æ©ã°ã«ãŒãã®ã¡ã¢ãªã«ããããŒã¿ã®ãã©ã¡ãŒã¿ãŒã§æå®ãããçµåæäœãå®è¡ãããã®çµæãã°ã«ãŒãã®ãã¹ãŠã®èšç®æ©ã«å ±åããŸãã ïŒãµã€ã³ æå®ãããé£æ³æäœãæå³ããŸãã [1]ããé©å¿ïŒã
ãããã¯ãŒã¯äº€æã®æ§é ã«é¢ããŠãall-reduceã¯all-to-allãããŒããã£ã¹ãæ©èœã«äŒŒãŠããŸãã ãã®æŒç®ã¯ãç°ãªãèšç®æ©ã«ãããªãã©ã³ãã®æ倧å€ãŸãã¯æå°å€ã®åèšãŸãã¯ä¹ç®ãæ€çŽ¢ã«äœ¿çšãããŸãã ãã®æ©èœã¯ããªã¢ãšããŠäœ¿çšãããå ŽåããããŸãã ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã䜿çšããªããã³ããããã³ã°å šäºéãã£ãã«ã¹ã€ããã§ã®æé©ãªå šåæžåäœæéã¯æ¬¡ã®ãšããã§ãã
äžèœ
all-to-allæäœã¯ããããŒãœãã©ã€ãºãããall-to-allããŸãã¯ãtotal exchangeããšãåŒã°ããŸãã ãã®æäœäžã«ãåèšç®æ©ã¯ä»ã®èšç®æ©ã«ã¡ãã»ãŒãžã転éããŸãã ãã¹ãŠã®ã¡ãã»ãŒãžã¯äžæã«ããããšãã§ããŸãïŒ[1]ããååŸïŒã
ãã®æäœã¯ãããŒãªãšå€æãè¡åå€æã䞊ã¹æ¿ããããŒã¿ããŒã¹ã®äžŠåæäœãªã©ãããŸããŸãªã¢ã«ãŽãªãºã ã§éäžçã«äœ¿çšãããŸãã ããã¯ãæããé£ãããéå£ç掻åã®1ã€ã§ãã ãã®éåæäœã®å Žåãæé©ãªã¢ã«ãŽãªãºã ã¯ããŒå€æ°ã®å€ã®æ¯çã«äŸåããŸã ã ã éä¿¡ãããã¡ãã»ãŒãžã®ãµã€ãº ã 転ééã«æé©ã§ã¯ãªããå°ããªã¡ãã»ãŒãžã«äœ¿çšããããã€ããŒãã¥ãŒãã¢ã«ãŽãªãºã ã䜿çšããå Žåãæšå®æéã¯æ¬¡ã®ãšããã§ãã
HPCç°å¢ããã¹ãããä»ã®ã¢ãããŒãã䜿çšãããŸãã ããšãã°ãåºç¯å²ã«ãããåé¡ã®èšç®ãã·ãã¥ã¬ãŒãããçµ±åãã¹ãã䜿çšããŸãã æãäžè¬çãªçµ±åãã¹ãã¹ã€ãŒãã®1ã€ã¯ã NAS䞊åãã³ãããŒã¯ã§ãã ãã®ãã¹ãã¯ãä»®æ³HPCç°å¢ã®ãã¹ãã«ã䜿çšãããŸãã[7]ã
ãã¹ãæ¹æ³
ãã®äœæ¥ã§èª¬æããããã©ãŒãã³ã¹ãã¹ãã§ã¯ãIntel Xeonããã»ããµ64 GB RAMããã³ConnectX-3 IBã¢ããã¿ãŒãæèŒãããµãŒããŒã䜿çšããŸããã OpenMPIãä»®æ³ããŒããšç©çããŒãã«ã€ã³ã¹ããŒã«ãããããŒãéã®æ¥ç¶ã¯ãŠãŒãã£ãªãã£perftestãšOSUãã³ãããŒã¯ã䜿çšããŠãã¹ããããŸããã
詳现
Intel Xeon E5-2680v2 2.8 GHzããã»ããµãŒïŒ10ã³ã¢ãHyperThreadingããªãïŒã64 GBã®DDR3æšæºã¡ã¢ãªãŒãIB Mellanox Technologies MT27500ã¢ããã¿ãŒã®ConnectX-3ãã¡ããªãŒïŒãã¡ãŒã ãŠã§ã¢ConnectX3-rel-2_36_5000ïŒãæèŒããIntel H2000JFãã¡ããªãŒïŒãã¶ãŒããŒãS2600JFïŒã®ãµãŒããŒMellanox SwitchXã¹ã€ãããä»ããŠæ¥ç¶ïŒ36 SX6036 FDRããŒãïŒã
OS CentOS LinuxãªãªãŒã¹7.2.1511ïŒCentOS 7.2ïŒãã«ãŒãã«3.10.0-327.18.2.el7.x86_64ã2.3.0ïŒCentOS 7ãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ããŒãžã§ã³1.5.3ã䜿çšïŒã«åºã¥ããŠã«ã¹ã¿ãã€ãºãããqemu / KVMãMellanox OFED 3.3ãã©ã€ããŒ-1.0.4ãqemu-kvmã¯NUMAã¢ãŒãããµããŒãããŸããã
ã²ã¹ãOS CentOS LinuxãªãªãŒã¹7.1.1503ïŒCentOS 7.1ïŒãã«ãŒãã«3.10.0-229.el7.x86_64ãMellanox ConnectX-3ãã©ã€ããŒã åä»®æ³ãã·ã³ã¯ç©çãµãŒããŒäžã§å¯äžã®ãã®ã§ããããã¹ãŠã®ããã»ããµãŒãš48 GBã®RAMãå æããããã»ããµãŒã³ã¢ã®ãªãŒããŒã³ãããã¯ãªãã«ãããŸããã
IBã¢ããã¿ãŒã¯SR-IOVãµããŒãã¢ãŒãã«åãæ¿ããããã¢ããã¿ãŒããšã«2ã€ã®VFãäœæãããŸããã VFã®1ã€ãKVMã«ãšã¯ã¹ããŒããããŸããã ãããã£ãŠãã²ã¹ãOSã«ã¯1ã€ã®Infinibandã¢ããã¿ãŒããã¹ãOSã«ã¯2ã€ã®mlx4_0ããã³mlx4_1ïŒVFïŒã®ã¿ã衚瀺ãããŠããŸããã
OpenMPIããŒãžã§ã³1.10.3rc4ïŒMellanox OFED 3.3-1.0.4ããã±ãŒãžã«å«ãŸããïŒãä»®æ³ããŒããšç©çããŒãã«ã€ã³ã¹ããŒã«ãããŸããã ããŒãéã®æ¥ç¶ã¯ãperftest 0.19.g437c173.33100ãŠãŒãã£ãªãã£ã䜿çšããŠãã¹ããããŸããã
ã°ã«ãŒããã¹ãã¯ãgcc 4.8.5ããã³äžèšã®OpenMPIã䜿çšããŠã³ã³ãã€ã«ãããOSUãã³ãããŒã¯ããŒãžã§ã³5.3.1ã䜿çšããŠå®è¡ãããŸããã åOSUãã³ãããŒã¯ã®çµæã¯ãå€ãã®æ¡ä»¶ã«å¿ããŠãå¹³å100ãŸãã¯1000ã®æž¬å®å€ã§ãã
tunedããŒã¢ã³ã«ã¯ãç©çââããŒãã«ã¬ã€ãã³ã·ããã©ãŒãã³ã¹ãããã¡ã€ã«ãã€ã³ã¹ããŒã«ãããŠããŸãã ä»®æ³ããŒãã§ã¯ãªãã«ãªããŸããã
OS CentOS LinuxãªãªãŒã¹7.2.1511ïŒCentOS 7.2ïŒãã«ãŒãã«3.10.0-327.18.2.el7.x86_64ã2.3.0ïŒCentOS 7ãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ããŒãžã§ã³1.5.3ã䜿çšïŒã«åºã¥ããŠã«ã¹ã¿ãã€ãºãããqemu / KVMãMellanox OFED 3.3ãã©ã€ããŒ-1.0.4ãqemu-kvmã¯NUMAã¢ãŒãããµããŒãããŸããã
ã²ã¹ãOS CentOS LinuxãªãªãŒã¹7.1.1503ïŒCentOS 7.1ïŒãã«ãŒãã«3.10.0-229.el7.x86_64ãMellanox ConnectX-3ãã©ã€ããŒã åä»®æ³ãã·ã³ã¯ç©çãµãŒããŒäžã§å¯äžã®ãã®ã§ããããã¹ãŠã®ããã»ããµãŒãš48 GBã®RAMãå æããããã»ããµãŒã³ã¢ã®ãªãŒããŒã³ãããã¯ãªãã«ãããŸããã
IBã¢ããã¿ãŒã¯SR-IOVãµããŒãã¢ãŒãã«åãæ¿ããããã¢ããã¿ãŒããšã«2ã€ã®VFãäœæãããŸããã VFã®1ã€ãKVMã«ãšã¯ã¹ããŒããããŸããã ãããã£ãŠãã²ã¹ãOSã«ã¯1ã€ã®Infinibandã¢ããã¿ãŒããã¹ãOSã«ã¯2ã€ã®mlx4_0ããã³mlx4_1ïŒVFïŒã®ã¿ã衚瀺ãããŠããŸããã
OpenMPIããŒãžã§ã³1.10.3rc4ïŒMellanox OFED 3.3-1.0.4ããã±ãŒãžã«å«ãŸããïŒãä»®æ³ããŒããšç©çããŒãã«ã€ã³ã¹ããŒã«ãããŸããã ããŒãéã®æ¥ç¶ã¯ãperftest 0.19.g437c173.33100ãŠãŒãã£ãªãã£ã䜿çšããŠãã¹ããããŸããã
ã°ã«ãŒããã¹ãã¯ãgcc 4.8.5ããã³äžèšã®OpenMPIã䜿çšããŠã³ã³ãã€ã«ãããOSUãã³ãããŒã¯ããŒãžã§ã³5.3.1ã䜿çšããŠå®è¡ãããŸããã åOSUãã³ãããŒã¯ã®çµæã¯ãå€ãã®æ¡ä»¶ã«å¿ããŠãå¹³å100ãŸãã¯1000ã®æž¬å®å€ã§ãã
tunedããŒã¢ã³ã«ã¯ãç©çââããŒãã«ã¬ã€ãã³ã·ããã©ãŒãã³ã¹ãããã¡ã€ã«ãã€ã³ã¹ããŒã«ãããŠããŸãã ä»®æ³ããŒãã§ã¯ãªãã«ãªããŸããã
ãã¹ãã¯2ã€ã®ããŒãïŒ40ã³ã¢ïŒã§å®è¡ãããŸããã 枬å®ã¯ãäžé£ã®10ã20åã®æž¬å®ã§å®æœãããŸããã 3ã€ã®æå°å€ã®ç®è¡å¹³åãçµæãšããŠæ¡çšãããŸããã
çµæ
è¡šã«ç€ºãããŠãããããã¯ãŒã¯ãã©ã¡ãŒã¿ã¯çæ³çã§ãããå®éã®ç¶æ³ã§ã¯éæã§ããŸããã ããšãã°ã ib_send_latã§æž¬å®ãããInfiniband FDRã¢ããã¿ãŒïŒããŒã¿ã°ã©ã ã¢ãŒãïŒãåãã2ã€ã®ããŒãéã®ã¬ã€ãã³ã·ã¯ãå°ããªã¡ãã»ãŒãžã«å¯ŸããŠ0.83ÎŒsã§ããã ib_send_bwã§æž¬å®ããã2ã€ã®ããŒãéã®æå¹ãªã¹ã«ãŒãããïŒãµãŒãã¹æ å ±ãªãïŒã¯6116.40 MB / sïŒã51.3 Gbit / sïŒã å®éã®ã·ã¹ãã ã®é 延ãšã¹ã«ãŒãããã«å¯Ÿããããã«ãã£ã¯ã次ã®èŠå ã«ãããã®ã§ãã
- ã¹ã€ããã®è¿œå é 延
- ãã¹ãOSã«ããé 延
- ãããã³ã«ãªãŒããŒãããã®éä¿¡ãä¿èšŒããããã®åž¯åå¹ ã®æ倱
次ã®ã³ãã³ãã䜿çšããŠããµãŒããŒäžã§èµ·åãå®è¡ãããŸããã
ib_send_bw -F -a -d mlx4_0
ã¯ã©ã€ã¢ã³ãäžïŒ
ib_send_bw -F -a -d mlx4_0 <server-name>
ãããã£ãŠãç°ãªãç©çãµãŒããŒäžã«ããã²ã¹ãOSã®ãã¢éã®ib_send_latã¯1.10ÎŒsã®ã¬ã€ãã³ã·ã瀺ãïŒ 0.27ÎŒsã®é 延å¢å ããã€ãã£ãIBãšä»®æ³åIBã®ã¬ã€ãã³ã·ã®æ¯ã¯0.75ïŒã ib_send_bwã¯6053.6 MB / sïŒã50.8 Gbit / sïŒã®ã¹ã«ãŒãããã瀺ããŸããä»®æ³åãªãã§äœ¿çšå¯èœãªãã£ãã«å¹ 0.99ïŒã ãããã®çµæã¯ãä»ã®èè ã«ãããã¹ãã®çµæãããšãã°[6]ãšããäžèŽããŠããŸãã
ãã¹ãOSã§ã¯ããã¹ããSR-IOV VFã§ã¯æ©èœãããã¢ããã¿ãŒèªäœã§æ©èœããããšã«æ³šæããŠãã ããã çµæã¯3ã€ã®ã°ã©ãã«è¡šç€ºãããŸãã
- ãã¹ãŠã®ã¡ãã»ãŒãžãµã€ãº
- æ倧256ãã€ããŸã§ã®ã¡ãã»ãŒãžã®ã¿
- ãã€ãã£ãInfinibandãšVFã®ãã¹ãå®è¡æéã®æ¯ç
ãããŒããã£ã¹ããã¹ãã¯ããã¹ãOSãšã²ã¹ãOSã®äž¡æ¹ã§æ¬¡ã®ããã«å®è¡ãããŸããã
/usr/mpi/gcc/openmpi-1.10.3rc4/bin/mpirun --hostfile mh -N 20 -bind-to core -mca pml ob1 -mca btl_openib_if_include mlx4_0:1 /usr/local/libexec/osu-micro-benchmarks/mpi/collective/osu_bcast
æéã®ææªã®æ¯çã¯0.55ã§ããã»ãšãã©ã®ãã¹ãã§ã¯ãæ¯çã¯0.8ãäžåã£ãŠããŸããã
all-reduceãã¹ãã¯ããã¹ãOSãšã²ã¹ãOSã®äž¡æ¹ã§æ¬¡ã®ããã«å®è¡ãããŸããã
/usr/mpi/gcc/openmpi-1.10.3rc4/bin/mpirun --hostfile mh -N 20 -bind-to core -mca pml ob1 -mca btl_openib_if_include mlx4_0:1 /usr/local/libexec/osu-micro-benchmarks/mpi/collective/osu_allreduce
æéã®ææªã®æ¯çã¯0.7ã§ããã»ãšãã©ã®ãã¹ãã§ã¯ãæ¯çã¯0.8ãäžåã£ãŠããŸããã
all-to-allãã¹ãã¯ããã¹ãOSãšã²ã¹ãOSã®äž¡æ¹ã§æ¬¡ã®ããã«å®è¡ãããŸããã
/usr/mpi/gcc/openmpi-1.10.3rc4/bin/mpirun --hostfile mh -N 20 -bind-to core -mca pml ob1 -mca btl_openib_if_include mlx4_0:1 /usr/local/libexec/osu-micro-benchmarks/mpi/collective/osu_alltoall
æéã®ææªã®æ¯çã¯0.87ã§ããã»ãšãã©ã®ãã¹ãã§ã¯ãæ¯çã¯0.88ãäžåã£ãŠããŸããã
è°è«
ãã¹ãã§æ瀺ãããã°ã©ãã®ã®ã¶ã®ã¶ã®åœ¢ç¶ã¯ãäžæ¹ã§ã¯ããŸãå€ãã®ãã¹ããéžæããçµæã§ã¯ãããŸããããä»æ¹ã§ã¯ããããã¡ã€ãªã³ã°ããã°ã©ã ã§äœ¿çšãããæå°ã®æž¬å®å€ãéžæããæ¹æ³ã®æãŸããå¹æã§ãã ãã®ã¡ãœããã®çè«çæ ¹æ ã¯ãã³ãŒããã©ã°ã¡ã³ãããã®æ倧é床ããéãå®è¡ã§ããªãããšã§ããããã¹ãã³ãŒãã®å®è¡ãšåæã«ã·ã¹ãã ã§çºçããå¯èœæ§ã®ãããã¹ãŠã®ããã»ã¹ã¯ãé床ã«åœ±é¿ãäžããªãããé床ãèœãšããŸãã ä»®æ³åããããã¹ããéä»®æ³åããããã¹ãããããããã«éãïŒ2-5ïŒ å éïŒå®è¡ãããå ŽåãäžèŠççŸããçµæãååšããã®ã¯ãIBã¢ããã¿ãŒã®ãã©ã€ããŒãšãã¡ãŒã ãŠã§ã¢ã®æ©èœã«èµ·å ããå¿ èŠããããŸããããã«ã¯ããŸãç¬èªã®æé©åã¹ããŒã ãããã次ã«ããŸã å°ãäž¡æ¹ã®å Žåã§ç°ãªãåäœãããŸãïŒããŒã¿ãããã¡ãŒãµã€ãºãå²ã蟌ã¿åŠçæ©èœãªã©ââïŒã
ææ°ã®ä»®æ³åãã¯ãããžãŒã®æ©èœã¯ãä»®æ³åã¬ã€ã€ãŒããªãç¶æ³ãšæ¯èŒããŠãè¿œå ã®é 延ãœãŒã¹ãå°å ¥ããŸãã HPCã«ãšã£ãŠéèŠãªã®ã¯ããã®ãããªé 延ã®3ã€ã®ã¿ã€ãã§ãã
- ãããã¯ãŒã¯ã®é
延ãé
ãããŸãã ç¹å®ã®ã±ãŒã¹ã§ã¯ãä»®æ³æ©èœã¢ãŒãSR-IOVã§ã®Infinibandã®ã¹ããŒããŠã³ã ãã®é
延ã¯ããã®äœæ¥ã®äžå¿ããŒãã§ãããäžèšã§èª¬æãããŠããŸãã
- ä»®æ³åã·ã§ã«ã®å€éšã®ããã°ã©ã ãšãµãŒãã¹ã¯ãããã»ããµæéãå¿
èŠãšããå Žåããããã«ãŠã³ãã¢ããªã±ãŒã·ã§ã³ã®ãã£ãã·ã¥ããªã»ããããŸãã ããã¯ãä»®æ³åã·ã§ã«ã®äžã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ã®ã«ãŠã³ãã«ããŸããŸãªéåæåãšé
延ãå°å
¥ããããã®ããªãè€éãªæ¹æ³ã§ãã ãã®ãããªäœç³»çãªå¹²æžã¯ãããããçš®é¡ã®ã極端ãªãããã°ã©ã ããŸãã¯èª€ã£ãŠæé©åãããããã°ã©ã ã«ãšã£ãŠéåžžã«äžå¿«ãªãã®ã§ãã ãã¡ãããä»®æ³åã¬ã€ã€ãŒããªããã°ãããã°ã©ã ã®ã«ãŠã³ããéããªãããšãç解ããå¿
èŠããããŸãã ãã ããå®éã«æãéèŠãªã±ãŒã¹ã§ã¯ãææ°ã®ãã«ãã³ã¢ããŒãäžã®ä»®æ³åã·ã§ã«ã®å€åŽã«å¶åŸ¡ã³ãŒããååšããããšã«ããããã©ãŒãã³ã¹ã®äœäžã¯æ°ããŒã»ã³ããè¶
ãããã»ãšãã©ã®å Žå1ïŒ
æªæºã§ãã ããã«ãä»®æ³åã·ã§ã«ã®å€éšã®è² è·ãåŠçããããã»ããµã³ã¢ãåé¢ããŠä¿®æ£ããããšãå¯èœã«ããå€æ°ã®ã¢ãããŒãããããããããä»®æ³åç°å¢ããé€å€ããŸãã ãã®çµæãä»®æ³åã·ã§ã«å
ã®ããã»ããµã³ã¢ãšãã®ãã£ãã·ã¥ãžã®åœ±é¿ãæå°éã«æããããšãã§ããŸãã
- ä»®æ³APICã䜿çšããå Žåããã€ããŒãã€ã¶ãŒãžã®åºå£ãå€æ°ãããããã¯é 延ïŒæ°åãã€ã¯ãç§ïŒã®ç¹ã§éåžžã«é«äŸ¡ã§ãã ãã®åé¡ã¯ããã«ãã³ã¢ä»®æ³ãã·ã³ã«å¯Ÿãããªã¯ãšã¹ãã®å¢å ã«é¢é£ããŠæè¿æ¥åãšãªã£ãŠãããããŸããŸãªäŒè°ãå°éåºçç©ãããšãã°[8ã9]ã§æ³šç®ãããŠããŸãã ãã®ãããªé 延ã¯ãã²ã¹ãã®SR-IOVããã€ã¹ïŒãã®å Žåã¯InfinibandïŒããã®å²ã蟌ã¿ãé ä¿¡ãããšããããã³ããã»ããµã³ã¢ãã¹ãªãŒãç¶æ ïŒIPIïŒããèµ·åãããšããããšãã°ã¡ãã»ãŒãžãåä¿¡ãããšãã«çºçããŸã
èè ã®æèŠã§ã¯ãå²ã蟌ã¿åŠçã®ä»®æ³åããã«ãã£ãæžããæãæ¥é²çãªæ¹æ³ã¯ãvAPICããµããŒãããIntelããã»ããµãŒã䜿çšããããããŒãã®ã«ãŠã³ãã«ã³ã³ãããŒä»®æ³åïŒLXCãªã©ïŒã䜿çšããããšã§ãã KVMã§å²ã蟌ã¿ãåŠçãããšãã«çºçããé 延ã®éèŠæ§ã¯éæ¥çã«[7]ã«ã瀺ãããŠããŸããèè ã¯ãå²ã蟌ã¿ã®æ°ã®å¢å ãšãã¹ãã®ä»®æ³åããŒãžã§ã³ã®ããã©ãŒãã³ã¹ã®å€§å¹ ãªäœäžãšã®é¢ä¿ã確ç«ããŠããŸãã
é 延ããŒã¿ãè©äŸ¡ããããšã¯å°é£ã§ããæåã®äŸå€ãé€ããŠãããã€ãã®çç±ã«ãã[1]ã§äžãããããã®ãšåæ§ã®åçŽãªåŒã䜿çšããŸãã
- æåã®äž»ãªãã®ã¯ãé 延ããŒã¿ãã«ãŠã³ãã¿ã¹ã¯ã®ã¢ã«ãŽãªãºã ãšéåæã«è¡šç€ºãããããšã§ããããã¯ä»®æ³åç°å¢ã§åäœããŸã
- 2çªç®ã®çç±ã¯ããããã®é 延ãèšç®ããŒãå šäœã®ãå±¥æŽãã«äŸåããŠããããšã§ããããã«ã¯ãã«ãŠã³ãã¿ã¹ã¯ã®ã¢ã«ãŽãªãºã ãšä»®æ³åãœãããŠã§ã¢ïŒãã£ãã·ã¥ãã¡ã¢ãªãã³ã³ãããŒã©ãŒã®ã¹ããŒã¿ã¹ïŒãå«ãŸããŸã
ãŸããäœé 延ãããã¯ãŒã¯ãä»ããŠå€æ°ã®ãã±ãããéä¿¡ããå Žåãç¹ã«å€§ããªã¡ãã»ãŒãžãæçåããå Žåãè€éãªæ³åã«åŸã£ãŠå²ã蟌ã¿ã®çæé床ãå¢å ããã¡ãã»ãŒãžéä¿¡é床ã®é·ããããã³å±¥æŽã«å¯ŸããéèŠãªäŸåé¢ä¿ãçŸããå¯èœæ§ãããããšãç解ããããšãéèŠã§ãä»®æ³åãœãããŠã§ã¢ã¹ã¿ãã¯ã
åŸæ¥ã®ã¯ã©ã¹ã¿ãŒã³ã³ãã¥ãŒãã£ã³ã°ã·ã¹ãã ã®äœæè ã¯ãã³ã³ãã¥ãŒãã£ã³ã°ã¿ã¹ã¯ã®å¹²æžãæé€ããããã«å€å€§ãªåªåãæã£ãŠããŸãã
- ãã¹ãŠã®äžèŠãªOSãµãŒãã¹ã®ã·ã£ããããŠã³
- ãã¹ãŠã®ãããã¯ãŒã¯äº€æã®æå°å
- ããŒãã®ä»ã®å²ã蟌ã¿ãœãŒã¹ãæå°éã«æãã
ä»®æ³åãšã¯ã©ãŠããœãããŠã§ã¢ã®çµã¿åããã®å Žåãé«æ§èœã³ã³ãã¥ãŒãã£ã³ã°ã®ãã®æé©åãã¹ã®å§ãŸãã«éããŸããã
çµè«
äžè¬çã«äœ¿çšããã3ã€ã®MPIæäœïŒãããŒããã£ã¹ãããã¹ãŠçž®å°ãããŒãœãã©ã€ãºããããã¹ãŠã®ãã¹ãŠïŒã®ã»ããã®æ¯èŒãã¹ãã§ã¯ãqemu / KVMããŒã¹ã®ä»®æ³åç°å¢ãšSR-IOVãã¯ãããžãŒã䜿çšãããšããã¹ãæéãå¹³å20ïŒ å¢å ããããšã瀺ãããŸããïŒææªã®å Žåã16ããã³32Kbã®ãããŒããã£ã¹ããã±ããã§ã¯80ïŒ ã§ãã ãã®ããã©ãŒãã³ã¹ã®äœäžã¯é¡èã§ãããé£ç¶äœååŠãåååååŠãä¿¡å·åŠçãªã©ã«é¢é£ããã»ãšãã©ã®äžŠåã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéèŠã§ã¯ãããŸããã ä»®æ³åç°å¢ã®äœ¿ãããããèšç®ãã£ãŒã«ããè¿ éã«æ¡åŒµãããããæ§æããæ©èœã«ãããã«ãŠã³ãæéã®å¢å ã®å¯èœæ§ã®ããã³ã¹ããè£åãããŸãã
1ã€ã®ããŒãããå¥ã®ããŒãã®ã¡ã¢ãªãžã®é«éã©ã³ãã ã¢ã¯ã»ã¹ãå¿ èŠãšããã¿ã¹ã¯ã®å Žåããã®ãããªé 延ã¯éèŠã§ãã ã»ãšãã©ã®å Žåãä»®æ³åã¯ã©ã¹ã¿ãŒãå¹æçã«äœ¿çšããŠãã®ãããªåé¡ã解決ããããšã¯ã§ããŸããã
å®éã«ã¯ãã³ã³ãã¥ãŒãã£ã³ã°ããã°ã©ã ã®ããã©ãŒãã³ã¹ã®äœäžã¯ã瀺ãããŠããå€ãããã¯ããã«å°ããããšããããããŸãïŒæ倧20ïŒ ïŒã ããã¯ãã»ãšãã©ã®å Žåãé©åã«äœæãããåºã䜿çšãããŠããããã°ã©ã ãäŸç¶ãšããŠèšç®æ©å ã®ããŒã¿ãèªã¿åããåŠçããåæãŸãã¯ããŒã¿è»¢éæäœãå®è¡ããªãããã§ãã çµå±ã®ãšããã䞊åã³ãŒãã®äœæè ã¯åžžã«ãã³ã³ãã¥ãŒã¿ãŒéã®åæãšè»¢éã®å¿ èŠæ§ãæå°éã«æãããããªã¢ã«ãŽãªãºã ãšå®è£ ææ³ã®éžæã«åªããŠããŸãã
æåŠ
詳现
- A.ã°ã©ããAãã°ãã¿ãGãã«ãªãã¹ãVãã¯ããŒã«ã 䞊åã³ã³ãã¥ãŒãã£ã³ã°å ¥éã第2çã ã¢ãã£ãœã³ã»ãŠã§ã¹ãªãŒ2003
- R.ã¿ã¯ãŒã«ãWãã°ãããã ã¹ã€ããããããã¯ãŒã¯ã§ã®Mpiéå£éä¿¡ã®ããã©ãŒãã³ã¹ã®æ¹åã2003
- R.ã¿ã¯ãŒã«ãRãã©ãã³ã»ã€ãããŒãWãã°ãããã MPICHã§ã®éå£éä¿¡æäœã®æé©åã é«æ§èœã³ã³ãã¥ãŒãã£ã³ã°ã¢ããªã±ãŒã·ã§ã³ã®åœéãžã£ãŒãã«-2005-Vol 19ïŒ1ïŒ-ppã 49-66ã
- J.PjeÅ¡ivaââc-GrboviÄãTãAngskunãGãBosilcaãGE FaggãEãGabrielãJJ Dongarraã MPIéåæäœã®ããã©ãŒãã³ã¹åæã ã¯ã©ã¹ã¿ãŒã³ã³ãã¥ãŒãã£ã³ã°-2007-Volã 10-pã127ã
- BSããŒãœã³ãºã æè»ãªããŒãééä¿¡ãšäžåè¡¡èªèãåããéå±€åã¢ã«ãŽãªãºã ã«ãããMPIéåéä¿¡ãå éããŸãã Phã D.ã³ã³ãã¥ãŒã¿ãŒç§åŠã«é¢ããè«æãããã¥ãŒå€§åŠãç±³åœã2015幎
- J.ãã»ãMããªãŒãXãã«ãŒãKCã«ã³ãã©ãMDã¢ãŒãã«ããDKãã³ãã InfiniBandã¯ã©ã¹ã¿ãŒã§ã®ä»®æ³åã®SR-IOVãµããŒãïŒåæã®çµéšã ã¯ã©ã¹ã¿ãŒã«é¢ããåœéã·ã³ããžãŠã ã2011幎5æ
- A.ã¯ããªã£ããã§ããVãã³ã·ã§ã¬ããAãã¢ããã£ã·ã¢ã³ã KVMãšPalaciosã䜿çšããææ°ã®HPCã¯ã©ã¹ã¿ãŒä»®æ³åã ãã€ããã©ãŒãã³ã¹ã³ã³ãã¥ãŒãã£ã³ã°ïŒHiPCïŒäŒè°ã2012
- D.ããã©ãã¯ã KVMã¡ãã»ãŒãžããã·ã³ã°ããã©ãŒãã³ã¹ã KVMãã©ãŒã©ã ã2015
- R.ãŽã¡ã³ãªãšã« KVM察 ã¡ãã»ãŒãžããã·ã³ã°ã¹ã«ãŒããããã³ã³ããã¹ãã¹ã€ããã³ã°ã®ãªãŒããŒãããã®åæžã Red Hat KVMãã©ãŒã©ã 2013
çŽ æã¯ãã¢ã³ãã¬ã€ã»ãã³ã©ãšããããã¹ã»ã«ãããã¢ã³ãã»ãµãããã£ãããŠã£ã«ãã«ã ã»ãããããŒã«ãã£ãŠäœæãããŸããã