На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

Свежие комментарии

  • Traveller
    Где купить? Только ухозаткнутые уже напрочь отключены от жизни и их наркозависимость уже неизлечима.Создан «скучный т...
  • Алексей Демин
    ПриветВ России запустят...
  • Максим Гусев
    горшок для лука лучше бы сделал из видикаВторая жизнь виде...

Правда или нет: много ядер смартфону не нужно

3043090

Использование в смартфонах четырёхъядерных процессоров уже считается едва ли не моветоном: все современные флагманы обязаны иметь минимум восемь ядер, а лучше все десять. Но действительно ли мобильным гаджетам нужны такие чипсеты, или всё дело в маркетинговой гонке между производителями? Мы собираемся сравнить нагрузку на процессор в различных задачах на примере смартфона Honor 8 Pro с чипсетом Kirin 960 и выяснить, действительно ли Android задействует все вычислительные мощности гаджета?

Миф: приложения и игры не используют все ядра мобильного процессора

Чтобы проверить или опровергнуть это утверждение, необходимо получить статистику об использовании каждого процессорного ядра при выполнении гаджетом тех или иных задач. Готовых решений для вывода этой информации мы не нашли, а потому самостоятельно написали пару скриптов. Сначала мы с интервалом в пять секунд считали информацию о загруженности каждого ядра из системного файла /proc/stat. Затем наши инструменты построили графики по полученным данным. Исследование проводилось на смартфоне Honor 8 Pro с восьмиядерным процессором Kirin 960. Этот чипсет состоит из двух кластеров по четыре ядра каждый, причём первый получил ядра ARM Cortex-A53 с тактовой частотой 1,8 ГГц, а второй — Cortex-A73 с частотой 2,4 ГГц.

Режим ожидания. При выключенном экране графики загруженности процессора колеблются около нуля, лишь изредка поднимаясь процентов до десяти из-за wakelock’ов (сотая секунда на графике). Примерно в середине теста смартфон был разблокирован, что повысило активность ядер. Однако в отсутствие задач гаджет не использует больше двух-трёх ядер одновременно.

Правда или нет: много ядер смартфону не нужноЗагруженность ядер в режиме ожидания

Социальные сети. Использование официального клиента социальной сети «ВКонтакте» оказалось несложной задачей. Загруженность отдельных ядер редко превышала 25%, а четыре ядра из восьми и вовсе находились в «спячке».

Правда или нет: много ядер смартфону не нужноЗагруженность ядер при использовании клиента социальной сети

Сёрфинг. Больше ресурсов потребовал рендеринг сайтов новостных ресурсов в браузере Chrome — загруженность местами превышала 50%. На графике видно, что в некоторых случаях смартфон активировал сразу восемь ядер, однако основная работа во время тестирования была возложена всего на четыре из них.

Правда или нет: много ядер смартфону не нужноЗагруженность ядер при сёрфинге

Съёмка видео. Съёмка видео на камеру смартфона в разрешении Ultra HD оказалась довольно ресурсоёмкой задачей, однако для её выполнения аппарату вновь хватило всего четырёх ядер.

Правда или нет: много ядер смартфону не нужноЗагруженность ядер при съёмке видео

Игры. Тестирование Honor 8 Pro в игре Asphalt Extreme стало показательным: если четыре ядра из восьми оставались загруженными примерно одинаково во время тестирования, то оставшиеся четыре ядра резко активизировали свою работу лишь в некоторых местах, помогая гаджету справиться со сложными сценами.

Правда или нет: много ядер смартфону не нужноЗагруженность ядер в играх

Бенчмарк AnTuTu. Самым ресурсоёмким из всех оказался, конечно же, бенчмарк AnTuTu: нам даже пришлось отключить сглаживание графика, чтобы его вершины не «уползали» за отметку в 100%. В AnTuTu смартфону пришлось задействовать все восемь ядер, причём в одном из тестов загрузка каждого из них оказалась стопроцентной.

Правда или нет: много ядер смартфону не нужноЗагруженность ядер в бенчмарке

Почти на всех графиках хорошо заметно, что большую часть времени активна половина ядер гаджета, в то время какая вторая половина остаётся незагруженной. Это вполне ожидаемо и соответствует кластерной структуре чипсета Kirin 960. А вот чтобы понять, как смартфону удаётся задействовать все восемь ядер, придётся сначала вспомнить особенности архитектуры ARM big.LITTLE.

Как используются ядра в архитектуре ARM big.LITTLE

