ç 究ç§ãç 究室ã¨ããçµç¹ã«ã¤ãã¦ã¯ããã¾ãããæã£ã¦ã¯ããªããã©ï¼ç 究èªä½ã¯å«ãã§ã¯ãªãã®ã§ï¼æè¿å¾ã ã«è«æèªã¿ããæãã«ãªã£ã¦ãã¦ããï¼
TCPã¾ãã¯GPUé¢é£ã§èªã¿ããè«æãªã¹ãã®ã¡ã¢ï¼
TCP
2002
Webãµã¼ãã«ãããTCPå¦çãNICã«ãªããã¼ãããããã®è¨è¨ã¨å®è£
ã¨è©ä¾¡ï¼
SMPç°å¢ã«ããã¦å°ç¨ã®ãããã¯ã¼ã¯ããã»ããµãç¨ããã¢ã¼ããã¯ãã£ã¨ã¯ã©ã¹ã¿ç°å¢ã«ããã¦å°ç¨ã®ãã¼ããç¨ããã¢ã¼ããã¯ãã£ã®ä¸¡æ¹ãè©ä¾¡
2005
ååé¨åã¯èªãã ï¼
CUBICã¯é«éãããã¯ã¼ã¯ç°å¢ã«é©ããTCP輻輳å¶å¾¡ã¢ã«ã´ãªãºã ã§ããï¼BIC-TCPãæ¹è¯ãããã®ã§ããï¼
CUBICã¯BICã®ã¦ã£ã³ãã¦ãµã¤ãºå¶å¾¡ãç°¡ç´ åãï¼æ¢åã®TCPã¨ã®å
¬å¹³æ§ããã³RTTï¼Round Trip Timeï¼å
¬å¹³æ§ãæ¹åãã¦ããï¼
Linux2.6.19以éã§ããã©ã«ãã®è¼»è¼³å¶å¾¡ã¢ã«ã´ãªãºã ã¨ãã¦æ¡ç¨ãããï¼[該å½ã³ããã] (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=597811ec167fa01c926a0957a91d9e39baa30e64)
Linuxã®TCP/IPã¹ã¿ãã¯å¦çã«ãããsocket, TCP/UDP, IP and Ethernetã®åã¬ã¤ã¤ã¼ãã¨ã®ããã©ã¼ãã³ã¹è§£æï¼
ç°ãªãã·ãã¥ã¨ã¼ã·ã§ã³ã«ãããããããã®æ§è½ããã«ããã¯ãæããã«ããï¼
TCP Offload Engineãæå¹ã«ããChelsio T110 10-Gigabitã¤ã¼ãµãããã¢ããã¿ã®ããã©ã¼ãã³ã¹è©ä¾¡ï¼
-- ã½ã±ãã層ã®ãã¤ã¯ããã³ããã¼ã¯ããã©ã¼ãã³ã¹è©ä¾¡
-- ã½ã±ããã¤ã³ã¿ãã§ã¼ã¹ä¸ã®MPI層ã®ããã©ã¼ãã³ã¹è©ä¾¡
-- Apacheãµã¼ããç¨ããã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã®ããã©ã¼ãã³ã¹è©ä¾¡
10Gbpsã®ãã¡7.6Gbpsã®æ§è½ï¼
(TCP Offload Engineã¨ã¯TCPã®ä¸é¨ãªããå
¨ã¦ã®å¦çã®NICï¼ä¸è¨ã®ã¤ã¼ãµãããã¢ããã¿ãªã©ï¼ã«ãªããã¼ãããä»çµã¿ã®ãã¨)
I/Oãã¹çµç±ã®ãã¼ã¿ã¢ã¯ã»ã¹ããã£ãã·ã¥ãã¹ï¼å²ãè¾¼ã¿ã®ãªã¼ãããããªã©ã®å¦çã¯CPUã³ã¢ã®å¢å ã«ãããããã¯ã¼ã¯ãI/Oãã¹ã®å¸¯åå¹
ã®ã¹ã±ã¼ã©ããªãã£ãä½ä¸ãããï¼
ãããã®å¦çã«é¢ããå½ä»¤ãåæ¸ããããã«ï¼TCP Offload Engineãæ¡ç¨ããæ°ãããã¹ã/NICéã®ã¤ã³ã¿ãã§ã¼ã¹ãè¨è¨ãï¼ãããã¿ã¤ããå®è£
ããï¼
2006
Linux2.4ããã³2.6ã«ãããTCP/IPã¹ã¿ãã¯ãSMPç°å¢ã§æ§è½è©ä¾¡ï¼
ï¼SMPã¯Symmetric Multiprocessingã®ç¥ã§åã³ã¢ã«å¯¾ç§°çã«å¦çãå²ãæ¯ãï¼ã¤ã¾ãï¼æ®éã®ãã«ãã³ã¢ç°å¢ï¼
1TCPã³ãã¯ã·ã§ã³ããã1ããã»ããµã®ã¢ã¼ããã¯ãã£ãåªä½æ§ã示ãï¼
Linux2.4ã¨2.6ã§ã¯CPUã®ã³ã¹ãã¯å¤§å·®ãªããï¼2.6ã¯ã«ã¼ãã«ã®ã¹ã±ã¸ã¥ã¼ãªã³ã°ã¨ããã¯æ©æ§ãæ¹è¯ããã¦ããã®ã§ï¼ã¹ã±ã¼ã©ããªãã£ã«åªãã¦ããï¼
NS2ã«ãããTCP輻輳å¶å¾¡ã¢ã«ã´ãªãºã ã®è¨è¨ï¼å®è£
ããã³è©ä¾¡ï¼
輻輳å¶å¾¡ã¢ã«ã´ãªãºã ã®å®è£
ã¯Linux2.6ã¨ä¼¼ã¦ããï¼
NS2ã¯æåãªãããã¯ã¼ã¯ã·ãã¥ã¬ã¼ã¿ã§C++ã§å®è£
ããã¦ããï¼
次æãã¼ã¸ã§ã³ã§ããNS3ã¯Pythonã§å®è£
ããã¦ããããããã©ï¼ããã¥ã¡ã³ããæ´ã£ã¦ãªãã¦å³ããæããããï¼
ãããLinux2.6ã®TCPã¹ã¿ãã¯ã®ããã©ã¼ãã³ã¹ãæ°å¦ã¢ãã«ã«ãã解æï¼
ã«ã¼ãã«ã®ããªã¨ã³ãã·ã§ã³ããããã¯ã¼ãã³ã°ã·ã¹ãã ã«ç¸äºã«æªå½±é¿ããããã¨ã«æ°ã¥ããï¼
ããã«ããã¯ã解決ããããã®ã½ãªã¥ã¼ã·ã§ã³ãææ¡ããï¼
Red Hat社ã®ä¸ã®äººã®è«æï¼C10Kåé¡ ã§æåãªäººã§ãããï¼
NICããã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã¸ãã¼ã¿ãã³ãã¼ããã¨ãã«ä¸æ¦ã«ã¼ãã«ã«ã³ãã¼ãã¦ããã¢ããªã±ã¼ã·ã§ã³ã«ã³ãã¼ããåé¡ã®ããã¤ãã®ã½ãªã¥ã¼ã·ã§ã³ã説æããï¼
2007
é«ã¨ãã«ã®ã¼ç©çå¦ã®è¨ç®ã®ãããªã°ãªããã³ã³ãã¥ã¼ãã£ã³ã°ã«ããã¦ï¼ãã¿ãã¤ãã¬ãã«ã®ãã¼ã¿ã転éããå¿
è¦ãããï¼
NICããã¢ããªã±ã¼ã·ã§ã³ã«æ¸¡ãããã¾ã§ã®Linuxã®ãã±ããåä¿¡ã®ç¹æ§ã解æããããã®æ°å¦ã¢ãã«ãéçºï¼
2008
TCPã®åä¿¡å´ã«çç®ããããã©ã¼ãã³ã¹æ¹åææ³ã®ææ¡ï¼
ãã¨ãã¨ä¸»è¦ãªããã«ããã¯ã¨è¨ããã¦ãããã¼ã¿ã³ãã¼ããã§ãã¯ãµã è¨ç®ã®ãããª"1ãã¤ããããã®å¦ç"ã³ã¹ãããï¼ç¾å¨ã®ããã»ããµã«ãããã³ãã¯ã·ã§ã³ç®¡çæ§é ä½ã¸ã®ã¡ã¢ãªã¢ã¯ã»ã¹ã®ãããª"1ãã±ãããããã®å¦ç"ã³ã¹ãã«ããã«ããã¯ãã·ãããã¦ããï¼
"1ãã±ãããããã®å¦ç"ã³ã¹ããåæ¸ããããã«ACKãã±ããã®éä¿¡ã¨ãã±ããã®çµåããªããã¼ãããï¼
ãã¼ãã¦ã§ã¢ã¸ã®ãªããã¼ãã¯ããã«ã½ããã¦ã§ã¢ã®ã¿ã«ããããã©ã¼ãã³ã¹æ¹åï¼
ãã¤ãã£ãã®Linuxã§45-67%ã®æ§è½åä¸ï¼Xenã§ä»®æ³åãããã²ã¹ãOSã¨ãã¦ã®Linuxã§86%ã®æ§è½åä¸ï¼
ä¸æ
å¤å2002å¹´ãããï¼
æ¬æ¥ã«ã¼ãã«ã§å®è£
ããã¦ããTCP/IPã¹ã¿ãã¯ãã¢ããªã±ã¼ã·ã§ã³å´ã§å®è£
ï¼
ã½ã¼ã¹ã³ã¼ãã¯GitHubã«ãã£ãï¼(https://github.com/jamesbw/tcp-daytona)
GPU
2009
ããã¹ãæ¤ç´¢ã¢ã«ã´ãªãºã ãGPUã§é«éåï¼
2010
ã¹ãã¬ã¼ã¸ã·ã¹ãã ã«ãããããã·ã¥ã®è¨ç®ãGPUã«ãªããã¼ããã話ï¼
æè¿ã®ã¹ãã¬ã¼ã¸ã¯ï¼ãã¼ã¿ã®éè¤ãæé¤ããããã«ï¼ãã¼ã¿ããããã¯ã«åå²ãï¼åãããã¯ã«å¯¾ãã¦ããã·ã¥å¤ãè¨ç®ãã¦ããï¼ããã·ã¥å¤ãæ¯è¼ãããã¨ã«ããï¼ãã¼ã¿ã®éè¤ãæ¤åºããï¼
GPU使ãã°CPUã®100åã®æ§è½ã§ããã¨ãè¨ã£ã¦ããã©ï¼CPUå®è£
ãã¡ããã¨æé©åããã°æ°åã®å·®ç¨åº¦ã§ãããªããï¼ã¿ãããªæãï¼
GTX280ã¨Corei7 970ã¨ã®æ¯è¼ï¼
åä¸ã¾ãã¯è¤æ°GPUæ§æã®ã·ã¹ãã ã«ãããã¿ã¹ã¯ã®è² è·åæ£ï¼
CUDA APIã¬ãã«ããããã£ã¨æ½è±¡çãªAPIãç¨ãã¦ãããããã«ã¿ã¹ã¯ãåæ£ããï¼
CUDAã®ã¹ã±ã¸ã¥ã¼ã©ã®æ¹è¯çãªæãï¼
2011
OSã®ã«ã¼ãã«ã®ããã¤ãã®æ©è½ãGPUã«ããé«éåã§ããï¼
OSã®ã«ã¼ãã«ã®è£å©çãªããã»ããµã¨ãã¦GPUã使ç¨ããããã®ãã¬ã¼ã ã¯ã¼ã¯ãææ¡ãï¼Linuxã«ããããããã¿ã¤ãã示ãï¼
2012
RDBMSã«ãããã¯ã¨ãªãCPUã¨GPUã®ä¸¡æ¹ã§å®è¡ã§ãããã¼ã¿ãã¼ã¹ãã¬ã¼ã ã¯ã¼ã¯ã®å®è£
ï¼
GPUã¡ã¢ãªã§ã®ãã£ãã·ã¥ãå¹ãããã«ã¡ã¢ãªãããã³ã°ã工夫ãã¦ï¼GPUã¡ã¢ãªã®å®¹éãè¶
ãããã¼ã¿ã«å¯¾ãã¦ãé«éåã§ãããã¨ã示ãï¼
ãã«ãã³ã¢CPUã¨æ¯è¼ãã¦4åãã8åã®æ§è½ï¼
TCPã¨GPUã®è«æã輪è¬ãã¦ãã¨ï¼ã«ã¼ãã«ã¨ããè¨èãOSã®ã«ã¼ãã«ãªã®ãGPUããã°ã©ã ã®å®è¡åä½ã®ãã¨ãªã®ããä»äººã«èª¬æããã®ãããã©ããããªã£ã¦ããï¼