2016년 9월 12일 월요일

크로스플랫폼 벤치마크 툴 'Geekbench 4' 출시... 모바일 시대 표준 벤치마크의 꿈을 안고

PC 산업의 역사에서 벤치마크가 차지하는 비중은 결코 작지 않다. 

제조사는 차세대 제품이 전 세대 제품에 비해 어느 정도의 성능향상이 있었는지를 홍보하기 위해 성능을 테스트하고, 이를 시각적으로 나타내어줄 도구가 필요했고, 소비자 역시 제품을 선택할 때 제조사의 일방적인 주장에 기대지 않고, 자기가 사려는 제품의 성능을 객관적, 시각적으로 알아보기 위한 도구가 필요했다. 이 둘의 접점에서 벤치마크 프로그램이 탄생했다.

이후 벤치마크 프로그램은 계속해서 발전해왔는데, 발전 과정에서 가장 큰 고민은 벤치마크 시나리오를 어떻게 구성할 것인지에 대한 것이다. 가장 훌륭한 벤치마크는 각 유저의 사용 패턴을 그대로 시나리오로 만들어 그 시나리오에서 가장 우수한 성능을 보이는 프로세서를 찾아주는 것이다. 하지만 모든 유저의 사용 패턴은 각각 다르고, 이를 완전히 개인화할 수 없기 때문에 벤치마크 개발자는 가급적 많은 사용자를 대표할 수 있는 시나리오를 구성하기 위해 노력하고 있다.

'긱벤치(Geekbench)' 4 버전의 출시 역시 이런 맥락에서 이루어졌다. 

긱벤치는 모바일 시장이 급격히 성장하면서 유명해진 벤치마크로, Windows, macOS, Linux, Android, iOS 등 대부분의 운영체제를 지원하는 크로스플랫폼 벤치마크 프로그램이다. 긱벤치 4 역시 위에서 언급한 모든 플랫폼을 지원하며, 기존의 긱벤치 3와 달라진 워크로드, 데이터셋을 통해 모바일 기기들의 성능을 좀 더 객관적으로 측정할 수 있다는 것이 개발사의 주장이다.

Geekbench 3 vs Geekbench 4 : 달라진 점은 무엇?

전작인 긱벤치 3는 2013년 8월에 최초로 출시되었다. 

긱벤치 2와는 달리 ARMv8의 명령어들을 최대한 활용할 수 있도록 컴파일되었다는 점이 가장 큰 특징이다. 하지만 긱벤치 3가 출시되던 시점에서 ARMv8 기반의 64비트 칩을 탑재한 상용 스마트폰은 단 하나도 없었다. 물론, 곧 A7칩을 탑재한 아이폰 5s가 출시되어 64비트 기반 최초의 상용 스마트폰이 되긴 했었지만, 그 당시 평균적인 스마트폰들은 32비트(ARMv7) 기반의 칩에 512MB 정도의 메인 메모리 용량을 가지고 있었다.

당시의 평균적인 스마트폰들은 PC와 상당히 큰 성능 격차를 가지고 있었으며, 그 때문에 긱벤치 3 개발 당시에는 PC용과 모바일용 데이터셋을 분리해서 개발했다. 당시에 PC용 데이터셋은 모바일에서 구동하기에는 너무 컸던 데 비해, 모바일용 데이터셋은 PC에서 실행할 경우 제대로 된 테스트를 하기 힘들만큼 일찍 끝나버렸다. 

하지만 3년여가 지난 지금, 모바일 기기들의 성능은 엄청나게 향상되었다. 이제 대부분의 모바일 기기는 64비트로 동작하며, 2GB 이상의 메인 메모리를 보유하고 있다. 플래그십 스마트폰과 태블릿들의 성능은 PC에 버금가거나, 일부 부분에서 PC를 뛰어넘는 성능을 보이고 있다.


* Geekbench 4의 CPU 벤치 인터페이스

