2020.06.26

ARM으로의 이전 꾀하는 애플, MS의 실수에서 교훈 얻어야

Mark Hachman | PCWorld
x86, ARM에서 실행되는 앱을 지원해야 할 애플이 배워야 할 교훈이 한 가지 있다. 사용자에게 어떤 앱이 어떤 프로세스를 지원하는지 알려주는 동시에 최고의 경험을 안내하는 두 가지 과제를 해결해야 한다는 것이다.

아마 너무나 당연한 이야기로 들릴 것이다. 그러나 애플이 인텔 x86 기반 맥에서 자체 개발한 ARM 기반 맥으로의 이전을 시도하는 것을 보면서, 마이크로소프트와 퀄컴이 ARM 기반 윈도우 경험을 강화하기 위해 지원을 펼쳐야 한다고 생각한 과거의 일이 저절로 떠올랐다. 

시작은 커뮤니케이션이다. 에이수스가 퀄컴 프로세서를 장착한 노바고우(NovaGo) 노트북 컴퓨터를 출시했을 때, 퀄컴이 할 수 있는 것과 없는 것을 나눠 아키텍처의 장점과 단점을 설명했다. 2년이 지난 지금도 이 기사가 여전히 필요하다는 생각이 든다. 마이크로소프트가 실패한 이유를 되짚어보자. 이 실수에서 교훈을 터득하지 않는다면 애플도 낭패를 겪을 수 있다. 
 
ⓒ MARK HACHMAN / IDG
 

소비자가 아닌 개발자와 대화하라

이 컴퓨터를 사야 할 이유, 사지 말아야 할 이유를 알아보려고 개발자 문서나 자료를 뒤지는 일반 사용자는 없다. 그러나 마이크로소프트는 사용자가 이런 것까지 스스로 알아낼 것을 요구했다. 마이크로소프트 사이트의 딱딱한 지원 문서에는 x86 프로세서에 맞춰 코딩된 윈도우 명령어를 ARM 칩이 이해할 수 있는 코드로 에뮬레이션하는 방법이 요약되어 있었다. 여기에 더해 일반 사용자에게 ARM 아키텍처에 수반되는 것, ARM 아키텍처의 한계, 한계를 보완할 옵션을 제대로 알리는 노력을 기울이지 않았다.

마이크로소프트 서피스 프로 X에 줌(Zoom) 비디오 컨퍼런싱 앱을 다운로드 받고 싶다고 가정하자. 마이크로소프트 스토어에서 찾을 수 없어 줌 사이트를 방문해야 한다.

그런데 줌은 ARM 기반 윈도우 PC는 에뮬레이션 모드에서 64비트 앱을 실행할 수 없다는 점을 알려주지 않는다. 서피스 프로 X에 줌 64비트 버전을 다운로드하면, 사용자는 설치할 때가 되어서야 치명적인 오류 메시지와 함께 설치가 불가능하다는 것을 알게 된다. 이것은 소비자의 불만을 가져오는 장애물이고, ARM 기반 윈도 PC가 많이 판매되지 않은 가장 큰 이유였을 것이다.
 
ⓒ APPLE

애플도 이런 방향으로 나아가고 있는 것으로 보인다. 애플도 ARM 기반 윈도우처럼 코드를 사용, x86 프로세스용으로 써진 명령어를 ARM 칩이 이해할 수 있는 명령어로 번역한다. 맥에서 이 코드는 로제타(Rosetta)로 불린다. 애플이 파워PC를 x86 기반으로 바꿨을 때 사용한 것과 똑같은 동일한 번역 소프트웨어이다. 지금 사용되는 버전인 로제타 2(또는 그냥 로제타)는 x86용으로 쓰여진 코드를 가져와 맥의 새 ARM 칩에서 ‘적당히 작동’하도록 옮긴다.

그런데 이 ‘적당히 작동’하는 정도에는 적당히 기다리라는 의미도 숨어 있는 것 같다. 애플의 개발자 문서는 “번역 프로세스에 시간이 소요될 수 있기 때문에, 사용자는 번역된 앱이 때때로 조금 늦게 시작되거나 실행될 수 있다는 점을 인식할 필요가 있다”라고 설명한다.

맥이 올바른 코드를 사용하도록 조정하는 것도 사용자의 몫이다. 애플은 “바이너리에 arm64와 x86_64 명령어가 모두 포함되어 있다면, 사용자는 검색의 앱 ‘정보’ 창에서 로제타 번역 소프트웨어를 사용해 앱을 시작하도록 명령을 내릴 수 있다. 예를 들어, 사용자는 앱이 아직 arm64 아키텍처를 지원하지 않는 구식 플러그인을 실행할 수 있도록 로제타 번역 소프트웨어를 설정할 수 있다”라고 설명한다.
 
