2020년 말의 Apple 의 빛나는 발표
2020 년 Apple 이 가장 빛나게 보였던 것은 새로운 iPhone이나, 새로운 iPad가 나와서가 아니라 스마트폰이나 게임기나 임베디드 등의 제한적인 공간에서나 쓴다고 치부 당하던 ARM processor 를 이제 사용자의 desktop 수준으로 끌어 올려 Intel만능설에 올인하던 사람들의 관념을 바꿔 버릴수 있을 만큼 충격을 선사하는 Apple M1 processor 의 등장이라 하겠습니다.
직업적으로나 개인적으로나 ARM 아키텍쳐(architecture)가 일반 랩탑(laptop) 이나 데스크탑(desktop) 수준으로 많은 에너지를 소모하도록 만들어 진다면 RISC 의 또다른 이름이 바로 ARM 이라는 장점을 다시 Intel 로 부터 전성기를 찾을 것 이라는 점은 오래전 부터 혼자 주장해 왔고, 그런이유로 ARM 64bit processor 로 제품을 지속적으로 설계하고 Linux kernel 을 기반으로 desktop 으로서 활용이 더 많은 메모리와 더 빠른 저장장치를 사용할때 일반 사용자에게 모자랄 것이 그리 많지 않다고 보는 시각에서도 Apple M1 과 MacOS Big Sur 의 안정적인 상태에 접어든 2021년 3,4 월 모습은 무척이나 인상적이지 않을수가 없다는 점 입니다.
초창기 나온 Apple M1 보급기로 가장 저렴히 선택 할 수 있는 것은 아마 MacBook Air 일 것이고 메모리 8GB 에 저장장치 256GB 는 사실 아이폰 최신기종 동급용량에 대비보다 저렴하다는 아이러니한 모습을 보이지만 그 활용도는 당연히 아이폰과 같을수가 없는 위치에 서 있는데도 놀라운 확장성은 기존의 Apple 의 독단적인 이전 플랫폼(platform)과의 단절이 아닌 확장을 택했습니다.
x86.64 와 ARM64 의 완벽한 공존
특히 같은 MacOS 용 실행 이미지 일 경우 Rosetta 2 (로제타 2) 라는 x86.64 에뮬레이더(emulator) 를 통해 MacOS 용 이미지를 구동하는데 이런 구동 방법이 ARM64 용으로 만들어진 MacOS 앱들과 차이가 없이 동작 한다는 것이 매우 큰 장점이라는 점 입니다.
보통 에뮬레이션(emulation) 이라는 작업을 할 경우 x86.64 를 ARM64 에서 가상으로 구동해야 하는 지라 뭔가 더 느리게 동작 하거나 뭔가 하나 빠진게 있을거 같은 느낌이 들지 모르겠지만, 실제 상업용 영상처리 앱들이나, 기존에 쓰던 대부분 앱들을 구동하는데 문제가 없는 것은 물론, 실질적으로 성능이 더 향상 되는 부분들 ( 특히 convolution 처리와 같이 다중 반복 처리 기능이 많이 쓰이는 영상처리 부분 ) 에서 엄청난 성능을 자랑 하는 것이 현실 입니다. 이전 세대 MacBook Pro 에 들어가 있던 Intel i5 에서의 성능보다 방열을 그냥 알루미늄 몸통 하나로만 하는 현존 MacBook Air 의 M1 이 차이를 실감할 정도로 빠른 부분은 Apple 이 새로운 세대로 발돋움 하고 있을때 Intel 은 장악한 시장에 거만해지고 게을러 져 그저 CPU socket 과 칩셋 장사로 버는 돈에 게을러 졌었다고 봐야 할 듯 합니다.
그렇지만 부족한건 부족한것
물론 일반 소바자들이 획일적인 취향만이 존재 하는 것은 아닌지라 x86.64 엔 이제 AMD 가 있고, 비디오 관련으론 nVidia 가 있고 하기에 Windows 에만 구동되는 프로그램들 이나 Windows 에만 지원되는 장치등을 쓰려면 Apple 은 선택사항이 여전히 아닙니다. 심지어 Windows 에서 만들어진 게임들 ( Visual Studio 로만 만들었다면 특히나 ) 은 사실 Apple 에서는 돌릴 방법이 없다고 봐야 합니다. Apple 의 M1 processor 가 GPU 와 CPU 가 하나의 메모리를 공유하면서 최고의 효율을 보인다 한들 8GB 메모리로는 한계가 있으며, 이를 극복하고자 하면 16GB 의 메모리가 필요한데, 이 둘의 차이는 거의 30만원이라는 이해할수 없는 가격차를 보이기 때문에 좋은 선택은 아닐것 입니다.
그럼에도 엄청난 효율
Apple 하면 램스쿠루지, 램고자 등등 온갖 비난을 받기는 합니다만, 이걸 M1 에서는 신형 Darwin kernel 을 통해 실시간 z-memory ( deflate 압축을 해서 저장하는 메모리, windows NT kernel 에서도 사용됨 ) 를 활용한 8GB 를 넘어서는 활용과 SoC 설계를 통한 CPU 와 메모리간 병목을 최소한으로 줄인 설계등은 확장성을 포기하고 성능을 극한으로 끌어 올리는 선택을 하게 됩니다.
Apple 의 경우 2017년 이후로 부터 점점 사용자가 내부의 메모리나 저장장치 등을 교체할 수 있도록 배려하는 정책을 독단적으로 버리고 효율에 모든걸 걸어 저전력과 성능을 모두 잡겠다는 모습들을 보여 왔습니다. 물론 이런 점들이 자유롭게 업그레이드를 하길 윈하는 사용자층엔 이해할수 없는 모습이겠지만 무려 3년이 넘도록 Apple 은 이런 모습을 바꾸지도 않았거니와 앞으로도 보이지 않을것으로 보입니다. 아마 자신들이 만든 제품이 완벽 하다는 그런 부심 같은게 있을지 모르겠습니다만, 2017 년 즈음 나온 저주받은 키보드들을 결국 접고 다시 이전 키보드 형태로 돌아 온 점은 그들도 완벽하지 않은걸 만들고 있다는 반증이기도 합니다.
독단은 어쩌면 그들의 무기
Apple 의 이런 독단적인 모습들은 당연히 반감을 살수 밖에 없을지 모릅니다만, 이런 독단적으로 보이는 모습에 대한 반감을 조금 포기하고 들어가면 이들이 만들어 놓은 것이 최대의 효율을 위한 것임은 누구나 인정할 수 밖에 없는 것이 이번 Apple M1 을 쓴 모든 기기들이 증명을 하듯이 보여주고 있다는 것이겠습니다. 2021년 4월 Apple 은 이 M1 processor 를 MacBook Air 와 Pro, 그리고 Mac Mini 를 넘어서 새로운 모델들로 꾸미게 되는데 기존 Bionic A 기종들은 이제 iPhone 에서만 사용할 것으로 양분 되어 가는 듯 합니다. 물론 Intel CPU 를 쓴 효율이라곤 이젠 찾아 볼수 없는 제품들은 2022 년 부터는 시장에서 보이지 않을 것으로 예상 됩니다.
그래서 새로나온 iMac 과 같이 기존 발열 때문에 뒷면이 기형적으로 두꺼워 지던 모습들은 온데간데 없어지고, 심지어 발열을 고성능 rpm 으로 회전하면서 외부 공기를 내부로 순환해서 뱉어 가며 발열을 처리 해야 하는 구조 자체가 전부 필요 없져서 가능한 디자인이 나오는게 가능하게 된 것 또한 이 M1 processor 를 사용함으로서 Apple 이 보여 줄 수 있는 그들이 말하는 혁신의 모습이 아닌가 합니다.
Apple 은 이번 M1 을 통해서 그간 Intel 을 쓰면서 만들수 없었던 모습들을 자신들 취향대로 마음껏 만들어 낼 것으로 보입니다. 더 얇고, 공랭장치가 없어서 먼지 유입도 필요 없는 기기, 그리고 더 적은 외부 단자 (이게 과연 좋은지는 모르겠지만 USB-C 로 인식하는 포트에 Thunderbolt 와 USB4.x ) 를 통해, 나머지를 모두 지원하도록 외부 Hub 를 통해 충전과 확장 등등을 하도록 하고, 결국 자신들 제품은 알루미늄 합금이 허락하는 가장 가볍고 얆은 모습으로 가겠다는 모습 하나는 확실히 보여 주지 않을까 합니다.
Apple M1 을 통한 ARM64 의 미래
그간 ARM 은 데스크탑 ( 랩탑이라 불리는 노트북 포함 ) 시장을 위한 것이 아니라 스마트폰과 같은 초저전력과 작고 좁은 공간에서 사용되어야 하는 장치들을 위한 핵심기술로 발전 해 왔습니다. Intel 이 서버나 일반 데스크탑 시장에만 안주하고 있을때 ARM 의 기술들은 극악의 조건에서 발전을 거듭해 와서 이젠 그 극악의 조건을 벗어나 좀 더 자유로운 데스크탑 시장을 노리고 있다는 것 입니다.
ARM 을 오래 한 엔지니어 로서도 ARM 이 일반 데스크탑에서 사용되는 기술들 ( 예를 들어 교체 가능한 메모리나, 확장 가능한 PCI express 같은 ) 을 쓰지 못하도록 나오는 것이 아니라 필요성이 없거나, Open source 에 의존하는 기반 환경들이 새로운 장치에 대한 드라이버와 지원을 약속하지 못해서 쓰지이 않았을 뿐, Apple 과 같이 자체 설계가 가능한 큰 회사가 이를 구현해 낼때 얼마나 공격적인 모습을 보여 줄 수 있는지를 아주 작은 단편으로 경험하게 해 주고 있지 않을까 합니다.
만약 Intel 과 ARM64 기반이 동등한 발열 처리와 동등한 지원 ( 예를 들어 각종 제조사가 참여한 드라이버를 가진 상태 와 같은 ) 을 두고 동일선상에서 100미터 뛰기를 한다고 가정해 보았을떄, 과연 Intel 이 ARM64 기반을 넘어 설 수 있을까? 란 생각을 해 보면 절대 아닐 것 입니다.
남은것은 역시 Software
만약 Apple 이 다양한 사용층에 대한 확장을 고려할때 모자란 것이 있다면 그건 아마 정신나간 제품가격과 좀 더 범용적인 Software 의 부족일지도 모릅니다. 물론 Apple M1 에서 구동되는 MacOS Big Sur 는 대부분의 iPhone 이나 iPad 앱을 문제없이 구동하는 엄청난 확장성을 가지고 있긴 합니다만, 이런 앱들 보단 역시 게임들이 부족하다는 점 일지 모르겠습니다.
또한 이런 게임들은 대부분 Windows에서만 돌도록 만들어 졌고, 이런점들이 MS 의 Visual Studio 등으로 만들어진 '그들만의 리그'용 제품들은 POSIX 를 기반으로 하고 있는 MacOS 나 Linux 에서는 구경하기 힘든 것들이 나오는 원흉이기도 합니다만, 그만큼 Software 를 만드는 업체 입장에서는 Windows 를 떠나지 않아도 자신들의 제품을 판매 하는데 있어서 수익을 걱정하지 않아도 될 만큼 작은 일부가 Mac 이나 Linux 시장이란 의미가 되기도 할 것입니다.
물론 개발자 입장에서는 개발자들 역량 또한 Visual Studio 를 벗어나서는 개발 자체를 못하는 역량 문제도 클 것이라 보고 있긴 합니다만, 정작 정말 유명한 프로그램들은 MacOS 가 주력인 경우가 있고, 영상이나 음향 쪽은 거의 Mac 이 아니면 쓰지도 않는 시장을 가진 영역도 존재 한다는 점, 영상처리를 일부 하는 개발자 입장에서 봐도 동일한 알고리즘으로 만든 걸 Window 나 Intel CPU 를 통해 구동하는 것 보다 M1 으로 구동했을때 발생하는 효율에 대한 괴리감 ... 이런걸 고려 해 봤을때 점점 더 M1 Processor 가 가져올 미래는 밝을것이라 보입니다.
덤으로
해외 Software 회사들은 국내와 달리 꽤 높은 수준의 사용자들이 대부분 MacOS 를 쓰길 원하고 있고, 그런 이유로 인해 MacOS 에 대한 지원을 하기위해 많은 투자는 물론 Software 설계시 이를 지원하기 위한 다양한 노력을 기울이는 편 입니다. 그러나 대한민국의 Software 시장은 Windows 에 한해서만 개발이 되는 위주이고 ( 그 원인은 역시 VisualStudio 없으면 개발을 못하는 현실도 거들겠습니다만 ) 이를 고려해야 하는 회사차원 결정 능력이나, 이에 따르는 개발자들의 지원능력 부족도 국내 시장에서의 걸림돌 이 되는 이유기도 하지 않을까 합니다.
특히 인터넷 뱅킹을 해야 하는 입장에서만 봐도, ActiveX (ocx) 로 만들지 말라니 Windows 에서 관리자 권한으로 동작하는 서비스를 강제해서 설치를 하는 미친짓을 보안이랍시고 제공하고 있는 보안업체들 수준을 보면 답은 이미 존재하는지도 모르겠습니다. OS에서 만들어 놓은 보안 성능보다 자신들이 만드는 거짓 보안이 띄어나다고 영업을 하고, 또 그걸 쓰는 대한민국 업체들 또한 그들 수준보다 높지 않기 때문q벌어지고 있는 일 이기도 하겠습니다만, 정작 근처 개발사들 현장을 보더라도 대한민국 Software 에서의 MacOS 지원 미래는 밝지 못한 점은 매우 아쉬운 부분 입니다.