이런 모바일의 성능 향상 덕분에 긱벤치 4에서는 모바일과 PC가 동일한 데이터셋을 공유할 수 있게 되었다. 거기에 더해 긱벤치 4는 긱벤치 3와 다른 CPU 워크로드를 보유하고 있음은 물론이다. 긱벤치 4는 더 복잡한 워크로드를 도입해 CPU와 캐시, 메모리에 더 큰 부하를 준다. 거기에 LLVM, SQLite, PDFium 등 실제로 모바일 환경에서 자주 사용되는 코드베이스를 사용하는 워크로드를 추가함으로써, 실사용 환경에 좀 더 가까운 결과를 낼 수 있도록 설계되었다.


* Geekbench 4의 Compute 벤치

또한 긱벤치 4에선 기존에 없던 GPU 컴퓨팅 성능을 측정할 수 있는 워크로드가 추가되었다. 이는 더 많은 어플리케이션들이 GPU 연산을 이용해 작업을 수행하고 있는 현 상황을 반영한 것이다. 당장 스마트폰 시장의 거대한 축인 애플은 기계학습을 이용한 인공지능을 기기에서 제공하면서 GPU 연산을 본격적으로 활용하는 동시에, 서드파티 개발자들에게도 메탈 API를 통해 GPU를 통한 범용 연산을 이용할 것을 독려하고 있다 (링크).

긱벤치 4는 이미지 프로세싱, 렌더링 등과 같이 GPU의 병렬성을 잘 활용할 수 있는 작업들을 이용해 8개의 GPU 연산 워크로드를 구성했다. 현재 이들 워크로드는 플랫폼, 그래픽카드의 종류에 따라 각각 CUDA 7.5, OpenCL 1.1, RenderScript API를 통해 실행된다. iOS의 경우 현 시점에서는 GPU 연산 성능 측정이 지원되지 않는데, 추후 업데이트를 통해 메탈 API를 활용하는 등의 방법으로 GPU 연산 성능 벤치마크를 지원할 것으로 보인다.


* 긱벤치 4의 새로운 iOS, Android 유저 인터페이스

새 술은 새 부대에 담으라는 말이 있듯, 긱벤치 4는 유저 인터페이스를 다듬는 것 역시 소홀하지 않았다. iOS 버전은 더 직관적인 디자인을 채택했으며, 안드로이드의 경우 구글의 머티리얼 디자인 가이드라인에 따라 앱을 새로 디자인했다.

긱벤치 4의 CPU 워크로드 : 긱벤치 점수는 어떻게 산정되는가?

지금까지 긱벤치 4의 대략적인 변경 사항들을 살펴보았다. 이 단락에서는 긱벤치 4가 정확히 어떤 시나리오를 통해 CPU, 메모리 성능을 테스트하는지를 알려주고, 우리가 흔히 보는 총 점수가 어떻게 산출된 것인지를 알려줄 것이다. 이 단락의 모든 내용은 긱벤치 4의 개발사인 PRIMATE LABS이 제공하는 Geekbench 4 CPU Workloads (링크) 문서에 기반하고 있다.


* 아이폰 7로 추정되는 기기의 벤치마크 결과 화면, 긱벤치 브라우저 캡처

긱벤치 4는 각 프로세서의 싱글코어 점수와 멀티코어 점수를 산출한다. 물론 싱글코어와 멀티코어에서 실제 프로세서가 연산하는 항목은 다르지 않다. 다만 싱글코어 성능 테스트의 경우 프로그램이 한 개의 스레드로 이루어져 스레드 레벨의 병렬성이 없을 뿐이다. 싱글코어, 멀티코어 점수는 각각 암호화 성능, 정수연산성능, 부동소수점 연산성능, 메모리 성능으로 세분화된다. 이들은 또 각각의 성능을 계측할 수 있는 여러 시나리오들로 이뤄진다.

먼저 암호화 성능 항목을 살펴보자. 암호화 성능은 AES 암호화를 얼마나 빠르게 할 수 있는지로 그 성능을 평가한다. 만약 프로세서가 AES 명령어를 제공하는 경우 긱벤치 4는 그 명령어를 통해 작업을 수행하며, 그렇지 않은 경우 소프트웨어적으로 구현된 AES 암호화를 수행한다. 암호화 성능은 단 하나의 벤치마크 시나리오로 구성되는데, 기존 긱벤치 3에서는 정수연산 성능 항목에 속해 있었다. AES 암호화의 분류가 바뀐 이유는 대부분의 프로세서들이 AES 명령어를 따로 지원하고 있기에, 순수한 정수 연산성능을 테스트하기에 적합하지 않기 때문이다.

