Windows on ARM벤치마크 자료의 해석에 대해

작년 12월에  프로그래머 관점에서의 Surface Pro X 벤치마크 라는 글을 작성했었다.

영문/한국어로 작성했고 영문버전은 해외에선 꽤 이슈가 됐었다.
한국에선 전혀 관심을 못끌었는데 요새 ARM for Mac발표 이후 여기저기서 막 퍼가고 있다.
퍼간거까진 좋은데 보고싶은대로, 생각하고싶은대로 해석하는것 같다.

오해를 막기 위해 그 벤치자료에 추가적인 설명을 붙여본다.

  1. 벤치자료 내용의 대부분은 ‘명령어 또는 작업당 소모 클럭 카운트’를 측정하여 표기하고 있다. 즉 cpu에 인가되는 sync클럭 주파수랑은 상관이 없다. 벤치 결과를 보면 많은 경우 x86쪽이 적은 클럭 소모를 보인다. 즉 같은 클럭으로 비교한다면 x86이 더~~~ 빠르다.해당 벤치를 수행할때도 그랬고 일반적으로 ARM cpu와 x86(인텔) CPU의 클럭 차이는 1.5 – 2배정도. 따라서 클럭 주파수까지 고려하면 (명령어당 소모 클럭카운트 x 클럭 주파수 비율) 이므로 x86(인텔)이 2배보다 훨씬 더 빠르다.
  2. 그럼에도 불구하고 일반적인 사용에서 ARM프로세서의 성능이 충분히 만족스럽다고 적었다. 게임이 200FPS나오면 좋지만 30FPS만 나와도 플레이하는데 크게 불편하진 않기 때문이다. 즉 만족스럽다는 뜻은  동일 수준이거나 그 이상이라고 말하는게 아니다.
  3. x86에뮬레이션은 정말 더럽게 느리다. 최대 8배까지도 느린데, 그렇다고 체감상 8배 느리다는 뜻은 아니다. 명령어 또는 특정 작업이 8배까지 느리다고 하는 것이다. 파일질라, 다음팟 플레이어등 무겁지 않은 어플리케이션들은 x86에뮬레이션으로 돌아감에도 불구하고 불편함을 전혀 느끼지 못한다.
    그러나 Visual Studio등 덩치가 크고 복잡한 어플리케이션을 돌리면 도저히 사용이 불가능할 정도로 느리다.
    포토샵도 마찬가지인데, 물론 에뮬레이션으로 포토샵 작동이 가능하다. 심지어 최초 실행까지는 x86네이티브보다 더 빠르다고 느낄수도 있다(pc 포맷하고 새로 깔면 빠르다고 느끼니까). 그러나 이걸 실무에 사용한다고 하면 완전히 다른 얘기다. 캔버스 돌려가며 작업해보면 확실히 느리고 필터적용도 느리다. 펜으로 그려보면 확연히 응답성이 떨어진다. ARM64네이티브 코드도 x86네이티브에 비해 메모리를 더 처먹는데 x86에뮬레이션일땐 그보다 더 처먹고, 메모리 주소공간은 32비트로 제한되어 쉽게 메모리 부족 상태가 된다. 실무에 사용할 수 없다.
  4. 게임의 경우 오히려 에뮬레이션 모드에서의 성능 저하가 덜하다. 왜냐하면 병목걸릴만한 부하는 대부분 GPU에 걸리니까.
  5. 퀄컴의 SQ1프로세서의 성능이 애플칩 반토막이라고 적어놓은 글도 봤는데 그 근거는 geekbench자료인듯 하다. 일단 난 geekbench를 신뢰하지 않는데, 설령 geekbench자료를 믿는다 해도 그것만으로는 SQ1이 애플칩의 반토막이라고 주장할만한 근거로는 삼기엔 충분치 못하다고 본다.
  6. ARM프로세서에 x86과 동일 클럭을 인가하면 x86보다 빠르다고 주장하는 글들을 봤다. ARM칩이 전력소모당 성능이 높은건 맞다. 그러나 현재까지 테스트해본 바로는 클럭당 성능이 높은건 아니다. 적어도 SQ1 vs intel x86의 결과는 그 반대다. 물론 x86만큼의 클럭을 인가한다면 성능의 차이가 줄어들긴 할 것이다.
  7. 그런데 ARM칩에 x86수준의 클럭(4.5 – 5.GHz)이 가능한지 모르겠다.(말 그대로 난 모른다.) 낮은 클럭주파수를 인가했을때 잘 작동한다고 해서 높은 클럭 주파수를 인가했을때 잘 작동한다는 보장은 없으니까.
  8. 난 Windows on ARM은 이미 망했다고 생각한다. 그 주된 이유는 ARM프로세서의 성능 문제가 아니다. 소프트웨어 생태계의 문제이다. 서피스 이벤트 당시의 전망과는 다르게 Adobe조차 ARM64네이티브코드로 포팅된 제품을 내놓지 않고 있다. 웹브라우저와 오피스 빼고 나머지 소프트웨어는 몽땅 x86 에뮬레이션에 의존해야할 상황이다. x86에뮬레이션은 느리기만 한게 아니다. 정상작동하는듯 보이다가도 크래시하거나 오동작하는 경우들이 꽤 있다. 신뢰성이 부족하다.
    드라이버는 더더욱 문제가 크다. 서드파티 드라이버들은 대부분 지원되지 않는다. 퀄컴조차 GPU드라이버에 대해서 매우 불성실하게 대처하고 있다. MS의 대응도 매우 불만족스럽다.

