URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 39035
[ Назад ]

Исходное сообщение
"OpenNews: Новая, значительно переработанная, версия планировщика задач CFS"

Отправлено opennews , 20-Ноя-07 16:20 
"CFS Scheduler -v24 Backports (http://kerneltrap.org/Linux/CFS_Scheduler_-v24_Backports)" - новая, значительно переработанная, версия планировщика задач CFS доступна для Linux ядер 2.6.24-rc3, 2.6.23.8, 2.6.22.13 и 2.6.21.7.

URL: http://kerneltrap.org/Linux/CFS_Scheduler_-v24_Backports
Новость: http://www.opennet.me/opennews/art.shtml?num=12838


Содержание

Сообщения в этом обсуждении
"Новая, значительно переработанная, версия планировщика задач CFS"
Отправлено Nick , 20-Ноя-07 16:20 
долго читал патч для 2.6.24,

но идея неплоха.
Кроме веса каждой группы процессов по отдельности,
вычисляеться еще и динамический вес для каждого процессора, принрадлежащему этой группе.
Так, если в одной группе 3 процесса, и 2 из них на одном проце, а один на другом - то и вес этой группы на этих процессорах будет так же распределен: 2/3 и 1/3 веса группы соответственно.
Так, получаем более справдливое распределение весов групп на каждом процессоре.

Сильна трава у Инго...


"Новая, значительно переработанная, версия планировщика задач..."
Отправлено pavlinux , 21-Ноя-07 00:11 
А есть ещё NUMA - чё там делать прикажешь :) Вычислять веса каждой Ноды надо!

Знаешь загадку Эйнштейа?

С одной стороны улицы подряд стоят пять домов, каждый — своего цвета. В каждом живёт человек, все пять — разных национальностей. Каждый человек предпочитает уникальную марку сигарет, напиток и домашнее животное. Кроме того:

   1. Англичанин живёт в красном доме.
   2. Швед держит собаку.
   3. В зелёном доме пьют кофе.
   4. Датчанин предпочитает чай.
   5. Зелёный дом — слева от белого.
   6. Курильщик «ПалМал» разводит птиц.
   7. В жёлтом доме курят «Данхел».
   8. Молоко пьют в доме посередине.
   9. Норвежец живет в первом доме.
  10. Человек, курящий «Мальборо», живёт рядом с хозяином кошки.
  11. Дом, где курят «Данхел», — рядом с тем, где держат лошадь.
  12. Любитель «Винфилд» пьёт пиво.
  13. Немец курит «Ротманс».
  14. Норвежец живёт рядом с синим домом.
  15. Тот, кто курит «Мальборо», живет рядом с тем, кто пьет воду.

   * Где живет рыбка?

Вот так и в CFS - скажем, что "рыбка" это требуемый для вычисления вес процесса...

Прикинь как весело будет на Blue Gene/L иль на CRAY c 1024 CPU.
Думаю вычислительная нагрузка поползёт по exp(x).

  



"Новая, значительно переработанная, версия планировщика задач..."
Отправлено Nick , 21-Ноя-07 02:34 
>А есть ещё NUMA

опять ты со своей нумой... :)
у тя дома нума на всю квартиру? :))


>чё там делать прикажешь :) Вычислять веса каждой Ноды надо!

прикинь обидно то как!... %)))

эти веса - копейки по сравнению с шедулингом.
там того пересчета цикл по группам/процам и пара выражений арифметики.

А ваще, при помощи cgroups/cpuset легко сетапяцо группы на указанных множествах
процев/нодах памяти.


>[оверквотинг удален]
>  10. Человек, курящий «Мальборо», живёт рядом с хозяином кошки.
>  11. Дом, где курят «Данхел», — рядом с тем, где
>держат лошадь.
>  12. Любитель «Винфилд» пьёт пиво.
>  13. Немец курит «Ротманс».
>  14. Норвежец живёт рядом с синим домом.
>  15. Тот, кто курит «Мальборо», живет рядом с тем, кто
>пьет воду.
>
>   * Где живет рыбка?

Гы. У того, кто пьёт грог ;)


>Вот так и в CFS - скажем, что "рыбка" это требуемый
>для вычисления вес процесса...

да расслабь булку. Все там проще :)
Список групп и подмножества процессоров, на которых разрешено работать данной группе.
Это 2 вложенных цикла с параметром.
Т.е. лишь в худшем случае это именно фикл по всем группам и процам. Даже в случае с 1024 процами это не много :)   ну и даже если пара десятков групп.

Тем боле, шо оформлен персчетчик в нитко и сам чудно может быть запущен
на любой ноде/проце твоей нумы (смотря как у шедулера насетаплено)
%)

не изволь отказать себе в удовольствии взглянуть на сей нить (ф-ция rebalance_shares):

http://people.redhat.com/mingo/cfs-scheduler/sched-cfs-v2.6....


> Прикинь как весело будет на Blue Gene/L иль на CRAY c
>1024 CPU.
> Думаю вычислительная нагрузка поползёт по exp(x).

Да ну ;) в зависимости от констант (к-во нодов/процов) будет функция загрузки шедулера меняццо?? :)
Ну, это реально лишь в случае спец поведения шедулера на определенных участках x (CPU number). А так функция ползет всегда однообразно, лишь меняя коэфициенты рястяжения по координатам ;)


"Новая, значительно переработанная, версия планировщика задач..."
Отправлено sauron , 21-Ноя-07 07:55 
>опять ты со своей нумой... :)
>у тя дома нума на всю квартиру? :))

NUMA есть в любом сервере с количеством процессоров AMD больше одного :]


"Новая, значительно переработанная, версия планировщика задач..."
Отправлено Nick , 21-Ноя-07 13:36 
OMG...
позор моим сединам...

true...


"Новая, значительно переработанная, версия планировщика задач..."
Отправлено Nick , 21-Ноя-07 18:17 
щас попробовал sysbench погонять на Opteron'е
вот такие неутешительные для NUMA тайминги...
ядро 2.6.24-rc3-git1

NUMA:
    total time:                          89.9028s
    total time:                          89.1631s
    total time:                          88.9232s

SMP:
    total time:                          92.8451s
    total time:                          87.0386s
    total time:                          85.3406s


"Новая, значительно переработанная, версия планировщика задач CFS"
Отправлено Аноним , 23-Ноя-07 14:42 
даг, где же всё-таки рыбка была?

"Новая, значительно переработанная, версия планировщика задач..."
Отправлено Nick , 23-Ноя-07 14:51 
>даг, где же всё-таки рыбка была?

в более правильной балансировке весов по процессорам в SMP/NUMA системах


"Новая, значительно переработанная, версия планировщика задач..."
Отправлено Nick , 23-Ноя-07 14:55 
>>даг, где же всё-таки рыбка была?
>
>в более правильной балансировке весов по процессорам в SMP/NUMA системах

ну, это относительно 2.6.24-rc3-git1 ;))

относительно 2.6.23 ваще улет - пачка оптимизаций в шедулере, более быстрое переключение
контекста, чем даже в 2.6.22 со старым O(1) шедулером ;)))

Ну а всем более древним ядрам и сам CFS еще не снилсо тогда.

На все эти случаи Инго и выложил патчи