Изучаем работу SoC Qualcomm Snapdragon 820 (страница 2)
Для проверки этих доводов запустим старый добрый Linpack с загрузкой от одного до четырех потоков. Как видно, после увеличения нагрузки с двух до трех потоков наблюдается пусть и незначительный, но все же рост производительности, что и намекает на подтверждение наших догадок.
Посмотрим на графики загрузки ядер в четырех режимах, начиная с одного потока, заканчивая четырьмя.
реклама
Никаких аномалий тут в целом нет. Разве что нагрузка оказывается несколько выше ожидаемой, но учитывая оболочку подопытного смартфона, подобное неудивительно. Об этом мы поговорим чуть ниже.
Но самое интересное начинается, если мы добавим на график результаты прогона Snapdragon 810 и MediaTek Helio X20.
реклама
Разница в показателях очень большая. Snapdragon 820 на голову обгоняет все чипы на графике. Кстати, тут у нас целых два представителя Snapdragon 810 – это Sony Xperia Z4 (QSD810S на графике) и HTC One M9 (QSD810H). Обратите внимание на разницу в результатах!
Вот как наглядно выглядит слабое место big.LITTLE систем – планировщик в зависимости от желания разработчиков может перекинуть интенсивную нагрузку в один поток на «слабое» ядро Cortex-A53.
Так делает Sony Xperia Z4, который лишь при исчерпании лимита возможностей кластера Cortex-A53 начинает пользоваться «толстыми» ядрами Cortex-A57. В реальной жизни это выливается в низкую комфортность работы с тем же браузером, у которого сценарии javascript работают в таком режиме. И даже если загрузить такой смартфон работой с несколькими задачами одновременно, он все равно будет использовать слабый кластер. Сделано это, понятное дело, для экономии заряда. На том же чипе HTC One M9 сразу понимает, что от него требуется, и начиная с одного потока выдает высокую производительность. Чип один – ощущения от работы устройств разные.
Возвращаясь к нашему герою, стоит еще раз отметить, что в случае с четырьмя производительными ядрами такая ситуация почти невозможна! Тут попросту нет слабого кластера, на который по ошибке может сослаться планировщик. Да, он может проигнорировать нагрузку и задействовать одно ядро на невысокой частоте, но производительность будет все равно выше одного ядра Cortex-A53.
Но и тут производитель со своим планировщиком может натворить дел. Просто цена ошибки не так велика. Например, в случае с Sony Xperia XZ планировщик напрочь отказывается обрабатывать более чем четыре потока. Выглядит это так:
Что пошло не так? Скорее всего, это проблема конкретной модели устройства. Если бы работало только одно ядро на минимальной частоте, можно было бы винить планировщик, но загрузка ядер выглядела следующим образом:
Очень плотная загрузка. Странный результат, который повторяется каждый раз, если потоков больше четырех.
Как ни странно, в этот момент частота всех ядер составляла ~1.6 ГГц, то есть чип работал на пределе. Полагаю, что это либо проблема конкретного смартфона, либо баг самого Linpack. В любом случае тут нужны дополнительные исследования.
Страницы материала
Лента материалов раздела
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила