[소개] 애플의 배터리 관리기술, 왜 문제가 생길까?

2012. 8. 26. 11:09    작성자: ONE™

Back to the Mac 블로그를 통해 OS X 마운틴 라이언의 배터리 관리에 문제가 있고, 또 이틀 전부터 배포가 되기 시작한 OS X 10.8.1로 배터리 지속 시간이 상당히 상승했다는 소식을 전해드린 적이 있습니다. 

(시간 순서순)
➥ OS X 마운틴 라이언 설치 후 맥북의 배터리 성능이 크게 감소된 실험 결과 나와
➥ 애플, 마운틴 라이언 설치 후 배터리 성능이 감소하는 문제에 대한 조사 착수해
➥ OS X 마운틴 라이언 10.8.1 업데이트 설치 후 배터리 성능이 괄목할 만큼 좋아져

새 업데이트 설치 후 10.8.0 초기버전에 비해 배터리 사용 시간이 상당히 향상되었지만, 여전히 OS X 라이언에 비해 배터리 사용 시간이 15~20% 가까이 떨어진다는 밴치마크가 계속해서 올라오고 있습니다. 

(위 이미지)Ars Technica에 새로 올라온 OS X 버전별 레티나 맥북프로 배터리 사용 시간 벤치마크 결과

OS X 10.8.1 업데이트로 상승한 배터리 사용시간은 배터리 사용을 촉진하는 버그를 수정해서 얻은 결과라 할 수 있지만 여전히 라이언과 벌어지는 격차는 단순히 버그로 치부하기에 힘든 부분이 있습니다. 왜냐면 마운틴 라이언이 기존 OS에 비해 시스템에 가하는 부하 수준이 훨씬 높아졌기 때문입니다. 더 높은 부하는 결국 더 높은 전력 사용을 의미합니다. 

이전에 비해 더욱 높은 그래픽 성능을 요구하고 있고, 또 iCloud와 긴밀한 연동을 위해 ubd 프로세스와 무선 네트워크 접속이 이전에 비해 더욱 빈번하게 발생하고 있습니다. 즉, 배터리 사용을 촉진하는 버그가 실제로 있긴 하지만, OS X 마운틴 라이언 자체도 이전 버전의 OS X에 비해 전력 요구 사양이 높아졌고, 이런 두 문제가 만나 이번 이슈가 심화되었던 것이 아닌가 생각합니다.

결국 애플로서는 버그를 수정하는 것보다 훨씬 어려운 문제가 남아 있습니다. '운영체제 전반에 걸친 전력 관리 최적화'라는 고되고 힘든 작업 말입니다.

이번 마운틴 라이언의 배터리 이슈와 관련해 개인적으로 평소 자주 방문하는 '공상제작소' 블로그에 니자드님의 사설이 올라와 Back to the Mac 에도 소개해 봅니다.