다음은 정수 연산성능 항목이다. 정수 연산성능 항목은 총 11개의 시나리오로 구성되어 있는데, 이는 기존 긱벤치 3의 9개(AES를 제외) 보다 많아진 것이다. 세부 시나리오를 살펴보면 그 변화는 더 큰데, LZMA 압축, Canny, SQLite, LLVM, HTML 5 Parse, HTML 5 DOM, PDF 등의 항목이 추가되었고, 기존에 있던 SHA1, SHA2, JPEG 압축 해제, PNG 압축 해제 등은 카메라 시나리오에 통합되었다. Twofish나 Bzip 압축, 압축 해제 등 사라진 시나리오 역시 존재한다.

긱벤치의 점수 책정 방식은 각각의 시나리오의 스루풋을 구한 후 이를 기준이 되는 프로세서의 스루풋과 비교하는 방식이다. 긱벤치 4의 경우 i7-6600U의 싱글코어 스루풋을 4000점으로 기준을 잡고 산술적으로 비례하여 점수를 부여한다. 즉, 이 점수들은 단위를 갖는 물리량이 아니라 일종의 비율이므로 이들을 제대로 합산하기 위해서는 기하평균을 사용해야 한다. 실제로 긱벤치는 정수, 부동소수점, 메모리 성능 등 여러 개의 시나리오를 종합할 때 기하평균을 이용한다. 즉, 정수연산성능은 11개 시나리오 점수의 기하평균이다.

부동소수점 연산성능 항목은 정수연산 성능 항목에 비하면 적은 변화를 겪었다. 옵션 가격 결정 모델인 Black-Scholes나 Mandelbrot 등 일상 사용과 큰 관계가 없는 시나리오가 제거되고(Sharpen image 항목도 제거), 2D 환경에서 물리엔진으로 사용되는 Rigid Body Physics 항목과 요즘 사용 빈도가 높아지고 있는 음성 인식 항목이 추가되었다. 다만 시나리오 세 개가 사라지고 두 개가 추가되었기 때문에 부동소수점 연산성능을 구성하는 총 시나리오의 갯수가 하나 줄어들게 되었다. 부동소수점 연산성능 역시 각 항목들의 기하평균으로 전체 성능 수치를 얻어낸다.

마지막으로 살펴볼 것은 메모리 성능이다. 메모리 성능을 계측하는 기준 역시 기존과 비교해서 큰 변화를 겪었는데, 기존에는 메모리 성능을 STREAM copy, STREAM scale, STREAM add, STREAM triad의 네 가지 시나리오로 측정했다. 이들은 모두 메모리의 순차 읽기 성능에 중점을 둔 테스트 방법이다.

긱벤치 4에서는 메모리 성능을 Memory Copy, Memory Latency, Memory Bandwidth 세 가지 항목으로 테스트한다. 

Memory Copy의 경우 다른 크기의 랜덤한 데이터를 복사하는 속도를 측정하게 된다. Memory Latency의 경우 의도적으로 캐시 미스를 유도해 메모리의 지연시간을 측정할 수 있도록 시나리오가 구성되어 있다. 이를 통해 일정 시간동안 몇 번 메모리에 접근했는지를 통해 메모리의 레이턴시 점수를 수치화한다. 마지막으로 Memory Bandwidth의 경우 기존 긱벤치 3의 메모리 테스트 시나리오와 유사하게 구현되어 있다. 얼핏 보기에는 성능을 계측하는 시나리오의 갯수가 줄어든 것 처럼 보이지만, 실제로는 더 정확하게 메모리 성능을 측정하는 셈이다.

이제 우리는 암호화 성능, 정수 연산성능, 부동소수점 연산성능, 메모리 성능 각각에 해당하는 점수를 가지고 있다. 긱벤치 4는 이들을 각각 5%, 45%, 30%, 20%의 가중치로 산술평균을 구한다. 우리가 최종적으로 보는 싱글코어, 멀티코어 성능 점수는 바로 이렇게 얻어진 것이다. 긱벤치 3가 정수, 부동소수점, 메모리 연산성능의 비중이 각각 40%, 40%, 20% 였던 것을 감안하면 상대적으로 전체 점수에서 정수 연산성능이 차지하는 비중이 커진 것이다.

