회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.
얼마나 더 빠른가? 전력 소모는 얼마나 늘어났는가? 얼마나 더 뜨겁나?
일반적으로 성능이 올라가고 내부 구조가 복잡해지면 전력 소모는 늘어나고 이에 따라 많은 열이 발생합니다.
4개의 Corxtex-A15, 4개의 Cortex-A7, 대용량 L1/L2 캐시, 거대한 Tri-core SGX GPU, 800Mhz DDR로 동작하는 RAM, 5Gbps PHY의 USB 3.0 등등으로 구성된 Exynos5-Octa(5410)가 탑재된 ODROID-XU도 동일한 숙제를 갖고 있습니다.
ODROID-XU는 아래와 같은 모습이며, 자세한 내부 구조 정보는 링크를 참고하시길 바랍니다.
현재 주문을 받고 있으며, 선착순으로 9월 10일부터 발송을 시작합니다. 현재 예약판매 특가로 진행하고 있습니다.
http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G137510300620
먼저 ODROID-XU의 시스템 성능은 어느 정도인지 비교해 보도록 하겠습니다. 벤치마킹 대상으로는 TI의 OMAP4460 Dual-core A9 1.2Ghz, Calxeda Quad-core A9 Server 제품 1.1Ghz/1.4Ghz 2종, 인텔의 아톰 D525 1.8Ghz Dual-core, 끝으로 Exynos5 Dual(5250) 기반의 구글크롬북으로 총 5종류를 선정하였습니다.
우분투 13.04 server 버전을 ODROID-XU 보드에서 구동하였으며, 벤치마킹 툴은 리눅스 세계에서 유명한 Phoronix Test Suite 4.6을 이용하였습니다.
첫 테스트는 미국 NASA에서 개발한 NAS Parallel Benchmark입니다. 원래는 슈퍼 컴퓨터의 병렬 처리 능력을 측정하기 위해 개발된 것으로 유체 역학을 수학적으로 푸는데 사용한 연산을 이용합니다.
4종류의 NAS 테스트는 다음과 같은 벤치마킹으로 구성되어 있습니다.
1. Lower-Upper Gauss-Seidel solver
2. Multi-Grid on a sequence of meshes, long- and short-distance communication, memory intensive
3. Scalar Penta-diagonal solver
4. Unstructured Adaptive mesh, dynamic and irregular memory access
공학 연산 병렬 처리 성능 테스트용 NAS의 경우 4종의 모든 테스트에서 Exynos5 Octa가 탑재된 ODROID-XU가 우월한 성능을 보여주었습니다. 비교적 일률적인 연산에서는 인텔 아톰 듀얼코어에 비해 50~100%가 넘는 성능 우위를 보여주며, 병렬화가 어려운 랜덤한 연산 위주의 UA 테스트에서는 6%정도만 앞서는 결과가 도출되었습니다.
비손실 압축의 대명사인 Zip 성능 테스트 입니다. ODROID-XU가 7-Zip compression 에서도 월등한 성능을 보여주고 있습니다.
H.264 비디오 코덱 소스의 일종인 x264 인코딩 테스트입니다. 순수 소프트웨어 인코딩입니다만 초당 20프레임의 성능으로 Atom에 비해 2배에 가까운 성능을 보여주고 있습니다.
Smallpt는 3D 공간에서 광원에 대한 묘사를 수학적으로 보여주기 위한 것이며, 실제로는 99줄의 C++ 언어로 만들어진 것입니다. 수치가 낮을 수로 성능이 좋은 것입니다.
대부분의 테스트에서 ODROID-XU의 성능이 압도적인 것을 알 수 있으며, ARM big.LITTLE 구동이 가능한 옥타코어 개발 보드로는 전세계 최고의 가격대비 성능을 보여준다고 말씀드릴 수 있습니다. 또한 케이스, 방열장치, 전원어댑터가 기본 가격에 포함되어 있으며, 20여 종에 가까운 여러 주변기기를 준비하여 다양한 분야에 적용 가능하도록 하였습니다.
그런데 현실 세계에서는 OpenCL과 OpenGL을 동시에 GPU로 구동하거나, 매우 무거운 게임을 즐기는 경우, 또는 보드에서 –j4 옵션으로 리눅스 커널을 컴파일하는 경우 전력 소모가 높아지고 발열도 커지게 됩니다. 대부분의 경우 전력/발열은 동작 주파수 및 CPU의 로드에 비례합니다만, 시스템이 심하게 복잡해 지면서 실제 어느 부분의 전력 소모가 문제가 되는지 추적하는 것 거의 불가능에 가까워지고 있습니다.
그럼에도 전력과 성능 사이에서 최적의 균형된 포인트를 찾으려는 개발자들의 노력은 눈물없이 볼 수 없는 슬픈 드라마입니다. 이런 현실에 도움을 드리고자 정밀도가 높은 전류/전압 센서 4개를 탑재하여 실시간으로 Big Core(A15), Little Core(A7), GPU, DDR3 램의 에너지 소모량을 동시에 모니터링 할 수 있는 기능을 ODROID-XU+E 모델에 탑재하였습니다.
측정한 전력값은 OS나 어플리케이션의 상태와 무관하게 언제나 볼 수 있도록 반투명의 Overlay 형태로 표시되며, 아래 그림처럼 GPU/CPU별 동작 주파수(DFS), 온도, task-load 값과 함께 Big Core, Little Core, GPU, DDR3 RAM의 전압/전류/전력량을 보여줍니다. Big.LITTLE Octa Core의 In-Kernel-Switch (IKS) 상태도 전력을 보고 가늠할 수 있습니다.
에너지 효율적인 운영체제나 어플리케이션을 개발하는 전문가라면 ODROID-XU 대신, 에너지 모니터링 회로가 포함된 ODROID-XU+E를 선택하시길 바랍니다.
실제 시스템에서 에너지 모니터 기능이 어떻게 동작하는지 궁금하시면 아래 동영상을 꼭 보시길 바랍니다.
CCI 문제는 A7코어와 A15코어가 전환 될때만 발생하는 것으로 알고 있습니다.
부하가 별로 없으면 A7이 400Mhz이하로 동작하다가, 부하가 많아지면 A7이 1.2Ghz까지 올라갑니다.
더 많은 성능이 필요해지면 A15가 켜지고 A7은 꺼지게 됩니다.
A15는 1.2Ghz에서 1.6Ghz사이로 동작하는 것으로 보입니다.
따라서 Cache stolen 현상으로 문제가 발생하는 경우는 거의 발생하지 않습니다.
그런데 A15와 함께 A7이 동작하는 경우(8개 코어 멀티 프로세싱)에는 CCI 문제에 의한 성능 저하가 심각해질 수 있습니다.
본문의 벤치마킹 결과처럼 A15 4개 만으로도 충분한 성능이 나오고 있습니다.
그리고 1.2Ghz A7의 성능은 1.6Ghz A15 성능의 15~20% 정도입니다.
전제 시스템 성능 중 15~20% 정도의 손실은 그리 큰 문제라고 생각하지 않습니다.
혹시 제가 잘못 알고 있다면 정정해 주시길 부탁드립니다.
좋은 결정 해주셔서 감사합니다. ㅎㅎ
OpenCL의 드라이버 구동은 확인되었으며 SDK는 Imagination 홈페이지를 통해 9월 말까지 배포될 예정입니다.
가능하면 간단한 예제 및 Tutorial도 함께 준비해 보도록 하겠습니다.
OpenCL은 이미지 프로세싱 분야에 상당히 강력한 툴이 될것 같습니다.
참고하시라고 XU보드에서 구동되는 OpenCL 예제 동영상을 링크해 봅니다.
역시 예리하십니다. ㅎㅎ
표준 DisplayPort(DP) 커넥터 및 관련 회로를 탑재하여 시중에서 비교적 쉽게 구할 수 있는 30인치 미만의 2560x1440 과 2560x1080 초고해상도 모니터에서 출력은 성공하였습니다. 그런데 그 외에도 다양한 모니터들의 호환성 문제를 해결한다는 확신이 없어 스펙에서 빼버렸습니다. 완성도 높은 드라이버 개발을 위해 비싼 DP 모니터를 여러 종류 구입해야하는 부담도 있고, DP/EDID 관련 드라이버도 많이 복잡해졌고, 양산/발송 날짜도 얼마 안남아 아쉽지만 포기하였습니다. ㅠㅠ..
성능은 대단해 보입니다. 가격도 참을만 하네요.
8월 중으로 구매 품의 써봐야겠네요.
그런데 CCI 문제가 있는듯 한데, 실제 어떤지 궁금하네요.