➥ 애플의 배터리 관리기술, 왜 문제가 생길까? by 니자드

    
  1. Blog Icon
    얼룩말

    저는 니자드(안병도)님의 사설에서 가볍게 다루어진 부분이 보다 많을 것을 말해주는 듯 하기에 임형찬 씨의 댓글 원문을 다 보여주고 싶습니다.

    "그 이유는 클라우드 싱크 기능에 있습니다. 기존의 모바일의 경우에는 단일 기기만 인터넷이라는 단일 목적으로 통신을 하고 그것은 웹 브라우저의 실행 여부에 따라 신호를 보내게 되어있습니다.
    그러나 지금 애플의 제품군들은 아이패드나 아이폰, 맥북 등 기본적으로 무선 네트워크를 응용하도록 되어있는데, 유저가 웹브라우저를 사용하지 않아도 주기적으로 신호를 보내거나 받아서 동기화 여부를 체크하도록 되어있습니다. 예전에는 존재하지 않았던 프로세스가 상시적으로 켜져있습니다. 윈도우즈를 사용하는 아이폰 유저들의 경우에도 새롭게 운영체제가 업데이트 되면서 아이클라우드를 시작프로그램으로 설정해두었습니다. 그 아이클라우드 어플리케이션은 지속적으로 클라우드 동기화를 위해 신호를 수신하고, 데이터를 주고 받습니다. 단지 클라우드 싱크 기능이 하나 뿐 만 아니라 iWork나 iMovie 과 같은 애플 제품군 외에도 에버노트와 같은 앱을 사용한다면 더욱 잦은 시그널을 주고 받으니 모바일 디바이스의 배터리 소모량은 매우 커지는 것입니다. 운영체제를 업데이트 할 때마다 이런 동기화 기능을 가진 어플리케이션을 통제해야 하는데, 그 과정에서 충돌이 되는 앱의 경우에는 이런 시그널에 대한 주기를 찾지 못 하니 계속 시그널을 보내게 되고…배터리는 엄청나게 소모하게 되는 것이지요. 아마 Windows 8 도 이와 같은 문제로 계속 테스트 중일 겁니다. 클라우드 기반의 모바일 체제에서는 일종의 통과의례가 된 셈이지요.

    매번 운영체제 내놓고 다시 운영체제 업데이트를 통해 배터리 문제를 해결하는 이유도 바로 이런 문제입니다. 운영체제에서 다룰 수 있는 어플리케이션들의 소스 코드 프레임이 뒤바뀌면서 충돌은 계속 일어나지요. 애플의 입장에서는 자사의 응용 프로그램 중심으로 운영체제 업데이트를 합니다. 그러나 실제 유저들은 애플 제품 뿐만이 아니라 다른 응용 프로그램을 쓰는데, 그 응용프로그램이 프레임 워크는 다른 논리 구조를 가진다는 것이지요. 그래서 현상을 확인해야만 다시 고치는 과정이 생깁니다. 윈도우즈의 서비스팩 업데이트도 이런 과정을 통해 최적화된 형태라고 볼 수 있습니다. 최근들어 애플이 자주 운영체제를 업데이트 하는데….스노우 레오파드가 나온지 얼마 안 되었는데…마운틴 라이언을 발표하는 것은…굉장히 실험적인 시기라서 그렇습니다.

    가끔식 운영체제의 혁신성을 위해서 소스코드의 기저부터 싹 갈아엎어야 할 필요가 있습니다. 그때 여타 응용프로그램의 소스코드와의 호환 문제를 어떻게 할 것이냐가 문제인데, 후자에 방점을 두고 운영체제의 업데이트를 하는건 거의 패치 수준에 불과해집니다. 설계의 구조 자체는 변화시킬 수 없는 경우가 많습니다. 결국 종전의 응용프로그램의 소스코드는 무시한 채, 중심이 되는 몇 가지 응용프로그램만 고려한 운영체제의 설계를 하게 되는데..그 과정에서 기존의 소프트웨어와 기능과의 충돌은 필연적인 과정입니다. 일부 모바일 회사들은 아예 운영체제 업데이트 조차 안 해주는 사례가 있습니다. 그게 귀찮고, 비용이 많이 드니까요. 기존의 소프트웨어까지 업데이트를 요구하기 때문입니다. 그러한 회사들은 배터리 문제 자체가 논의 대상이 아닙니다. 특히나 대부분의 랩탑 회사들은 배터리가 탈부착식인데…저런 식의 새로운 운영체제가 등장 하면 ‘배터리를 바꾸세요’라고 권장하지요. 새로운 운영체제와 그 사후 관리에 있어서 소프트웨어 출 보정을 해주는 과정까지 해주는건 오히려 기본에 충실한 경우입니다. 애초부터 마운틴 라이언 OS는 새로 나오는 레티나 맥 북 프로에 최적화되어있다라고 규정해버리면 논란은 없겠지요. 소비자는 열받겠지만요. 기존의 맥북을 쓰시는 분들은 마운틴 라이언을 못 써요라고 하면 가장 문제는 손쉽게 해결됩니다. 그래도 억지로 끌고 가면서 뒤쳐지는 하드웨어 스펙에 맞춰서라도 새로운 운영체제를 최적화 시켜주는 것이지요. 소프트웨어도 마찬가지구요. 그 과정에서 소프트웨어 충돌과 그로 인한 현상인 배터리 문제는 필연에 가깝습니다. 소비자에게 이러한 현상을 들키지 않고 처리하는데 드는 비용과 발표 후 보정해주는 비용을 본다면 후자가 더 효율적이고 기술적으로도 안정적이라는 점입니다. 갖가지 케이스를 수집할 수 있으니까요."

    http://hook.hani.co.kr/archives/44647/trackback

  2. 얼룩말님이 소개해 주신 임형찬님의 글도 이번 마운틴 라이언의 iCloud 기능을 기술적인 측면에서 아주 잘 설명해주는 글이라고 생각합니다. 일전에 얼룩말님이 추천해 주신 적도 있어 니자드님의 글과 같이 소개할까 했지만 이번 마운틴 라이언의 배터리 이슈와 직접적인 연관이 없을 수도 있다는 생각이 들어 소개를 보류하고 있었습니다.

    임형찬님은 이번 마운틴 라이언의 배터리 소모 문제의 주 원인으로 'iCloud' 연동 기능을 꼽고 있습니다. 하지만 iCloud는 마운틴 라이언에서 처음 도입된 것이 아니라 (임형찬님이 언급하지 않으신) OS X 라이언에 이미 도입되어 사실상의 1년이라는 테스트 기간을 거쳤습니다. 즉, iCloud가 OS X의 배터리 소모를 촉진시키는 하나의 요인이 될 수는 있지만 (iCloud 연동 기능을 담당하는) Ubiquity 프레임워크가 두 운영체제간에 큰 차이가 없는데도 불구하고 마운틴 라이언에서만 문제가 생기고 있다는 것은 이번 문제의 주범이 iCloud가 아닐 수도 있다는 것을 의미합니다. 실제로 이번 마운틴 라이언 배터리 성능에 문제를 제기한 사용자들 중에서는 아예 iCloud를 비활성화한 후 테스트해 본 경우도 많이 볼 수 있었습니다.

    저는 이번 마운틴 라이언의 배터리 이슈에 크게 두가지 원인이 있다고 생각하고 있습니다. 첫째로, 필요 이상으로 전력 사용을 촉진하는 '버그'가 마운틴 라이언 10.8.0 초기 버전에 있었다는 것이고, 또 마운틴 라이언의 시스템 요구 사양이 높아졌다 하더라도 기술적인 최적화를 통해 운영체제의 전력 사용 수준을 좀 더 끌어내리는 노력을 애플이 소홀히 했다는 점입니다. (여기서 기술적인 최적화라는 것은 iCloud 뿐만 아니라 그래픽이나 쓰레드 처리, 드라이버 최적화 등도 포함됩니다.

    임형찬님이 지적하신 부분도 이번 문제의 일부 설명이 될 수는 있다고 생각하지만, 궁극적으로는 니자드님이 언급하신 '기본 역량이 앞서 있는 배터리 관리 기술이지만 점점 촉박해지는 개발기간과 혁신에 대한 압박감이 이런 문제들을 일으키는 셈이다.'라는 의견에 더 동감하고 있습니다. 결국 '인재'에 더 가깝다고나 할까요^^

  3. Blog Icon
    얼룩말

    이번 10.8.1 판올림의 결과 대부분의 맥북들의 경우는 배터리 성능이 향상되었으나, 레티나 맥북프로의 경우는 10.8.1에서 오히려 성능이 저하되는 것으로 나타났는데요. 이 부분에 대한 설명이 임형찬씨의 글 세번째 단락에 잘 나온듯 하여 일부러 다시 인용한 것입니다.

    http://www.cultofmac.com/186875/os-x-10-8-1-shows-small-battery-life-improvements-sometimes/

  4. 저도 MacObserver가 (비-레티나) 맥북프로의 후속으로 올린 레티나 맥북프로의 벤치마크 결과를 보고 다소 고개가 갸우뚱했습니다. 왜냐면 Ars Technica의 레티나 맥북프로 배터리 성능 벤치마크에서는 MacObserver 벤치마크와는 아주 상이한 결과가 나왔기 때문입니다.

    http://arstechnica.com/apple/2012/08/mountain-lion-update-can-improve-battery-life-for-some-mac-notebooks/

    MacObserver 벤치마크를 인용한 Cult Of Mac 의 기사 제목도 'Sometimes' 라는 단어를 사용하며 10.8.1의 배터리 성능이 모든 기기에서 동일하게 나타나지 않는다는 늬앙스로 기사를 게재했고, 기자가 사용하는 맥북에어에서 아무런 배터리 향상을 볼 수 없었다고 언급하고 있습니다.

    기기와 사용자에 따라 결과가 다르게 나온다는건 iCloud 같은 시스템 기본 기능탓이라기보다는 특정 환경 혹은 특정 사용자에게 발생하는 버그 쪽이 원인에 더 가깝지 않나 생각합니다.