결론 : 훌륭한 크로스플랫폼 벤치마크, 긱벤치

이전부터 크로스플랫폼 벤치마크로 유명했던 긱벤치는 긱벤치 4 업데이트를 통해 모바일과 PC 환경의 데이터셋을 통일하고, 여러 워크로드를 수정하고 또 추가했다. 

이런 변화는 긱벤치 4가 좀 더 고성능의 기기들을 테스트하는 데 적합하도록 만들었고, PC와 모바일을 아우르는 좀 더 신뢰성 높은 벤치마크가 되도록 했다. 예를 들어 아이폰 7의 A10 Fusion 칩과 인텔의 스카이레이크 Core m3 칩 중 어느 것이 성능이 더 높냐에 대한 대답은 긱벤치 4가 제공해줄 수 있을 것이다.

거기에 긱벤치 4는 CPU 연산성능 테스트에 그치지 않고 GPU 연산성능 테스트 역시 추가함으로써 역시 여러 플랫폼을 아우르는 훌륭한 벤치마크 프로그램으로써 자리매김했다.

다만, 일반 사용자의 컴퓨팅 워크로드에서 부동소수점 연산이 차지하는 비중이 점점 더 높아지고 있는 현 시점에서 부동소수점 연산 성능이 전체 점수에서 차지한 비중을 큰 폭으로 줄인 것은 아쉬운 결정이다(40% -> 30%). 긱벤치는 이런 점수 산정 방식의 변화에 대해 공식 문서에서 어떤 언급도 하지 않았으며, 현재의 점수 산정방식인 5%, 45%, 30%가 각각 암호화, 정수, 부동소수점 시나리오 갯수의 비인 1개, 11개, 7개와 크게 다르지 않은 점을 봤을 때 이 부분에 대한 큰 고민 없이 결정된 수치일 가능성이 높다.

이는 실생활에서 많이 사용하는 코드베이스의 시나리오를 추가해 전체 점수의 대표성을 올리려는 시도가 동시에 전체 점수에서 부동소수점 연산성능이 차지하는 비중을 줄임으로써 대표성을 떨어뜨리는 결과로 나타날 수 있다는 점에서 특히 아쉽다.

하지만 이런 아쉬움과는 별개로, 앞으로도 긱벤치 4는 모바일 기기의 성능을 측정할 때 단골 벤치마크 프로그램으로 등장할 것이다. 또, 플래그십 스마트폰이나 태블릿 등이 저전력 x86 프로세서와 충분히 겨뤄 볼만한 성능을 보유했다는 것을 감안할 때, 앞으로는 랩탑 등 포터블한 PC의 성능 측정에서 역시 심심찮게 등장할 것으로 보인다.

코멘트 & 다운로드

긱벤치 4는 출시를 기념해 특별 할인 기간을 갖는다. 

iOS나 Android의 경우 앱스토어를 통해 9월 13일까지 무료로 긱벤치 4를 내려받을 수 있으며, macOS나 Windows, Linux 등의 데스크탑 운영체제용 긱벤치의 경우 그 가격을 20% 할인해 준다. 기간이 얼마 남지 않은 만큼, 필요한 독자들은 빨리 내려받기를 바란다.

Download Geekbench 4

필자: Jin Hyeop Lee (홈페이지)

생명과학과 컴퓨터 공학을 복수전공하고 있는 대학생입니다.



참조
Geekbench 4 공식 웹사이트
긱벤치 4 출시, 모바일 시대 표준 벤치마크의 꿈을 안고

관련 글
아이폰 7 긱벤치 점수, 아이패드 프로보다 더 빨라... 아이폰 7 플러스는 3GB 메모리 장착
컴퓨터 시장을 움직이는 힘: 무어의 법칙에서 사용자 경험으로
iOS 10 프리뷰 : 성능과 개인정보 보호의 관계

저작자 표시 비영리 변경 금지


from Back to the Mac http://ift.tt/2cSq5jy
via IFTTT