여기까지가 Windows on ARM 벤치마크에 대한 부연설명이다. 이하 ARM for Mac에 대해서 내 생각을 적어보면…

    1. ARM for Mac이 잘 될지 망할지 난 모른다. 다만 잘 안된다고 하면 성능의 문제가 아니라 소프트웨어 생태계 문제일것이다. 위에서도 언급했듯이 Windows on ARM의 성능이 매우 뛰어난건 아니지만 일반적인 용도로는 쓸만하다. ARM for Mac도 일반적인 용도에서의 성능이 문제되지는 않을 것이다.
    2. MS와 애플은 상황이 많이 다르다. Windows의 소프트웨어 생태계와 Mac소프트웨어 생태계의 넓이는 비교할수 없다. 애플은 그 정도 범위를 수습할 수 있을지 모르지만 MS는 그 엄청난 범위를 수습하기 어려우며 그다지 할 생각도 없다.
      현재 MS의 주력사업은 클라우드를 비롯한 기업 타겟의 ‘서비스’ 사업이다. 심지어 Windows도 MS의 주력사업이 아니며 그 안에서 극히 일부를 차지하는 Windows on ARM은 더더욱 고위층의 관심사가 아니다. 반면 애플은 ARM for Mac에 매우 의욕적이다. 애플로서는 꽤 크고 중요한 주제이다. 따라서 망하지는 않을거라고 본다. MS는 그닥 잘해볼 생각이 없지만 애플은 잘 해보고 싶어하니까.
    3. ARM for Mac이 잘 될지 망할지 난 모른다.’라고 적었지만 위에서 언급한 이유로, ‘ARM for Mac이 적어도 실패는 하지 않을것이다’라고 본다.

하여간 퍼가는건 괜찮지만 결론을 왜곡시키진 않았으면 좋겠다.


Windows on ARM벤치마크 자료의 해석에 대해”에 대한 답글 5개

  1. 메모리 많이 먹는 건 RISC 종특인 것 같습니다. POWER가 동일 작업을 할 때 제온에 비해 메모리를 많이 먹긴 하더라고요

    좋아요

  2. 일단 해주신 테스트에서 같은 아키텍쳐 내에서의 사이클 편차가 좀 많이 심한건 테스트에 문제가 있는듯 합니다. 일단 덤으로 그외에 플랫폼간의 geekbench의 신뢰성이 문제라면 사실상의 업계표준인 SPECCPU를 보면 됩니다. 클럭당으로 대략 A76베이스의 네오버스 N1 코어가 스카이-커피레이크 세대와 비슷하고 아이스-타이거 레이크보단 좀 못한 수준의 결과가 나옵니다.

    좋아요

    1. 별로 논쟁할 생각은 없습니다. 제 결과가 맘에 안드시면 할 수 없고요. 제가 이 테스트를 진행할 당시에 긱벤치는 네이티브로도, x86에뮬레이션으로도 서피스프로x에서 작동하지 않았습니다.

      좋아요

댓글 남기기