이 Android 업데이트로 휴대폰이 그 어느 때보다 빨라질 수 있습니다





안드로이드 휴대폰은 지난 몇 년간 꽤 빨라졌는데, 더 빨라진 프로세서가 예전만큼 눈에 띄는 속도 향상을 가져오지 못하는 수준까지 이르렀습니다. 이제 골대는 소프트웨어로 옮겨졌습니다. 때로는 사람들이 직접 상호 작용하지 않는 곳에서도 마찬가지입니다.

적절한 사례: 최신 개선 사항은 AutoFDO(자동 피드백 지향 최적화)라는 형태로 제공됩니다. AutoFDO는 커널 수준 최적화인데, 커널이 운영 체제의 가장 깊은 계층이라는 점을 고려하면 이는 매우 큰 문제입니다. 휴대전화의 프로세서가 앱, 하드웨어 및 그 사이의 모든 것과 통신하는 방식을 처리합니다. 마지막으로 이 정도로 심층적인 성능 향상을 본 것은 아마도 2018년에 Pixel 3용 최신 코드 변환기로 전환했을 것입니다.

실제로 수행되는 작업에 대해 가장 간단한 설명은 AutoFDO가 실제 데이터를 사용하여 많이 사용되는 코드를 더 빠르게 만든다는 것입니다. Android는 휴대폰 프로세서가 직접 이해할 수 없는 코드로 작성되었으므로 컴파일러라는 도구가 이를 하드웨어가 실제로 실행할 수 있는 코드로 변환해야 합니다. 하지만 이 작업은 리소스를 많이 소모할 수 있으므로 컴파일러는 지름길을 사용합니다. 그 과정에서 코드를 최적화하는 방법에 대해 수천 개의 작은 추측을 합니다. 이는 어떤 기능이 가장 중요한지 또는 어떤 경로를 선택할지 선택하여 수행됩니다.

문제는 이러한 결정이 사람들이 실제로 휴대폰을 사용하는 방식이 아니라 일반적인 규칙에 따라 결정된다는 것입니다. AutoFDO는 컴파일러에 실제 사용 데이터를 제공하여 이를 변경합니다. 사람들이 모르는 훌륭한 Android 앱이 많이 있지만, 이 데이터는 실제로 Google이 Pixel 기기에서 가장 인기 있는 100개의 앱을 실행한 실험실 테스트에서 수집되었습니다.

앞으로 이것이 무엇을 의미하는가

Google이 실제로 Android 12에서 AutoFDO를 처음 도입했다는 점은 언급할 가치가 있습니다. 하지만 당시에는 앱과 시스템 라이브러리를 대상으로 했습니다. 이제 커널을 직접 대상으로 하여 더 깊이 들어가게 되었습니다. 이론적으로는 개선 사항이 외부로 파급될 수 있으므로 이는 더 큰 이익을 가져올 것입니다. 커널은 또한 휴대폰 처리 시간의 약 40%를 차지하므로 여기서 개선 사항이 상당할 것입니다.

즉, 모든 것이 꽤 훌륭해 보이지만 Pixel 하드웨어의 실제 결과는 미미했습니다. 콜드 앱 실행 속도가 4% 빨라지고 부팅 시간이 약 2% 단축되었습니다. 그러나 바인더 테스트와 같은 특정 내부 벤치마크에서는 훨씬 더 눈에 띄게 21% 개선되었습니다. Google은 또한 이러한 변경으로 인해 프로세서가 중복되는 작업을 덜 수행하므로 Android의 배터리 수명이 향상될 것이라고 주장합니다.

Google은 또한 AutoFDO에 지속적으로 공급되는 데이터 프로필을 새로 고치는 전체 파이프라인을 구축했습니다. 이것이 의미하는 바는 Android의 코드가 시간이 지남에 따라 발전함에 따라 최적화가 오래되지 않고 관련성을 유지한다는 것입니다.

더 자세히 살펴보면 Google은 AutoFDO를 기본 커널 바이너리 이상으로 추진하려고 합니다. 팀에서는 이를 추가 커널 모듈로 확장하는 방법에 대해 논의했습니다. 그들은 또한 휴대폰 제조업체가 카메라나 모뎀과 같은 장치를 위해 추가하는 맞춤형 하드웨어 드라이버에 이를 추가한다고 언급했습니다. 현재 커널 AutoFDO는 Android 16-6.12 및 Android 15-6.6 커널 분기에 적용되어 있으며 곧 Android 17-6.18로 확장할 계획입니다. 물론 제조업체가 새 프로필을 포함하도록 Android 휴대폰의 커널을 업데이트하지 않는 경우에는 이 중 아무 것도 문제가 되지 않습니다.