본문 바로가기
기타하드웨어

HPC에서 모바일 프로세서의 미래.

by gamma0burst 2013. 5. 27.

몽블랑 프로젝트에 관한 괜찮은 자료가 있어 소개하려고 합니다.
HPC(High Performance Computing) 시장에의 모바일 프로세서의 현재와 미래에 대한 내용입니다.
대충 의미만 통할 정도의 날림 번역이니 양해 바랍니다.
(
http://www.montblanc-project.eu/sites/default/files/publications/Are%20mobile%20processors%20ready%20for%20HPC.pdf)


모바일 프로세서는 HPC를 위한 준비가 되어있는가?
(포스트 제목은 제가 임의로 정한겁니다.)




최초에 HPC 시장을 지배한 것은 벡터 프로세서입니다.



하지만 벡터 프로세서는 대규모의 데이터 처리에 특화되었기때문에 일반적인 용도에서는 효율이 떨어집니다.



결국 벡터 프로세서는 RISC에 밀렸고, RISC도 x86 프로세서에 밀려났습니다.
벡터 프로세서는 현재 x86 명령어, GPU의 SIMD 등의 형태로 살아남아 있습니다.
대규모 데이터 처리라는 장점은 어디 안 가니까요.



마이크로프로세서는 벡터 프로세서에 비하면 빠르지 않습니다.
벡터 프로세서 1개의 성능을 얻기위해서는 10개의 마이크로프로세서가 필요합니다.
그런데도 마이크로 프로세서가 벡터 프로세서를 밀어낼 수 있었던 이유가 있습니다.
가격이 훨씬 싸고, 전력효율이 훨씬 좋았기때문입니다.



모바일 프로세서는 마이크로프로세서보다 훨씬 쌉니다. (뒤에 나오겠지만 전력효율은 아직...)
모바일 프로세서의 성능향상도 빠르게 이루어지고 있습니다.

현재 추세를 보면 과거의 역사가 반복될 수 있습니다.
마이크로프로세서가 벡터 프로세서를 밀어냈듯이, 모바일 프로세서가 마이크로프로세서를 밀어낼 가능성이 있습니다.



테그라4와 8코어 샌디브릿지의 FP(DP) 연산 성능차이는 10배지만, 가격은 70배.

테그라3 : 1.3GHz x 4코어 x 1 DP OP/cycle = 5.2 GFLOPS

샌디브릿지 : 2.4GHz x 8코어 x 8 DP OP/cycle = 153.6 GFLOPS
테그라4 : 1.9GHz x 4코어 x 2 DP OP/cycle = 15.2 GFLOPS



테스트 제품.


테스트 커널(?)


싱글코어 성능, 전력.

왼쪽은 클럭별 성능 분포.
높을수록 좋습니다.

오른쪽은 클럭별 소비 에너지. (작업 반복당 에너지.)
낮을수록 좋습니다.

절대성능은 샌디브릿지가 크게 앞서지만, 에너지효율은 엑시노스5250이 좋습니다.


멀티코어 성능, 전력.

샌디브릿지는 절대성능에서 앞섭니다.
동클럭에서 샌디브릿지와 엑시노스5250의 에너지효율은 비슷합니다.
최대성능에서 샌디브릿지의 에너지효율이 더 좋습니다.
x86의 최대성능이 압도적이고 에너효율까지 높으니 ARM이 비주류일 수 밖에 없습니다.

테그라3가 엑시노스5250보다 에너지효율이 좋은데, 이는 코어 수 차이때문입니다.(4코어 vs 2코어)
(왜 멀티코어로 가는지 이유가 보이지요?)


메모리 대역폭.

테그라에 비해 엑시노스5250의 메모리 대역폭이 큽니다.
기본적으로 메모리 대역폭 사양이 2배 이상인데다가 아키텍처(Cortex-A15)의 영향도 있습니다.
샌디브릿지와의 차이는 여전히 큽니다.(로그스케일이라 그래프에서 저정도 차이는 보기보다 큽니다.)



Tibidabo : 최초의 ARM HPC 멀티코어 클러스터.
예전에 다룬적 있습니다.
(
ARM기반 HPC 프로토타입 : Pedraforca)
스마트폰 프로세서 클러스터의 활용 가능성을 입증.


소프트웨어 계층.


병렬 확장성.
테그라2 클러스터에서 스케일이 잘 이루어진다는데, 노드가 늘어난 것에 비례해서 성능이 잘 나온다는 의미입니다.


내부접속.
뒤에서 얘기가 나오겠지만, 현재 SoC들은 이더넷나 PCI-express를 네이티브로 지원하지 않습니다.

테그라2는 PCIe로 기가비트 이더넷을 지원, USB2.0으로 100Mb 지원.
엑시노스5250은 USB3.0으로 기가비트 이더넷을 지원, USB2.0으로 100Mb 지원.

USB2.0이 최대 480Mbps이니 100Mb 지원에 충분하겠고, USB3.0이 최대 5Gbps이니 1GbE 지원에 충분하겠지요.


레이턴시.
(TCP/IP가 100Mbit 이고, OpenMX가 1GbE인듯.)

OpenMX 드라이버는 이더넷 NIC에 직접 접속. (빠르다는거.)
USB계층은 네트워크 계층에 레이턴시를 추가. (느리다는거.)


대역폭.

TCP/IP 오버헤드로 인해 Cortex-A9 가 최대 대역폭을 얻을 수 없다.
USB계층 오버헤드로 인해 엑시노스5250은 OpenMX에서도 최대 대역폭을 얻을 수 없다.
(테그라2와 다르게 엑시노스5250은 OpenMX = 1GbE에서도 USB3.0을 거치기때문이지요.)


내부접속 vs 성능 비.

모바일 SoC는 내부접속 대역폭이 작지만, 대역폭 대비 성능은 하이엔드급과 비슷합니다.


현재 모바일 프로세서의 한계.

- 32비트 메모리 컨트롤러.
메모리 대역폭 얘기가 아니라 최대 관리 메모리 용량 얘기인듯.
- ECC 미지원.
에러에 취약.
- 일반적인(표준) 서버 I/O 인터페이스 미지원.
네이티브 이더넷, PCIe 미지원.
USB3.0, SATA 지원.
- 네트워크 프로토콜 오프로드 엔진 미지원.
- 열 패키지가 최대 파워 동작을 계속할 수 없은 디자인.
방열설계가 풀로드 상황을 지속할 수 없는 수준이라는 얘기인듯.


서버칩과 모바일칩 비교.


결론.

- 모바일 프로세서는 HPC에서 관심을 가질만한 특징이 있음.
FP64 연산 능력.
빠른 성능 향상.
거대 시장, 다수의 공급자, 경쟁자, 낮은 가격.
GPU 가속기 포함.

- 현재 한계는 타겟 시장 상황에 의한 것.
기술적인 한계는 아님.

- 완전한 ARM 서버칩이 출시될 것.
확인된 한계를 대부분 해결.




댓글15