일반적인 x86 x64 기반에서 세대가 높아지면서 새로운 명령이 추가되고 특정 영역의 처리가 추가되서 이른바 범용 프로세서의 성능은 점차 좋아집니다.
그런데 정수연산 이란 목적만 보고 신규명령세트를 지원하지 않은 단순 계산이 많은 경우...예를 들면 네트워크 트레픽 처리나 하드웨어 가속을 지원하지 않는 암호처리의 경우라면 그야말로 코클럭 매니코어가 답인 경우도 많습니다.
미크로틱 CCR 계열 라우터에 사용되는 Tile 프로세서는 이 정수연산에 최적화 되고 다른 잡? 기능은 최소화 한 결과 최대 1Ghz 72코어 까지 적용되, 전력대비 네트워크 연산처리나 인코딩 등이 x86 에 비해 월등히 효율적입니다.
현재 저의 문제는 x86 x64를 지원해야 한다는 것이고,
최신 인텔 제온 프로세서들은 산술연산 외에 나에게 불필요한 잡기능을 매우 많다는 점입니다.
x86 64 비트 지원하는 xeon 프로세서 중 이런 정수연상에 최적화 된 가성비 CPU 는 어떤게 있을까요?
1U 구성으로 최대의 암호연산 기능을 뽑는게 목적입니다.
-초인을 꿈꾸는 범부, 일탈을 꿈꾸는 생활인,깨어나기 두려우나 모든것이 꿈이기를 꿈꾸는 나비-
PIPE¶óÀÎÀ̳ª SIMD±îÁö °í·ÁÇÏ¸é ¸¹ÀÌ º¹ÀâÇØÁö°ÚÁö¸¸
ÀÏ´ÜÀº CPUÀÇ ¼ø¼ö Á¤¼ö¿¬»ê¸¸ ³õ°í º»´Ù¸é Dhrystone MIPS ¼öÄ¡¸¦ Âü°íÇϽðԴ °¡Àå ÁÁ°ÚÁö¿ä
´Ù¸¸ "°¡¼ººñ"¶ó´Â Á¶°ÇÀº Àß ¾Ë°í°è½Ã´Ù½ÃÇÇ º¯¼ö°¡ ³Ê¹« ¸¹¾Æ¼....
±×¸®°í Á¤¼ö¿¬»êÀÇ ¸ñÀûÀÌ ¾ÏÈ£¶ó¸é intelÀÇ °æ¿ì AES-NI°¡ °¡¼Ó±â´ÉÀ» Á¦°øÇÏÁö¸¸ AES-NI¿¡ ´ëÇÑ ¼º´É¼öÄ¡´Â ã¾Æº¸±â°¡ Èûµå³×¿ä
¾Æ´Ï¸é Intel QAT ¾î´ðÅ͸¦ Çѹø »ìÆ캸½Ã´Â°Ç ¾î¶³°¡ ÇÕ´Ï´Ù.
±×·¯¸é ¾î¿ ¼ö ¾øÀÌ Dhrystone MIPS ¼öÄ¡¸¦ ±âÁØÀ¸·Î °¥ ¼ö ¹Û¿¡ ¾øÀ» °Í °°½À´Ï´Ù.
¿äÁò intelÀ̳ª AMD CPU ¸ðµÎ DMIPS/core/clock ¼öÄ¡°¡ ´ë·« 8~10Á¤µµ°¡ ³ª¿À´Ï
NIC°úÀÇ ´ë¿ªÆø È®º¸¸¦ À§Çؼ atomÀ̳ª ÀÏ¹Ý desktop¿ë CPU´Â Á¦¿ÜÇÏ°í
¸»¾¸ÇϽŴë·Î Ŭ·°xÄÚ¾î¼ö »¡·Î Àû´çÈ÷ xeon/epyc¸¦ ¼±ÅÃÇÒ ¼ö ¹Û¿¡ ¾øÀ» °Í °°³×¿ä
ÀÌ·± Çϵå¿þ¾î °¡¼ÓÀÌ µÇ´Â°Ô ´Ü¼ø Ŭ·°¿¡ ºñÇØ ¾öû³ Â÷À̸¦ º¸ÀÔ´Ï´Ù
¿¹¸¦ µé¾î AES-NI À¯¹«·Î ºñ½ÁÇÑ º¥Ä¡ Á¡¼ö¶óµµ ¼ö½Ê~100¹è Â÷ÀÌ°¡ ³³´Ï´Ù
ƯÁ¤ ¿¬»ê¸¸ ÇÊ¿äÇѰŸé ASIC½á¾ßÁÒ
¾ÏÈ£È °¡¼Ó±â ¾øÀÌ CPUÀÇ ÃÖ´ë ±â´ÉÀ» ÀÌ¿ëÇÏ·Á¸é SIMDµµ ¸Å¿ì Áß¿äÇÕ´Ï´Ù. SIMD¿¡ µû¶ó ¼º´ÉÂ÷ÀÌ°¡(ƯÁ¤ ¿¬»ê ºÎºÐ¸¸ º¸¸é)16¹è ÀÌ»ó Â÷ÀÌ°¡ ³¯ ¼ö ÀÖÀ¸´Ï±î¿ä.
Á÷Á¢ ±¸ÇöÇϽ÷Á´ÂÁø ¸ð¸£°ÚÁö¸¸ OpenSSLÀ» »ç¿ëÇϽŴٸé
https://software.intel.com/content/www/us/en/develop/articles/improving-openssl-performance.html
ÃֽŠÀÚ·á´Â ¾Æ´ÏÁö¸¸ À§ ÀÚ·á°¡ µµ¿òÀÌ µÇ½Ç ¼ö ÀÖÀ»°Ì´Ï´Ù.
Ãß°¡ÀûÀ¸·Î ¾ÏÈ£È ¸ðµâÀº ÀÎÁõÀ» ¹Þ¾Æ¾ß °ø°ø±â°ü°°Àºµ¥¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
OpenSSL FIPS¸ðµâÀº ¿À·¡µÇ¾ú°í OpenSSL 3.0Àº ¾ÆÁ÷ stable ¹× FIPSÀÎÁõ¹ÞÀ¸·Á¸é ¸Ö¾úÀ¸´Ï BoringSSLµµ ÁÁÀº ¼±ÅÃÀÏ ¼ö ÀÖ½À´Ï´Ù.
https://github.com/google/boringssl/blob/c37e64cba55256dff3ca4575dfcac1cfb2aa111e/crypto/fipsmodule/FIPS.md
±×¸®°í. ssl ÀÌ ¾Æ´Ñ ¼ø¼ö µ¥ÀÌÅÍ ¾ÏȣȿëÀ̸ç, ¾Æ¸®¾Æ¸¦ »ç¿ëÇÕ´Ï´Ù.
Áß°£¿¡ µ¥ÀÌÅ͸µÅ© ÀÚü´Â ¹ÌÅ©·Îƽ Àåºñ°£ÀÇ ipsec À» ÀÌ¿ëÇÕ´Ï´Ù.
±¸ÇöÀ» ¾ÈÇغ»°Íµµ ¾Æ´Ï°í ÇÒ¼ö ÀÖÀ¸³ª ÀÎÅÍ³Ý ¸Á¿¡¼ VPN À» µû·Î ±¸ÇöÇÏ´À´Ï ±×³É ¹ÌÅ©·Îƽ ÀÚü VPN À» »ç¿ëÇÏ´Â°Ô ÈξÀ È¿À²ÀûÀ̰ŵç¿ä..
±×¸®°í ±× 1:N VPN À¸·Î ÅÂ¿ï µ¥ÀÌÅ͸¸ ¼¹öÂÊ¿¡ ±¸¼ºÀ» ÇÏ·Á´Â °Ì´Ï´Ù. Ŭ¶óÀ̾ðÆ®µµ x86ÀÎ NUC ·Î ±¸ÇöÇϱ¸¿ä.
Àû´çÇÏ¸é ¸ð¸£´Âµ¥ N °³ÀÎ Àå¼Ò´ç Æ®·¡ÇÈÀÌ 300mbps °¡ ÇʼöÀûÀÎ »óȲÀ̶ó °ËÁõÇʾÏÈ£¸ðµâ Áß Ä¿³Î¸ðµâ ÇüŸ¦ x86À¸·Î Àû¿ëÇÏ´Â°Ô °¡Àå Çö½ÇÀûÀÎ »óȲÀÌÁö¿ä.
¼¹ö´Â 10±â°¡¸¦ ó¸®ÇØ¾ß 300¸Þ°¡ Â¥¸® 30Àå¼Ò Á¤µµ¸¦ ó¸®ÇÒ¼ö ÀÖ±¸¿ä.. ½ÃÁß¿¡ ¹°°ÇµéÀÌ aes °°Àº°Å¾ß ½±°Ô °¡¼Ó±â ¾²¸é µÇÁö¸¸ ÀÎÁõ¹ÞÀº KCMVP ¸ðµâÀº ÀüÇô ¹Ù²Ü¼ö°¡ ¾ø½À´Ï´Ù. x86¿¡ ƯÁ¤ Ä¿³Î¹öÁ¯¿ë Ä¿³Î¸ðµâ¸¸ »ç¿ëÇØ¾ß ¶óÀ̼±½º°¡ À¯Áö µË´Ï´Ù.
x86Áß¿¡ Àû´çÈ÷ ÀýÃæ °¡´ÉÇÑ ¹°°ÇÀÌ ÀÖ¾úÀ¸¸é ¹ÌÅ©·Îƽ¿¡µµ ±×°Å µé¾î°¡Áö ¾Ê¾ÒÀ»±î ½Í½À´Ï´Ù..
°¡¼ººñ Ãß±¸Çϴ ȸ»ç´Ï±î Àû´çÇÑ°Å ÀÖÀ¸¸é ±×°É ¾µ²®´Ï´Ù
¼ÖÁ÷È÷ º¸¾ÈÀÌ¾ß ¹ÌÅ©·Îƽ VPN¸¸À¸·Îµµ ÃæºÐÈ÷ °¡´ÉÇÏÁÒ. ¼º´Éµµ °Ü¿ì 30¸¸¿ø´ë Àåºñ¿¡¼aes256 À¸·Î 300¸Þ°¡´Â µÉ°Ì´Ï´Ù.
ÀÌ ¸ðµç°Ô ±¹³»ÀÇ Æ¯¼ö»óȲ¿¡¼¸¸ ÇÊ¿äÇÑ °ÍÀÔ´Ï´Ù.
Àú·±°æ¿ì´Â ŸÀÏÇÁ·Î¼¼¼°°Àº ƯÁ¤¸ñÀû asic¸¦ ¼³¸íÇÏ¸é ¾ÈµÉ°Å°°°í..
°á·ÐÀûÀ¸·Î aes¸¦ Á¦¿ÜÇÑ ºñ±Ô°Ý(?) ¾ÏÈ£È ºÎºÐÀº
¿ÀÈ÷·Á cpu°¡ Áö¿øÇÏ´Â °ÍÀ» ÃÖ´ëÇÑ ²ø¾î½á¾ßÇÏ´Â °æ¿ì·Î º¸À̳׿ä
±×¿Ü¿¡´Â gpgpu¸¦ ¾ñ°í ¿ÀÇÁ·Îµå½ÃÅ°´Â °æ¿ì ¹Û¿¡ ¾øÀ»°Å¶ó º¾´Ï´Ù¸¸ 1u¶ó´Ï ¾ÈµÉ°Å °°°í
µüÈ÷ ¼±ÅñÇÀÌ ¾ø¾îº¸À̴µ¥ ÀÏ´Ü °¡Áö°í ÀÖ´Â ´ÙÄÚ¾î x86 Á¶¸³Çؼ ½Ã½ºÅÛ ±âº» »À´ë¸¦ ¸¸µé¾î ¾²·çDz È®ÀÎÇØ °èȹÀ» Â¥º¸´Â°Ô ÁÁÀ»°Å°°³×¿ä.
https://090501.tistory.com/718
https://www.cpubenchmark.net/high_end_cpus.html
°¡¼ººñ¸¦ Æ÷±âÇÑ´Ù¸é¾ß ¾ÆÀ̽º·¹ÀÌÅ© Á¦¿Â Ç÷¹Æ¼´½ ³ÖÀ»¼ö¹Û¿¡¿ä.
ÀÌ µÎ°³ + ¿£Æ®¸®±Þ Á¦¿Â °¡¼ººñ Á¶ÇÕÀÇ È¿À²º¸´Ù ÁÁÀ» ¼ö°¡ ¾øÀ¸´Ï±î¿ä.