На заре появления ARM big.LITTLE об этой архитектуре было много разговоров, но сейчас её использование в чипсетах никак не выделяется. Причина этому проста: буквально каждый второй смартфон и так использует эту технологию, которая, де-факто, стала стандартом в мобильных гаджетах. Выяснить, есть ли в вашем аппарате поддержка big.LITTLE, очень просто — достаточно посмотреть на его технические характеристики. Если в чипсете устройства используются минимум два кластера различных процессорных ядер (или одинаковых, но с разной частотой), значит, он построен на этой архитектуре.

Правда или нет: много ядер смартфону не нужноСлева направо: кластерная миграция, процессорная миграция, гетерогенный мультипроцессинг

Архитектура ARM big.LITTLE имеет три типа внутреннего распределения вычислительных ресурсов. Первый — кластерная миграция, при которой одновременно может работать только один кластер, состоящий из процессорных ядер одного типа. Второй — процессорная миграция, где ядра разных типов объединяются попарно, однако в каждой паре в определённый момент времени может работать только одно ядро. Оба этих типа в настоящее время практически не используются, и найти их можно разве что в старых смартфонах. Третий тип, гетерогенный мультипроцессинг, позволяет устройству произвольно задействовать любые ядра, в том числе использовать все доступные ядра одновременно. Именно гетерогенный мультипроцессинг используется в современных смартфонах, включая тестовый Honor 8 Pro, поскольку позволяет гибко задействовать вычислительные ресурсы в зависимости от задач.

Правда или нет: много ядер смартфону не нужноСхема чипсета Kirin 960

Но всё-таки зачем смартфону восемь или даже десять ядер, когда обычные ПК прекрасно справляются с рабочими задачами при четырёх? В действительности основная причина использования big.LITTLE — не столько производительность, сколько энергоэффективность. Интенсивность использования каждого процессорного ядра зависит от текущих задач гаджета: если в режиме ожидания смартфону хватит пары энергоэффективных ядер, работающих на низкой частоте, то при запуске ресурсоёмких приложений будут задействованы все ядра. Это позволяет гаджетам лучше экономить драгоценные проценты заряда батареи в простых задачах и работать на полную мощность в играх.

Другие архитектуры

Но как же работают другие варианты многоядерных процессоров? Чтобы ответить на этот вопрос, мы пристально посмотрели ещё на два чипсета. Первый — Qualcomm Snapdragon 801 с четырьмя одинаковыми ядрами Krait 400. В отсутствие кластерной структуры четыре ядра, как правило, работают в унисон, но имеют различную загруженность. Отдельные ядра при этом почти никогда не «спят» — разве что в режиме ожидания в отсутствие фоновых задач.

Загрузка однородных ядер в режиме ожидания
Загрузка однородных ядер при съёмке видео
Загрузка однородных ядер в играх

Второй чипсет, который мы решили протестировать — Mediatek MT6750 с восемью ядрами ARM Cortex-A53, половина из которых работает на максимальной тактовой частоте 1 ГГц, а вторая умеет разгоняться до 1,5 ГГц. В этом SoC уже используется архитектура big.LITTLE, но не гетерогенный мультипроцессинг, а кластерная миграция. Из графиков ниже видно, что в режиме ожидания используются только медленные ядра на 1 ГГц, в то время как в играх и при видеосъёмке активен кластер быстрых ядер. При этом загрузка второго кластера всегда равна нулю, а загруженность ядер активного кластера оказалась примерно одинаковой. Всё это говорит о слабой эффективности работы такой схемы архитектуры big.LITTLE.

Загрузка ядер при кластерной миграции big.LITTLE в режиме ожидания
Загрузка ядер при кластерной миграции big.LITTLE при съёмке видео
Загрузка ядер при кластерной миграции big.LITTLE в играх

Заключение

В большинстве задач смартфону действительно вполне хватает четырёх ядер, но как только гаджет сталкивается с необходимостью увеличить вычислительные ресурсы (например, со сложной сценой в игре или открытием нагруженного сайта) — тут же начинает работу второй кластер. Как оказалось, Android весьма неплохо справляется с задачей распараллеливания процессов: всего одна игра может задействовать сразу восемь ядер со средней загрузкой, вместо того, чтобы загрузить только четыре ядра, но максимально. Такое поведение обеспечивает гибкое управление вычислительными ресурсами системы, бо́льшую энергоэффективность чипсета и меньший нагрев устройства. Так что миф о неоправданности большого количества ядер в смартфоне можно смело считать опровергнутым. Многоядерные процессоры — это не только один из способов увеличения производительности устройства, но и средство экономии заряда аккумулятора, причём не только при простое или использовании социальных сетей, но и в более сложных задачах вроде сёрфинга или игр.

Ссылка на первоисточник

Картина дня

наверх