2013년 7월 15일 월요일

린팩(Linpack)은 슈퍼컴퓨터의 성능을 올바르게 측정하고 있는가?

최근 몇년간 슈퍼컴퓨터의 성능을 측정하는데 사용되는 밴치마크 도구들 중 대표적인 린팩(Linpakc)이 과연 슈퍼컴퓨터의 성능을 올바르게 측정을 할 수 있는가에 대한 논의가 활발히 이루어지고 있다. 1970년대에 처음 발표되어 사용되던 것이 왜 논쟁의 대상인 되었는가?

논쟁은 이렇다. Linpack은 실 애플리케이션들의 성능을 제대로 평가하는데 한계가 있다는 것이다. 또한 변화하는 애플리케이션 사용 경향에 발 맞추지 않았다는 것이다. 사회가 변화하고 슈퍼컴퓨터들이 기존의 과학 계산용에서 보다 폭 넓게 사용되면서 기존의 전통적인 방법으로는 성능을 측정하는데 있어서 부족하다는 것이다. 최근 슈퍼컴들의 사용을 보면 단순히 선형 대수 계산만이 아닌 복잡한 형태의 계산에 사용이 된다. 부동소수점으로 이루어진 행렬 연산의 처리 속도뿐만 아니라 데이터를 주고 받는데 필요한 성능, 네트웍의 성능도 또한 점점 더 중요해지기 때문이다. 그리고 최근에 Top500에서 높은 순위를 얻기 위해 무작정 GPGPU를 사용하여 높은 점수를 받으려는 것이 과연 의미 있는 노력인가하는 논쟁이다. 그렇지만 논쟁이 활발해진 것은 2010년 GPGPU를 사용한 중국의 Tianhe-1A가 Top500에서 1위를 차지하면서 미국의 자손심에 커다란 상처를 준 이후일 것이다.

린팩은 1993년 이래 top500 슈퍼컴퓨터들의 성능을 재서 최고 500위 순위를 매기는데 사용되는 벤치마크 도구이다. 부동소수점 행렬 연산의 속도를 측정한다. 초당 몇 번의 부동소수점을 처리했느냐가 얼마나 빠른 컴퓨터인가를 판가름하는데 사용된다. 일반적으로 몇 Giga/Tera/Peta Flops(Floating Point operation per second)로 표현한다. 이번 ISC'13에서 1위를 한 중국의 Tianhe-2의 성능은 33.86PFlops이다.

이러한 논쟁의 결과로 그동안 사용되던 Linpack이 대체되거나 수정될 전망이다. Linpack을 처음 만든 사람중의 한 사람인 Jack Dongarra교수는 "슈퍼컴퓨터의 순위를 매기는 Linpack은 더이상 실질 애플리케이션의 성능과 밀접한 연관성이 없다."고 말하며, 11월 다음 Top500 목록을 발표할 시점에 선보일 새로운 벤치마크둘을 개발하고 있다고 밝혔다.
새로운 벤치마크 도구 이름은 HPCG(the High Performance Conjugate Gradient)이며 현대의 애플리케이션과 데이터 처리 패턴에 맞는 성능 측정 도구가 될 것이다라고 한다. 발표 즉시 린팩을 대체하진 못하겠지만 실질 애플리케이션의 성능을 대변하는 대체 수치로서 사용될 것이다.

이 새로운 벤치마크 툴인 HPCG가 HPC업계에 어떤 변화를 줄 지 지켜볼 일이다.

참고
http://www.utk.edu/tntoday/2013/07/10/professor-jack-dongarra-announces-supercomputer-benchmark/
[PDF]Toward a New Metric for Ranking High Performance Computing Systems

Tianhe-1A에 관련된 글들

댓글 없음:

댓글 쓰기