[Result] Как работает шедулер потоков на big.LITTLE
От: VladCore  
Дата: 15.06.19 06:24
Оценка:
Как работает шедулер потоков на big.LITTLE типа RK3399? кто не в курсе у него 2 быстрых и 4 ядра медленнее

Например как выглядит cpu benchmark типа такого

for threads in {1..6}; do
  sysbench --test=cpu --num-threads=$threads --cpu-max-prime=10000 run
done


определенно linux kernel знает что ядра разные. Насколько умный kernel чтоб выполнять cpu-bound потоки на быстрых ядрах? Это можно узнать выполнив тест выше несколько раз.


Report


RK3399 у меня нет, но есть Snapdragon 835 (4 big + 4 LITTLE) c убунтой и sysbench 1.0.11
ThreadsPerfomanceScaleFactor
1 1853 100.0 of 100% 1.000
2 3566 192.4 of 200% 0.962
3 5365 289.5 of 300% 0.965
4 7159 386.3 of 400% 0.965
5 7920 427.4 of 500% 0.854
6 8621 465.2 of 600% 0.775
7 9335 503.7 of 700% 0.719
8 9897 534.1 of 800% 0.667
9 10026 541.0 of 900% 0.601
10 9878 533.0 of 1000% 0.533
Экран при этом телефона включен и экономия энергии в android выключена. Т.е. производительность максимальная.

Update:
Вот странный бенчмарк. на 6-ти потоках медленнее чем на 4х. отзефак? и почему он на двух не померял?
https://youtu.be/k4kMEbeORLo?t=527

А вот бенчмарк для одного и 6ти потоков:
https://forum.armbian.com/topic/3946-rk3399-orange-pi/?do=findComment&comment=60113

производительность на 6ти потоках в 4.07 раз больше чем на одном.
Похоже на то что ядро CPU-bound потоков отдает нужным ядрам. Верно или это случайно у него так вышло?

Итого пара вопросов:
Можно ли ядру сказать вот этот поток не надо на big-ядрах запускать, а вот тот пусть только на little-ядрах работает?

Влияет ли приоритет потока на то на каком ядре (core) ядро (kernel) будет выполнять поток?
Отредактировано 19.07.2019 19:13 VladCore . Предыдущая версия . Еще …
Отредактировано 19.07.2019 19:10 VladCore . Предыдущая версия .
Отредактировано 15.06.2019 8:10 VladCore . Предыдущая версия .
Отредактировано 15.06.2019 7:46 VladCore . Предыдущая версия .
Отредактировано 15.06.2019 7:20 VladCore . Предыдущая версия .
Отредактировано 15.06.2019 7:10 VladCore . Предыдущая версия .
Отредактировано 15.06.2019 7:01 VladCore . Предыдущая версия .
Отредактировано 15.06.2019 6:26 VladCore . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.