Нужна ли многоядерность смартфону?

В начале 2010 г. компания LG анонсировала первый в мире двухъядерный смартфон, что ознаменовало эру мобильной гонки многоядерности. С тех пор прошло уже более 6 лет, а производители только продолжают наращивать производственные и производительные мощности. Сегодня на рынке присутствуют уже десятиядерные предложения и вряд ли на этом их рост остановится. Чтобы лучше понять, чего добиваются производители и как постоянное увеличение количества ядер отражается на приросте производительности, проведем небольшой экскурс в историю.

Некогда устройство для совершения звонков сегодня выполняет роль мультимедийного комбайна, став неотъемлемой частью нашей жизни. С каждым годом появляется новый функционал, а значит растет потребность обработки всё больших потоков данных. Изначально все усилия для повышения производительности были направлены в сторону наращивания тактовой частоты, но с достижением определенных показателей, её повышение стало нерациональным, так как сказывалось на увеличении TDP процессоров. Впрочем стараниями разработчиков, а в последующем и маркетологов, был найден выход – многоядерность.

В человеческом сознании укоренилось мнение: “чем больше, тем лучше.” Но всегда есть исключение и вопрос многоядерности один из таких случаев. Эти предубеждения успешно используются “психологами маркетинга”, чья задача убедить вас в том, что это главный фактор, влияющий на прирост производительности. А так ли это?

Вопрос количества

Важна ли многоядерность? Несомненно. Обработка, распределение и выполнение множества задач одновременно – вот главная её фишка. Параллельная работа нескольких приложений, видеосъемка и совершение звонков. Звучит странно, но вполне возможно. Возможно благодаря задействованным дополнительным ядрам. И да, я о плавности.
Два процессорных ядра, а это, по сути, два микропроцессора, управятся с различными задачами быстрее одного. Четыре – ещё быстрее, нежели два. Способ увеличения производительности процессора с помощью нескольких ядер заключается в разбивке потоков. Важно отметить, что ОС, несмотря на их количество, умеет создавать и работать с множеством виртуальных потоков, пускай это даже одноядерный вариант. Загрузи вы свой смартфон одной задачей, он отлично с ней справится. Между тем это огромная редкость, ведь даже в режиме пассивного использования он выполняет по нескольку задач, для чего в ОС включен планировщик. Планировщик регулирует порядок и количество задач.
А что насчет количества ядер?

Нужна ли многоядерность смартфону?

Большее количество – не всегда качество. Не все приложения оптимизированы для работы с несколькими ядрами, а уж тем более, когда их численность давно перевалила за четыре. По крайней мере так было раньше, сейчас же ситуация кардинально изменилась. Давайте на примере.

У вас есть несколько грузовых машин. Перевезти ими груз становится гораздо проще, нежели делать это с помощью одной в несколько подходов или полностью загрузив автомобиль. Правда, этот вариант доступен при условии возможности разделения груза. Немаловажным являются и тактовая частота, которая отвечает за обработку различных операций в секундном интервале. Чем она выше, тем больше действий процессор выполняет за один проход. Не стоит забывать и про архитектуру процессора. Вернемся к примеру.

У нас есть два водителя. Несмотря на то, что в смартфонах используется однокристальная система, здесь как и в компьютерных решениях у каждого производителя имеются свои варианты исполнения, отличные от конкурентов. Так вот. У обоих водителей одинаковое задание и место прибытия. Но первый более опытный и знает короткий путь (нет, не как в фильмах с плохой концовкой), соответственно имеет преимущество и доберется гораздо быстрее второго. Не будем тыкать пальцами, но параллель между Qualcomm и MediaTek, думаю, понятна)

Возвращаясь к вопросу оптимизации. В предыдущих своих статьях я не раз отмечал чрезвычайную важность этого фактора и не устаю повторять об этом вновь. Как всегда пример с яблочной продукцией. В последней версии iPhone используется двухъядерный процессор собственной разработки, который занимает лидирующую позицию среди своих более “ядерных” собратьев. Этому способствует множество факторов, но оптимизация стоит во главе.

Проблема перегрева

Прогресс не стоит на месте и на рынке уже давно намечен курс на уменьшение размеров используемых компонентов. Впрочем, в мобильных решениях проблема перегрева остается все ещё актуальной: постоянная прокачка характеристик, включая наращивание мощности становится серьезным барьером при тенденции на стройные смартфоны. В погоне за инновациями некоторые производители оснащают свои устройства жидкостным охлаждением, как например в Z2, Lumia 950 XL и Galaxy S7.
Снизить перегрев на высокой частоте возможно также перейдя на более тонкий техпроцесс.

“Количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца, что приводит к появлению новых технологий, росту производительности и прорывам в области электроники.”

Чем меньше элемент, тем меньше выделение тепла. Однако, с уменьшением размера транзисторов увеличиваются сложности с теплоотводом. Плюс, их размер должен уменьшаться пропорционально (закон Мура), чтобы задержки в ГГц сигналах не сказывались на итоговой производительности. В результате – палка с двумя концами.

Ещё один способ – увеличение количества ядер. Да, вы не ослышались. Система выбирает комбинацию ядер и с потребностью задействует высокопроизводительные, а при возможности сэкономить, пускает в ход энергоэффективные. В редких случаях используются и те, и другие.

Как Android

Технический писатель и автор собственного блога Дарси Лаковье, провел один интересный эксперимент, создав специальную программу, так как не нашел ни одного приложения, которое использовало бы все восемь ядер на 100%. Потом он затестил несколько приложений на смартфонах с четырехъядерным (Snapdragon 801) восьмиядерным Snapdragon (615) процессорами. В результате Дарси продемонстрировал графики их работы с одинаковыми приложением.

Как и полагается, первым протестировали Chrome. Будь приложение однопоточным, можно было ожидать нагрузки двух ядер с периодической активностью ещё двух других. На самом деле, львиную долю времени браузер использовал все четыре ядра.

Нужна ли многоядерность смартфону?

Что касается восьмиядерного решения, большую часть времени браузер вел себя довольно непредсказуемо, задействовав произвольное их количество, комбинируя семь-восемь, а иногда шесть или четыре ядер. Учитывая, что 615 использует big.LITTLE-концепцию, способ его работы сильно отличается. На графике видно, как возрастает нагрузка на одном в то время, как падает на другом ядре.

Нужна ли многоядерность смартфону? Нужна ли многоядерность смартфону?

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

Нужна ли многоядерность смартфону?

Вся статья довольно большая, поэтому я отобрал основные фрагменты для демонстрации и объяснения поведения различных процессоров в определенных ситуациях.

Вывод

Учитывая определенное количество факторов, а именно оптимизацию, разность архитектур, использование различных технологий и некоторых других – многоядерность сегодня не только дань моде, но и один из способов балансировки между огромным количеством насущных проблем.
И в первую очередь, это нужно не столько для наращивания производительности (ведь это вопрос оптимизации), сколько для решения проблем энергоэффективности и перегрева. Но это ли основной выход? Ведь остается ещё масса обходных путей. Например, то же уменьшение техпроцесса. Но и здесь не всё так просто. Ведь манипуляции с минимизацией приводят к большому количеству отбракованных процессоров. Более того, даже небольшие земные колебания, незаметные для простого человека, могут привести количество непригодных процессоров до 70-80%.
Остается система жидкостного охлаждения, но её эффективность в существующем виде, к сожалению, всё ещё под вопросом.
Впрочем, производители вряд ли остановятся на этом, ну а на главный вопрос, нужна ли многоядерность? Ответ – да!

Автор: Субмарина
24.06.2016 (17:28)