x86 성능중 ALU 성능에 대해

   조회 3551   추천 0    

일반적인 x86 x64 기반에서 세대가 높아지면서 새로운 명령이 추가되고 특정 영역의 처리가 추가되서 이른바 범용 프로세서의 성능은 점차 좋아집니다.

그런데 정수연산 이란 목적만 보고 신규명령세트를 지원하지 않은 단순 계산이 많은 경우...예를 들면 네트워크 트레픽 처리나 하드웨어 가속을 지원하지 않는 암호처리의 경우라면 그야말로 코클럭 매니코어가 답인 경우도 많습니다.

미크로틱 CCR 계열 라우터에 사용되는 Tile 프로세서는 이 정수연산에 최적화 되고 다른 잡? 기능은 최소화 한 결과 최대 1Ghz 72코어 까지 적용되, 전력대비 네트워크 연산처리나 인코딩 등이 x86 에 비해 월등히 효율적입니다. 

현재 저의 문제는 x86 x64를 지원해야 한다는 것이고,

최신 인텔 제온 프로세서들은 산술연산 외에 나에게 불필요한 잡기능을 매우 많다는 점입니다.

x86 64 비트 지원하는  xeon 프로세서 중 이런 정수연상에 최적화 된 가성비 CPU 는 어떤게 있을까요?

1U 구성으로 최대의 암호연산 기능을 뽑는게 목적입니다.



-초인을 꿈꾸는 범부, 일탈을 꿈꾸는 생활인,깨어나기 두려우나 모든것이 꿈이기를 꿈꾸는 나비-
짧은글 일수록 신중하게.
윤건 2021-05
x86에서 일반적인 정수 연산 성능은 대체로 MIPS에 비례하지 않을까 싶습니다.
PIPE라인이나 SIMD까지 고려하면 많이 복잡해지겠지만
일단은 CPU의 순수 정수연산만 놓고 본다면 Dhrystone MIPS 수치를 참고하시게는 가장 좋겠지요
다만 "가성비"라는 조건은 잘 알고계시다시피 변수가 너무 많아서....
그리고 정수연산의 목적이 암호라면 intel의 경우 AES-NI가 가속기능을 제공하지만 AES-NI에 대한 성능수치는 찾아보기가 힘드네요
아니면 Intel QAT 어댑터를 한번 살펴보시는건 어떨가 합니다.
     
그게 문제지요 가속 기능은 전혀 안씁니다. 순수 연산 클럭빨이지요..
          
윤건 2021-05
프로그램 수정 또는 plugin같은 형태의 모듈 추가 등을 할 수 없는 상황인가 보군요
그러면 어쩔 수 없이 Dhrystone MIPS 수치를 기준으로 갈 수 밖에 없을 것 같습니다.
요즘 intel이나 AMD CPU 모두 DMIPS/core/clock 수치가 대략 8~10정도가 나오니
NIC과의 대역폭 확보를 위해서 atom이나 일반 desktop용 CPU는 제외하고
말씀하신대로 클럭x코어수 빨로 적당히 xeon/epyc를 선택할 수 밖에 없을 것 같네요
dateno1 2021-05
문제는 수치 연산 특히 부동 소수점은 명령어셋빨이 매우 큽니다

이런 하드웨어 가속이 되는게 단순 클럭에 비해 엄청난 차이를 보입니다

예를 들어 AES-NI 유무로 비슷한 벤치 점수라도 수십~100배 차이가 납니다

특정 연산만 필요한거면 ASIC써야죠
찬이 2021-05
순수 연산을 통한 암호화처리면 클럭 높은게 유리하지만..
암호화 가속기 없이 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에 특정 커널버젼용 커널모듈만 사용해야 라이선스가 유지 됩니다.
isaiah 2021-05
x86은 규모의 경제 끝판왕 대중(?) 프로세서인데...
x86중에 적당히 절충 가능한 물건이 있었으면 미크로틱에도 그거 들어가지 않았을까 싶습니다..
     
dateno1 2021-05
+1

가성비 추구하는 회사니까 적당한거 있으면 그걸 쓸껍니다
     
미크로틱은 상황이 다른것이 이런 암호 가속은 국제적으로 유명한 aes 같은것들만 해주면 되니 국산 암호화 알고리즘을 신경 쓸리가 없죠.
솔직히 보안이야 미크로틱 VPN만으로도 충분히 가능하죠. 성능도 겨우 30만원대 장비에서aes256 으로 300메가는 될겁니다.
이 모든게 국내의 특수상황에서만 필요한 것입니다.
          
임상현lsh 2021-05
아리아/SEED같은 내수용(?) 암호화같은경우인가본데..

저런경우는 타일프로세서같은 특정목적 asic를 설명하면 안될거같고..
결론적으로 aes를 제외한 비규격(?) 암호화 부분은
오히려 cpu가 지원하는 것을 최대한 끌어써야하는 경우로 보이네요

그외에는 gpgpu를 얹고 오프로드시키는 경우 밖에 없을거라 봅니다만 1u라니 안될거 같고

딱히 선택권이 없어보이는데 일단 가지고 있는 다코어 x86 조립해서 시스템 기본 뼈대를 만들어 쓰루풋 확인해 계획을 짜보는게 좋을거같네요.
박문형 2021-05
Qsup 2021-05
가격까지 고려한다면 엔트리급(10900K대응) Xeon W 1290P가 최선일듯 합니다.
가성비를 포기한다면야 아이스레이크 제온 플레티늄 넣을수밖에요.
     
감사합니다. 결국 w1290p 가 가성비 최고네요 특히 정수연산에서..
          
Qsup 2021-05
결국 정수연산은 깡패같은 클럭 + 링버스
이 두개 + 엔트리급 제온 가성비 조합의 효율보다 좋을 수가 없으니까요.


QnA
제목Page 785/5730
2014-05   5266737   정은준1
2015-12   1791646   백메가
2016-04   4169   뚜앙
2017-03   3566   니포
2020-10   3523   블랙펄
2018-06   3556   나라사랑
2018-06   4191   행복하세
2022-04   6619   체스터
2015-02   6470   다연우혁아빠
2013-10   6756   머라카는데
2011-02   12177   안형곤
2011-03   6975   스카이
2013-10   16085   배고프고가…
2016-04   6397   김건우
2024-01   4397   Astarot
2015-02   3697   윈도우10
2016-04   3896   방o효o문
2017-04   3442   질문학생
2019-08   2599   슬루프
2011-03   8734   김건우
2016-05   10593   나파이강승훈
2019-09   2401   헌터D