HPL 벤치마크 결과가 상당히 낮게 나옵니다 ㅠㅠ
안녕하세요. 여러가지 병렬 계산을 위해서 클러스터를 구성 하고 있습니다.
계산 노드의 성능을 보기위해
HPL Linpack benchmark 을 이용해서
테스트를 해보았습니다.
그런데 이론적으로 계산한 값과 비교하여 너무나 낮은 값이 나왔습니다.
그리고 인터넷 상에서 제 컴퓨터보다 좋지 않은 CPU로 더 높은 성능을 보여준 사례도 있더군요.
어떻게 하면 이론적으로 예상한 값에 최대한 가까운 값을 얻을 수 있을까요??
제 시스템 정보는 다음과 같습니다.
=================================
CPU: Intel xeon E5-2650 V3 (2.3GHz, Deca cores)
RAM: 삼성 DDR4 8GB PC4-17000 (clock 2133MHz) => 8GB *4 (32 GB)
Motherbord: ASUS RAMPAGE V extreme
OS: CentOS 6
MPI: OpenMPI
=================================
이론적으로 계산한 FLOPS 값은 154 GFLOPS 입니다.
(http://hpl-calculator.sourceforge.net/ 노드 1개이고 하스웰 CPU라서 Operations Per Cycle 의 값을 8로 주었습니다. cores 는 10)
그리고 hpl benchmark를 해서 얻은 최대의 값은 23 GFLOPS 입니다.
최대일 때 사용된 파라미터 값은 대략 다음과 같습니다.
=================================
N: 10000
NB: 20
P: 4
Q: 5
=================================
제가 짐작이 가는 이유는 크게 두가지 입니다.
하나는, 10개의 코어를 전부 100% 로 돌렸을때( top명령어로 확인) cpu의 온도 (sensors로 확인) 를 확인해보면
57 도 이상을 넘지 않더구요. CPU가 열심히 일을 하지 않는 것 같습니다.
보통 일반적인 컴퓨터로 계산을 빡세계 돌리 70 ~ 80 도 까지도 금방 올라가는 모습을 보아왔었습니다.
(Intel SpeedStep 그리고 cpu governor 사용하지 않았습니다)
다른 한 부분은, 계산을 돌리고 나서 /proc/meminfo 와 top 명령어로 메모리 사용량을 보게되었는데 메모리가 사용되는 속도가 상당히 느리더라구요.
제가 사용하는 일반적인 데스크탑 용 컴퓨터로 같은 계산을 하게되었을 때와 비교해서 메모리 사용 속도가 눈에 띄게 느려졌습니다.
N=60000 인 hpl benchmark 계산을 메모리에 올리는데 대체적으로 6배 정도 느리더라구요.
(상대적인 값이라서 무의미할 수 있지만, 그만큼 눈에 띄게 메모리에 느리게 올라갑니다 ㅠㅠ)
그리고 다음 부분에 대해서 의심이 갑니다.
1. 소프트웨어(blas, atlas 등 ) 설치 잘못
2. Bios 및 리눅스 설정
3. 하드웨어 호환성으로 인한 속도 저하
어떤 식으로 접근을 해야할지 감이 오지 않아, 질문드립니다.
어떤 부분이 문제가 될 수 있고, 어떤 식으로 접근해야할까요? ㅠㅠ
읽어주셔서 감사합니다.
댓글 달기