ⓒ APPLE

그러나 로제타는 x86-64 플랫폼을 가상화 한 가상 머신 앱과 커널 익스텐션을 번역하지 못한다. 또한, 인텔이 2011년, 2세대 인텔 코어 ‘샌디 브릿지’에 처음 구현한 AVX 명령어도 번역하지 못한다. 

정리하면, 애플은 (사용자가 아닌)개발자에게 “에뮬레이션 한 앱은 네이티브 코드보다 더 느리게 실행되며, 완전한 호환을 위해서 사용자는 에뮬레이션 모두에서 실행되도록 앱을 수동 설정해야 하고, 로제타 번역 소프트웨어는 약 9년 전 등장한 명령어는 처리하지 못한다”고 말하고 있다. ‘적당히 작동’한다고는 말할 수 없는 수준이지만, 일반 사용자는 아직 이 점을 잘 이해하지 못하고 있다.
 

호환되는 앱을 쉽게 찾을 수 있어야

사용자는 앱 스토어에서 제일 먼저 앱을 검색한다. 그런데 마이크로소프트 스토어는 여전히 문제점이 많다. 

윈도우 사용자는 모두 스토어의 많은 문제점을 잘 알고 있다. 변경 로그는 둘째 치고, 앱의 최신 업데이트 일자도 알려주지 않는다. 지금까지의 다운로드 횟수에 대한 정보도 없다.
 
ⓒ MARK HACHMAN / IDG

앱이 지원하는 프로세서 아키텍처에 대한 정보도 숨겨져 있다. 이미 ARM 기반 윈도우(WoA) 연결 PC를 보유하고 있다면, 마이크로소프트는 호환이 되지 않는 앱을 숨길 것이다. 그러나 구매 전에 WoA 연결 PC에 이용할 수 있는 앱을 알아보려면, 스스로 각 앱에 대한 정보를 찾아야 한다.

아마 몇 년 뒤에는 어떤 앱이 ARM이나 x86 중 어느 아키텍처에 맞춰 코딩되었는지가 문제되지는 않을 것이다. 애플이 맥을 대대적으로 ARM으로 전환할 것이기 때문이다. 그러나 지금 당장은 윈도우와 맥 플랫폼 고객 모두 두 프로세서 아키텍처 중 하나를 선택할 수 있어, 모든 것이 뒤섞여버린다.

물론 애플 스토어가 이런 정보를 제공하기 기대하기는 아직 이른 시점일 수 있다. 어도비와 마이크로소프트 같은 핵심 협력사는 애플의 ARM 전환 계획을 지원한다. 그렇지만 얼마나 많은 틈새 애플 게임 개발업체들이 ARM에 맞춰 다시 코딩을 할지, 다른 콘텐츠 크리에이션 앱 개발사들이 여기에 얼마나 빨리 합류할지는 알 수 없다.

하지만 어떤 앱이 어떤 프로세서에 맞춰 코딩 되었는지 여부는 아주 중요한 문제이다. 유니버설 애플 앱은 두 플랫폼 모두에서 실행될 것이다. 그러나 애플 ARM 프로세서가 어떻게 작동할지, 앱이 각 플랫폼에서 얼마나 잘 실행될지는 아직 알 수 없다. 애플과 PC 사용자는 모두 특정 프로세서에 맞춰 네이티브 코딩된 앱, 성능 최적화 여부, 에뮬레이션 여부, 성능 하락 문제가 있는지를 알아내야 한다. 너무나 중요한 문제이므로 맥이나 윈도우의 앱 스토어가 이런 정보를 제공하는 시작점 역할을 해야만 한다.
 

쇼케이스 앱을 제공해야 한다

앞서 성능과 호환성, 커뮤니케이션이 우려된다고 지적했다. 퀄컴과 마이크로소프트가 아직 제공하지 않는 것 중 하나는 ‘쇼케이스 PC’다. 하드웨어 관점은 물론이고 소프트웨어 관점에서의 이야기다. 정말 안타깝지만 여기에 대한 해결책은 블로트웨어다.

