안녕하세요,
현재 100G Ethernet 통신으로 파일 전송을 테스트 하고 있는데요.
iperf에서는 다음과 같이 표기가 됩니다,
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 20.5 GBytes 17.6 Gbits/sec
그런데, scp나 sftp, rsync 많이 쓰는 프로토콜을 이용한 통신은 최대 250MB 까지 밖에 안나오더라구요.
혹시 이것이 프로토콜의 병목인지 궁금합니다.
DISK I/O 에서의 병목도 생기기가 힘든 이유가, 현재 NVMe 4장 RAID 0 로 사용중입니다.
두서없이 작성했는데, 갑작스럽게 생긴 프로젝트라 급하게 질문해봅니다..ㅠㅠ
ÀÌ´õ³Ý (100Gbps) => 12.5G Byte/s
PCI-E Gen 3.0 x 4 lane, nvme 1.3 (32GBps) => 4GByte/s (½ÇÁ¦ Àü¼Û¼Óµµ ´ë·« 3,500MByte/s Á¤µµ ³ª¿É´Ï´Ù.)
·¥µå¶óÀ̺꿡¼ Å×½ºÆ®Çغ¸¼¼¿ä.
I/O Å×½ºÆ®½Ã 1.2G ÀÌ»ó ³ª¿É´Ï´Ù.
tmp·Î ramdisk¸¦ mount ÇÏ¿© Çصµ ¼Óµµ°¡ 250MB¸¦ ÃÊ°úÇÏ¿© ¾È³ª¿À³×¿ä.
ÀϹÝÀûÀÎ ³×Æ®¿öÅ© ¼Óµµ´Â Ç®¼Óµµ ¾È³ª¿É´Ï´Ù. RDMA Àû¿ëµÇ´Â°Í¸¸ ÇØ´çµÇ¿ä.
´Ù¸¸, Stroage data transfer ¿¡¼ ¹®Á¦°¡ »ý±â´Â°Í °°Àºµ¥,
tmp·Î ramdisk ¸¦ mount ÇÏ¿© Çصµ ¼Óµµ°¡ 250MB¸¦ ÃÊ°úÇÏ¿© ¾È³ª¿À³×¿ä.
°¡»óȴ ȯ°æ»ó OS º¯°æÀÌ ºÒ°¡´ÉÇÏ¿© Å×½ºÆ®¸¦ ¸øÇÕ´Ï´Ù.
½Ã½ºÅÛ ±¸ÀÔÇÑ °÷¿¡¼ ¾î¶² ¼³Á¤À¸·Î ÇؾßÇÏ´ÂÁö ¹°¾îº¸¼¼¿ä
Á¦Ç°¸¶´Ù ¸¹ÀÌ ´Ù¸¨´Ï´Ù.
10GB ÀÌ»ó ³ª¿Í¾ß ÇÕ´Ï´Ù. (ÀúÈñ´Â ±×·¸°Ô ³ª¿É´Ï´Ù)
½ºÅ丮Áö »ç¾ç (H/W, OS/SW ¼³Á¤, ½ºÅ丮Áö ÇÁ·Î±×·¥ ¼³Á¤, DISK ¼³Á¤, ... Å×½ºÆ® ÇÁ·Î±×·¥)µîµî ÃÖ´ëÇÑ »ó¼¼ÇÏ°Ô Àû¾îÁÖ½Ã¸é ºÁµå¸®°Ú½À´Ï´Ù.
MEM : 3200 64GB * 16 ea (1TB)
Storage : MZWLJ3T8HBLS-00007 (PCIe Gen4 x4) * 2ea RAID 1 [OS] / MZWLJ3T8HBLS-00007 (PCIe Gen4 x4) * 4ea RAID 0 [DATA]
Network : ConnectX-6 VPI 10/25/50/100/200Gb/s Ethernet
¾çÃø ¼¹ö´Â µ¿ÀÏÇÑ ¸ðµ¨À̸ç, ³×Æ®¿öÅ©´Â ´ÙÀÌ·ºÆ®·Î 100GB Cable·Î ¿¬°áµÇ¾îÀÖ´Â »óÅÂÀÔ´Ï´Ù. (200GB Åë½ÅÀÌ ¾Æ´Õ´Ï´Ù.)
OS´Â Ubuntu 18.04.4 À̸ç OS ¼³Ä¡ ÈÄ µå¶óÀ̹ö ¼³Ä¡ Á¦¿Ü ±âŸ °Çµç ¼³Á¤Àº ¾Æ¹«°Íµµ¾ø½À´Ï´Ù.
Å×½ºÆ® ÇÑ°Ç ±Û¿¡ ¸í½ÃµÇ¾îÀÖ´Â iperf, scp, sftp, rsync Á¦¿Ü ´Ù¸¥°ÍÀº ¾ø½À´Ï´Ù.
SCP, SFTP, RSYNC´Â ½ºÅ丮Áö ¼ºñ½º°¡ ¾Æ´Ï¾î¼ Å×½ºÆ® ÀÚü°¡ Àǹ̰¡ ¾ø½À´Ï´Ù.
¼¹öÁ¦Á¶»ç/³×Æ®¿öÅ©ÆǸŻ翡¼ Áö¿øÀ» ¸ø¹Þ´Â°Ô ÀÌÇØ°¡ °¡Áú ¾Ê½À´Ï´Ù¸¸, ¸¸¾à ¸ø¹Þ´Â´Ù¸é
1. ÀÎÅͳݿ¡¼ ConnectX-6 VPI + UBUNTU 18.04.4¿¡ ÃÖÀûÈµÈ Kernel Parameter ã¾Æ¼ Àû¿ëÇϽðí
2. iPerf, NetPipeµî À¸·Î Å×½ºÆ® Çغ¸¼¼¿ä. ÃÖ¼ÒÇÑ 80G´Â ³ª¿Í¾ß ÇÕ´Ï´Ù.
3. Network¿¡¼ RDMA, Subnet Manager ¼³Á¤ÇϽðí iPerf Å×½ºÆ® ´Ù½Ã ¼öÇà: 95G´Â ³ª¿Í¾ß ÇÕ´Ï´Ù.
4. 95G ³ª¿À¸é ÀÎÅͳݿ¡¼ NFSoRDMA ã¾Æ¼ NFS ¼³Á¤ ¹× Å×½ºÆ®: ÀÌÂëµÇ¸é 40~50G´Â ³ª¿Í¾ß ÇÕ´Ï´Ù.
4.1. export¸¦ 4°³ º°°³·Î ÇϽðí CLIENT¿¡¼ 4°³¸¦ µ¿½Ã¿¡ ¶¯°Üº¸¼¼¿ä.
4.2. TEST´Â FIO ÃßõÇÕ´Ï´Ù.
AMD´Ï±î ¾î·Æ°ÚÁö¸¸ VMD°¡ S/W ±â¹ÝÀ̶ó°í Çؼ LVMÀ̳ª Software RAID´Â ¾Æ´Õ´Ï´Ù.
¼º´ÉÂ÷ÀÌ ¾î¸¶¾î¸¶ÇÕ´Ï´Ù. 4¹è ÀÌ»ó ³¯ °Ì´Ï´Ù.
±âÁ¸ÀÇ ´Ù¸¥ Àåºñ¿¡¼ Çß´ø Å×½ºÆ®¶û ºñ½ÁÇÑ°Í °°³×¿ä.
FIO³ª ±âŸ ´Ù¸¥ Å×½ºÆ® ȯ°æ¿¡ °üÇؼ´Â ÀÌ¹Ì INFINIBAND »óÅ¿¡¼´Â Å×½ºÆ®Çغ» ´Ü°èÀ̱äÇÕ´Ï´Ù.
»ý°¢Çغ¸´Ï NFS over RDMA °¡ ÀÖ¾ú±º¿ä.
¿ØÁö ÇØ´ç Å×½ºÆ®·Î¸é °¡´ÉÇÒ°ÍÀ¸·Î ¿¹»óµË´Ï´Ù.
Çϵåµð½ºÅ© µÎ¼¼°³ ¹À¸¸é °¡´ÉÇѼӵµ¶ó..
250MBps = 2Gbps , ¾îµð °É¸®´Â°Ô º°·Î ¾ø´Â ¾Ö¸ÅÇÑ ¼öÄ¡³×¿ä.
NVMe * 4ea RAID 0 »óÅÂÀÔ´Ï´Ù.
¾ÆÁ÷±îÁö NVMe´Â H/W RAID°¡ Á¸ÀçÇÏÁö ¾Ê´Â°É·Î ¾Ë°íÀÖ½À´Ï´Ù.
INTEL VMD¸¦ »ç¿ë ÇÏ´õ¶óµµ °á±¹Àº S/W·Î ¹ÀÌ´Â ±¸Á¶´õ±º¿ä.
MEM : 3200 64GB * 16 ea (1TB)
»ç¾çüũ¿¡ ¾î¶²°ÍµéÀÌ ´õ ÇÊ¿äÇϽŰ¡¿ä?
100G °¡ °¡´ÉÇÑ ½Ã½ºÅÛ ÃÖ¼Ò »ç¾çÀ» ÀÎÅÚÀº ½ºÄÉÀÏ·¯ºí AMD´Â EPYC ·Î ¾Ë°í ÀÖ½À´Ï´Ù..
¾Æ¹«·¡µµ OS(°¡»óÈȯ°æÆ÷ÇÔ)ȯ°æ¿¡ Á¦ÇÑÀ̳ª º´¸ñ±¸°£ÀÌ ÀÖÁö¾ÊÀ»±î½Í³×¿ä.
°á±¹µûÁ®º¸¸é ¸Þ¸ð¸®°£(iperf) Åë½Å¿¡´Â 17G ±îÁö ³ª¿À´Âµ¥, µð½ºÅ©±îÁö ³»·Á¿À¸é ´À·ÁÁö´Â°ÍÀÌ´Ï ÇØ´çOS¿¡ ´ÉÅëÇÏÁö¾Ê´Ù¸é OS¸¦ ¹Ù²ãº¸´Â°Ô °¡Àå ºü¸¥ ¹æ¹ýÀ̶ó »ý°¢ÇÕ´Ï´Ù.
iperf´Â 17Gbps±îÁö ³ª¿À´Â°É·Î ºÁ¼ Àǹ̰¡ ÀÖÀ»±î½Í±ä ÇÏÁö¸¸ ´Ù¸¥ÇÁ·ÎÅäÄݵé(samba, nfs, ftp)µµ Å×½ºÆ®Çغ¸½Ã°í, °¡´ÉÇÏ´Ù¸é OSµµ ´Ù¸¥ ¹èÆ÷ÆÇÀ̳ª ´Ù¸¥¹öÀú´É·Î ¹Ù²ãº¸´Â°Ô ÁÁÀ»µíÇÕ´Ï´Ù.
ÀÏ´Ü Â÷±ÙÂ÷±Ù 2G->17G->100G ÀÌ·¸°Ô ¼øÂ÷ÀûÀ¸·Î..
´Ù¸¸ ¸»¾¸ÇϽŰͰú °°ÀÌ NFS, FTP, SMB Å×½ºÆ® ÁøÇàÀº Çغ¸·ÁÇÕ´Ï´Ù.
´çÃÊ ¸ðµ¨ ÀÚü°¡ Åë½Å °ËÁõÀÌ µÈ ¾îÇöóÀ̾𽺠Àåºñ¶ó OS ¼³Ä¡ ÀÌÈÄ ±¸Ã¼ÀûÀ¸·Î ¹«¾ùÀÇ ¼¼ÆðªÀÌ ÇÊ¿äÇÑÁö È®ÀÎÀÌ ºÒ°¡´ÉÇÑ »óŶó ´ä´äÇÏ¿© ±ÛÀ» Àû±â ½ÃÀÛÇß½À´Ï´Ù.
¾Æ¸¶µµ OS ¾î¶² °÷¿¡ ºÐ¸í º´¸ñÀÌ Á¸ÀçÇÏ´Â °ÍÀ¸·Î ¿¹»óÀº µÇ´Â »óÅÂÀÔ´Ï´Ù.
cypher ¿É¼ÇÀ» ¹Ù²Ù°Å³ª ´Ù¸¥ ÅøÀ» »ç¿ëÇÏ½Ã¸é µÉ µí ÇÕ´Ï´Ù.
°¨»çÇÕ´Ï´Ù.
Á¶±Ý¸¸ ´õ ¿¬±¸Çغ¼°Ô¿ä.
ÀÌ´Â ³×Æ®¿÷ÀÇ ¹®Á¦°¡ ¾Æ´Ï¶ó ÇÁ·Î±×·¥ ÀÚüÀÇ ¹®Á¦ÀÔ´Ï´Ù.
¸®´ª½º³ª À¯´Ð½º¿¡¼ »ç¿ëÇÏ´Â ÀüÅëÀûÀÎ À¯Æ¿¸®Æ¼µéÀÌ ´ëºÎºÐ ¾ÆÁÖ ¿À·¡µÈ Äڵ带 ±â¹ÝÀ¸·Î Á¶±Ý½Ä °³¼±µÇ¾î ¿Ô±â¶§¹®¿¡
¸¸µé¾îÁú ´ç½ÃÀÇ Çϵå¿þ¾î »óȲÀ» °í·ÁÇϸé ÃæºÐÇÑ ¼º´ÉÀ» ³»ÁÖ¾úÁö¸¸
ÇöÀçÀÇ ºñ¾àÀûÀÎ Çϵå¿þ¾î ¹ßÀü¿¡ ºñÇؼ ¼ÒÇÁÆ®¿þ¾î°¡ Çϵå¿þ¾î ¼º´ÉÀ» ¸ø µû¶ó°¡´Â °ÍÀÔ´Ï´Ù.
ÀÌ°ÍÀ» ½±°Ô È®ÀÎÇÏ´Â ¹æ¹ýÀ¸·Î rsync¸¦ µ¿½Ã¿¡ ¿©·¯°³¸¦ ½ÇÇàÇغ¸¸é ¾Æ¸¶µµ (µ¿½Ã½ÇÇà¼ö)x250MB/sÀÇ ÃÑ Àü¼Û¼Óµµ°¡ ³ª¿Ã°Ì´Ï´Ù.(´Ù¸¥°÷ÀÇ º´¸ñÀÌ ¾ø´Â»óȲ¿¡¼)
iperf·Î 17.6 Gbps ¹Û¿¡ ³ª¿ÀÁö ¾Ê´Â°Ç Ä¿³Î ÆĶó¸ÞÅÍ Æ©´×ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
sysctl À» ÅëÇؼ net.core.rmem... net.core.wmem... net.ipv4.tcp_ net.ipv4.udp µîµîÀÇ ÆĶó¸ÞÅ͸¦ Àß~ Æ©´×Çϸé
iperf ¿¡¼ 40~50 Gbps Á¤µµÀÇ ´ë¿ªÆøÀº È®º¸ °¡´ÉÇÒ°Ì´Ï´Ù
ÇÏÁö¸¸ ±× ÀÌ»óÀÇ ´ë¿ªÆøÀº Ä¿³Î ÀÚüÀÇ tcp/ip ½ºÅÿ¡¼ º´¸ñÀÌ °É¸®±â ¶§¹®¿¡ °ÅÀÇ ºÒ°¡´ÉÇÏ°í
¼³·É Àß Æ©´×Çؼ ±× ÀÌ»óÀÇ ´ë¿ªÆøÀ» È®º¸ÇÑ´Ù ÇÏ´õ¶óµµ Ä¿³ÎÀÚ¿øÀ» ³Ê¹« ¸¹ÀÌ »ç¿ëÇϱ⿡ ½Ç»ç¿ëÀº °ÅÀÇ ºÒ°¡´ÉÇÕ´Ï´Ù.
100GÀÇ ´ë¿ªÆøÀ» Á¦´ë·Î »ç¿ëÇϱâ À§Çؼ´Â UIO, OnLoad/TcpDirect, RDMA¿Í °°Àº Kernel-Bypass ±â¼úÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
(RDMA¸¦ »ç¿ëÇϸé CPU »ç¿ë·® ~0%·Î 100Gbps ´ë¿ªÆøÀÇ µ¥ÀÌÅÍ Àü¼ÛÀÌ °¡´ÉÇÕ´Ï´Ù.)
Á» ´õ ºü¸¥ µ¥ÀÌÅÍ Àü¼ÛÀ» À§Çؼ´Â ÀÏ¹Ý tcp/ip ÇÁ·Î±×·¥À¸·Î
https://www.slac.stanford.edu/~abh/bbcp/
http://pcbunn.cithep.caltech.edu/bbcp/using_bbcp.htm
bbcp ¸¦ »ç¿ëÇϽôøÁö ( 2.5GB/s or 20Gbps ÀÇ Àü¼Û¼Óµµ´Â ³ª¿É´Ï´Ù.)
RDMA »ç¿ëÀÌ °¡´ÉÇϸé
http://moo.nac.uci.edu/~hjm/parsync/
°°Àº ÇÁ·Î±×·¥µµ ÀÖ°í
MPI ȯ°æÀ̸é
https://github.com/hpc/mpifileutils
ÀÇ dsyncµµ À¯¿ëÇÕ´Ï´Ù.
¿ª½Ã³ª »ý°¢Çѵ¥·Î Àü¼ÛÇÁ·ÎÅäÄÝÀÇ ¹®Á¦°¡ ¸Â±º¿ä.
»ç½Ç 20G ´ë¿ªÆøÀÌ ³ª¿À´Â°Í¿¡ ´ëÇÑ Ã³¸®´Â ³ªÁß¿¡ ÇÒ¿¹Á¤ÀÌ¿´°í,
20GÀÇ ´ë¿ªÆø ÀÚü¶óµµ ¿ì¼± ²ø¾î¿Ã¸®´Â°ÍÀ» ù¹ø° Ÿ°ÙÀ¸·Î »ï°í ÀÖ¾ú½À´Ï´Ù.
Âü°íÇÏ°Ú½À´Ï´Ù.
ÀÌ µÑÀÇ µ¿ÀÛ Æß¿þ¾î°¡ Àß ¸Â¾Æ¾ß ÇÕ´Ï´Ù.