리뷰에서 불필요한 서드파티 앱이 많은 노트북 컴퓨터는 높은 점수를 받지 못한다. 예를 들어 에이서 PC에는 다른 앱을 추천하는 콜렉션 S라는 앱이 있는데, ARM 기반 윈도우나 맥에 필요한 것이 바로 이런 앱이다. ARM에 네이티브 코딩된 앱들을 소개하는 앱이 필요하다.
 
ⓒ MICROSOFT

마이크로소프트는 ARM 기반 윈도우에 최적화된 소프트웨어들을 쉽게 다운로드할 수 있는 새로운 패키지 관리자를 도입할 수 있을 것이다.

마이크로소프트나 퀄컴은 윈도우에서 놓친 부분이 이것이다. 사용자가 직접 이런 소프트웨어를 소개하는 사이트를 만든 사례는 있지만, ARM에 최적화된 앱 목록과 링크를 제공하는 공식 마이크로소프트 웹사이트는 없다. AMR 기반 PC에는 ARM에 최적화된 앱이 탑재되어 있어야 한다. 최소한 최적화된 경험을 누릴 수 있는 ‘관문’이 제공되어야 한다. ARM 기반 윈도우에 최적화된 앱을 다운로드 받을 수 있는 기능이 마이크로소프트의 새 WinGet 패키지 관리자 유틸리티의 기능 중 하나가 될 수 있다.

사실 애플이 이런 점을 잘 파악하고 있는지 의심스럽다. 애플 앱 스토어의 ‘애플에서 가장 많이 실행되는 앱’ 항목은 자주 사용하는 앱 모음을 제시하면서 성능이 최적화되어 있다는 점을 보장해야 한다. 또 정기적으로 앱을 추가하고 업데이트해서, 회사가 고객을 배려하고 있음을 알리고 보장할 수 있어야 한다.

현재로서는 사용자는 x86 대신, ARM 같이 친숙하지 않은 아키텍처를 수용해야 하는 이유를 모른다. 만일 알더라도 오직 하드웨어 관점의 설명만 제공되기 일쑤다. 컴퓨터에 설치해서 사용하는 소프트웨어를 바꿔야 하는 이유와 방법은 통상 제외된다. 그렇게 모두 혼란을 겪는다. 애플이 마이크로소프트의 실수에서 교훈을 얻어 CPU 전환 계획을 더욱 잘 해내기를 기대하자. editor@itworld.co.kr


arm / x86
2020.06.26

ARM으로의 이전 꾀하는 애플, MS의 실수에서 교훈 얻어야

Mark Hachman | PCWorld
x86, ARM에서 실행되는 앱을 지원해야 할 애플이 배워야 할 교훈이 한 가지 있다. 사용자에게 어떤 앱이 어떤 프로세스를 지원하는지 알려주는 동시에 최고의 경험을 안내하는 두 가지 과제를 해결해야 한다는 것이다.

아마 너무나 당연한 이야기로 들릴 것이다. 그러나 애플이 인텔 x86 기반 맥에서 자체 개발한 ARM 기반 맥으로의 이전을 시도하는 것을 보면서, 마이크로소프트와 퀄컴이 ARM 기반 윈도우 경험을 강화하기 위해 지원을 펼쳐야 한다고 생각한 과거의 일이 저절로 떠올랐다. 

시작은 커뮤니케이션이다. 에이수스가 퀄컴 프로세서를 장착한 노바고우(NovaGo) 노트북 컴퓨터를 출시했을 때, 퀄컴이 할 수 있는 것과 없는 것을 나눠 아키텍처의 장점과 단점을 설명했다. 2년이 지난 지금도 이 기사가 여전히 필요하다는 생각이 든다. 마이크로소프트가 실패한 이유를 되짚어보자. 이 실수에서 교훈을 터득하지 않는다면 애플도 낭패를 겪을 수 있다. 
 
ⓒ MARK HACHMAN / IDG
 

소비자가 아닌 개발자와 대화하라

이 컴퓨터를 사야 할 이유, 사지 말아야 할 이유를 알아보려고 개발자 문서나 자료를 뒤지는 일반 사용자는 없다. 그러나 마이크로소프트는 사용자가 이런 것까지 스스로 알아낼 것을 요구했다. 마이크로소프트 사이트의 딱딱한 지원 문서에는 x86 프로세서에 맞춰 코딩된 윈도우 명령어를 ARM 칩이 이해할 수 있는 코드로 에뮬레이션하는 방법이 요약되어 있었다. 여기에 더해 일반 사용자에게 ARM 아키텍처에 수반되는 것, ARM 아키텍처의 한계, 한계를 보완할 옵션을 제대로 알리는 노력을 기울이지 않았다.

마이크로소프트 서피스 프로 X에 줌(Zoom) 비디오 컨퍼런싱 앱을 다운로드 받고 싶다고 가정하자. 마이크로소프트 스토어에서 찾을 수 없어 줌 사이트를 방문해야 한다.

그런데 줌은 ARM 기반 윈도우 PC는 에뮬레이션 모드에서 64비트 앱을 실행할 수 없다는 점을 알려주지 않는다. 서피스 프로 X에 줌 64비트 버전을 다운로드하면, 사용자는 설치할 때가 되어서야 치명적인 오류 메시지와 함께 설치가 불가능하다는 것을 알게 된다. 이것은 소비자의 불만을 가져오는 장애물이고, ARM 기반 윈도 PC가 많이 판매되지 않은 가장 큰 이유였을 것이다.
 
ⓒ APPLE

애플도 이런 방향으로 나아가고 있는 것으로 보인다. 애플도 ARM 기반 윈도우처럼 코드를 사용, x86 프로세스용으로 써진 명령어를 ARM 칩이 이해할 수 있는 명령어로 번역한다. 맥에서 이 코드는 로제타(Rosetta)로 불린다. 애플이 파워PC를 x86 기반으로 바꿨을 때 사용한 것과 똑같은 동일한 번역 소프트웨어이다. 지금 사용되는 버전인 로제타 2(또는 그냥 로제타)는 x86용으로 쓰여진 코드를 가져와 맥의 새 ARM 칩에서 ‘적당히 작동’하도록 옮긴다.

그런데 이 ‘적당히 작동’하는 정도에는 적당히 기다리라는 의미도 숨어 있는 것 같다. 애플의 개발자 문서는 “번역 프로세스에 시간이 소요될 수 있기 때문에, 사용자는 번역된 앱이 때때로 조금 늦게 시작되거나 실행될 수 있다는 점을 인식할 필요가 있다”라고 설명한다.

맥이 올바른 코드를 사용하도록 조정하는 것도 사용자의 몫이다. 애플은 “바이너리에 arm64와 x86_64 명령어가 모두 포함되어 있다면, 사용자는 검색의 앱 ‘정보’ 창에서 로제타 번역 소프트웨어를 사용해 앱을 시작하도록 명령을 내릴 수 있다. 예를 들어, 사용자는 앱이 아직 arm64 아키텍처를 지원하지 않는 구식 플러그인을 실행할 수 있도록 로제타 번역 소프트웨어를 설정할 수 있다”라고 설명한다.
 
ⓒ APPLE

그러나 로제타는 x86-64 플랫폼을 가상화 한 가상 머신 앱과 커널 익스텐션을 번역하지 못한다. 또한, 인텔이 2011년, 2세대 인텔 코어 ‘샌디 브릿지’에 처음 구현한 AVX 명령어도 번역하지 못한다. 

정리하면, 애플은 (사용자가 아닌)개발자에게 “에뮬레이션 한 앱은 네이티브 코드보다 더 느리게 실행되며, 완전한 호환을 위해서 사용자는 에뮬레이션 모두에서 실행되도록 앱을 수동 설정해야 하고, 로제타 번역 소프트웨어는 약 9년 전 등장한 명령어는 처리하지 못한다”고 말하고 있다. ‘적당히 작동’한다고는 말할 수 없는 수준이지만, 일반 사용자는 아직 이 점을 잘 이해하지 못하고 있다.
 

호환되는 앱을 쉽게 찾을 수 있어야

사용자는 앱 스토어에서 제일 먼저 앱을 검색한다. 그런데 마이크로소프트 스토어는 여전히 문제점이 많다. 

윈도우 사용자는 모두 스토어의 많은 문제점을 잘 알고 있다. 변경 로그는 둘째 치고, 앱의 최신 업데이트 일자도 알려주지 않는다. 지금까지의 다운로드 횟수에 대한 정보도 없다.
 
ⓒ MARK HACHMAN / IDG

앱이 지원하는 프로세서 아키텍처에 대한 정보도 숨겨져 있다. 이미 ARM 기반 윈도우(WoA) 연결 PC를 보유하고 있다면, 마이크로소프트는 호환이 되지 않는 앱을 숨길 것이다. 그러나 구매 전에 WoA 연결 PC에 이용할 수 있는 앱을 알아보려면, 스스로 각 앱에 대한 정보를 찾아야 한다.

아마 몇 년 뒤에는 어떤 앱이 ARM이나 x86 중 어느 아키텍처에 맞춰 코딩되었는지가 문제되지는 않을 것이다. 애플이 맥을 대대적으로 ARM으로 전환할 것이기 때문이다. 그러나 지금 당장은 윈도우와 맥 플랫폼 고객 모두 두 프로세서 아키텍처 중 하나를 선택할 수 있어, 모든 것이 뒤섞여버린다.

물론 애플 스토어가 이런 정보를 제공하기 기대하기는 아직 이른 시점일 수 있다. 어도비와 마이크로소프트 같은 핵심 협력사는 애플의 ARM 전환 계획을 지원한다. 그렇지만 얼마나 많은 틈새 애플 게임 개발업체들이 ARM에 맞춰 다시 코딩을 할지, 다른 콘텐츠 크리에이션 앱 개발사들이 여기에 얼마나 빨리 합류할지는 알 수 없다.

하지만 어떤 앱이 어떤 프로세서에 맞춰 코딩 되었는지 여부는 아주 중요한 문제이다. 유니버설 애플 앱은 두 플랫폼 모두에서 실행될 것이다. 그러나 애플 ARM 프로세서가 어떻게 작동할지, 앱이 각 플랫폼에서 얼마나 잘 실행될지는 아직 알 수 없다. 애플과 PC 사용자는 모두 특정 프로세서에 맞춰 네이티브 코딩된 앱, 성능 최적화 여부, 에뮬레이션 여부, 성능 하락 문제가 있는지를 알아내야 한다. 너무나 중요한 문제이므로 맥이나 윈도우의 앱 스토어가 이런 정보를 제공하는 시작점 역할을 해야만 한다.
 

쇼케이스 앱을 제공해야 한다

앞서 성능과 호환성, 커뮤니케이션이 우려된다고 지적했다. 퀄컴과 마이크로소프트가 아직 제공하지 않는 것 중 하나는 ‘쇼케이스 PC’다. 하드웨어 관점은 물론이고 소프트웨어 관점에서의 이야기다. 정말 안타깝지만 여기에 대한 해결책은 블로트웨어다.

리뷰에서 불필요한 서드파티 앱이 많은 노트북 컴퓨터는 높은 점수를 받지 못한다. 예를 들어 에이서 PC에는 다른 앱을 추천하는 콜렉션 S라는 앱이 있는데, ARM 기반 윈도우나 맥에 필요한 것이 바로 이런 앱이다. ARM에 네이티브 코딩된 앱들을 소개하는 앱이 필요하다.
 
ⓒ MICROSOFT

마이크로소프트는 ARM 기반 윈도우에 최적화된 소프트웨어들을 쉽게 다운로드할 수 있는 새로운 패키지 관리자를 도입할 수 있을 것이다.

마이크로소프트나 퀄컴은 윈도우에서 놓친 부분이 이것이다. 사용자가 직접 이런 소프트웨어를 소개하는 사이트를 만든 사례는 있지만, ARM에 최적화된 앱 목록과 링크를 제공하는 공식 마이크로소프트 웹사이트는 없다. AMR 기반 PC에는 ARM에 최적화된 앱이 탑재되어 있어야 한다. 최소한 최적화된 경험을 누릴 수 있는 ‘관문’이 제공되어야 한다. ARM 기반 윈도우에 최적화된 앱을 다운로드 받을 수 있는 기능이 마이크로소프트의 새 WinGet 패키지 관리자 유틸리티의 기능 중 하나가 될 수 있다.

사실 애플이 이런 점을 잘 파악하고 있는지 의심스럽다. 애플 앱 스토어의 ‘애플에서 가장 많이 실행되는 앱’ 항목은 자주 사용하는 앱 모음을 제시하면서 성능이 최적화되어 있다는 점을 보장해야 한다. 또 정기적으로 앱을 추가하고 업데이트해서, 회사가 고객을 배려하고 있음을 알리고 보장할 수 있어야 한다.

현재로서는 사용자는 x86 대신, ARM 같이 친숙하지 않은 아키텍처를 수용해야 하는 이유를 모른다. 만일 알더라도 오직 하드웨어 관점의 설명만 제공되기 일쑤다. 컴퓨터에 설치해서 사용하는 소프트웨어를 바꿔야 하는 이유와 방법은 통상 제외된다. 그렇게 모두 혼란을 겪는다. 애플이 마이크로소프트의 실수에서 교훈을 얻어 CPU 전환 계획을 더욱 잘 해내기를 기대하자. editor@itworld.co.kr


arm / x86
X