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

Исходное сообщение
"OpenNews: Планировщик задач CFS будет включен в состав Linux ядра 2.6.23"

Отправлено opennews , 10-Июл-07 13:34 
Планировщик задач с полностью справедливым распределением ресурсов CFS  (Completely Fair Scheduler), после трех месяцев обкатки в экспериментальной "-mm" ветке Linux ядра, включен в состав (http://www.linuxinsight.com/cfs-scheduler-to-appear-in-linux...) ядра 2.6.23, в качестве основного планировщика.


В планировщике задач CFS вместо очередей процессов ожидающих выполнения, используется дерево rbtree, определяющее план с временем перехода к выполнению очередного процесса. Единица планирования времени в CFS фиксирована - наносекунда, и не привязана к частоте генерации прерываний таймера (HZ).


CFS планировщик поддерживает два режима работы: 'desktop' (low latencies) и 'server' (good batching).


URL: http://www.linuxinsight.com/cfs-scheduler-to-appear-in-linux...
Новость: http://www.opennet.me/opennews/art.shtml?num=11356


Содержание

Сообщения в этом обсуждении
"Планировщик задач CFS будет включен в состав Linux ядра 2.6.23"
Отправлено TTT , 10-Июл-07 13:34 
что-то у меня не сходится, поясните невежде
сказано:
> Единица планирования времени в CFS фиксирована - наносекунда
на 3GHz процессоре за 1-у наносекунду проходит 3 такта, учитывая что даже чтение из памяти может занять несколько десятков тактов, а за один такт точно не делается больше одной опарации ( во всяком случае на х86 ), то как можно планировать каждую наносекунду?

"Планировщик задач CFS будет включен в состав Linux ядра 2.6...."
Отправлено alcohollica , 10-Июл-07 15:39 
я так понимаю, это для того, чтобы оставить задел на будущее - серастет сейчас в основном не частота процессоров, а количество ядер.

"Планировщик задач CFS будет включен в состав Linux ядра 2.6...."
Отправлено alcohollica , 10-Июл-07 15:43 
клавиатура сглючила. :)
так вот. в основном растет не частота процессоров, а количество ядер. И видимо легче отталкиваться от временного промежутка, чем от частоты.
Хотя все это конечно ИМХО

"Планировщик задач CFS будет включен в состав Linux ядра 2.6...."
Отправлено Aquarius , 10-Июл-07 19:39 
А кто что-то сказал, про конкретный порядок количества, измеряемого этой единицей измерения?
Кто сказал, что есть возможность, к примеру, задать 3 наносекунды для длительности чего-либо?

>> Единица планирования времени в CFS фиксирована - наносекунда
>на 3GHz процессоре за 1-у наносекунду проходит 3 такта, учитывая что даже
>чтение из памяти может занять несколько десятков тактов, а за один
>такт точно не делается больше одной опарации ( во всяком случае
>на х86 ), то как можно планировать каждую наносекунду?


"Планировщик задач CFS будет включен в состав Linux ядра 2.6...."
Отправлено serg1224 , 11-Июл-07 00:10 
> ,,, а за один такт точно не делается больше одной опарации...
Да, вроде, давно уже делается. На Интелах, по крайней мере.

"Планировщик задач CFS будет включен в состав Linux ядра 2.6...."
Отправлено _Nick_ , 11-Июл-07 07:15 
> как можно планировать каждую наносекунду?

легко.
вообще, разрешающая способность шедулера ограничиваеться разрешением таймера, прерываниями которого могут ограничиваться слайсы работы процессов.

т.е. неважно сколько инструкций выполнил процесс за отведенный ему слайс в минимум одну наносекудну: хоть 1, хоть 3, хоть 500 (ну, через пиццот лет :) - при прерывании таймера управление может быть передано другому процессу.


"Планировщик задач CFS будет включен в состав Linux ядра 2.6...."
Отправлено _Nick_ , 11-Июл-07 07:20 
кстати, выражения "Единица планирования времени в CFS фиксирована - наносекунда"
и "как можно планировать каждую наносекунду?" не приведены к общему знаменателю :)
т.е. говорят о разных вещах.
Те. первая утверждает, что результатом работы шедулера будет _количество_ наносекунд, выданное какому-либо процессу.
Вторая робко надееться, что каждая наносекунда работы процессора будет точно расписана :)
Ессьно, этого не будет. Сам шедулер _может_ работать больше наносекунды (если конечно нужно и частота проца достаточно низка). Просто на его выходе будет цыфра в наносекундах.

"Планировщик задач CFS будет включен в состав Linux ядра 2.6.23"
Отправлено DEC , 10-Июл-07 13:55 
n CFS this fairness imbalance is expressed and tracked via the per-task p->wait_runtime (nanosec-unit) value. "wait_runtime" is the amount of time the task should now run on the CPU for it to become completely fair and balanced.

Wrong translation


"Планировщик задач CFS будет включен в состав Linux ядра 2.6.23"
Отправлено Denis , 11-Июл-07 12:51 
Вот интересно - его намернво заменять, или можно будет выбрать между несколькими вариантами?
И как бы тоже крайне интересно - почему все упираются в наносекунду?
Это просто точность шедулера наносекунда. А задания которые будут находиться в состоянии ожидания, состояния выполнения,обработчики нижних и верхних половин и програмные прерывания будут более рационально использовать время, пусть даже одного ядра.

"Планировщик задач CFS будет включен в состав Linux ядра 2.6.23"
Отправлено Denis , 11-Июл-07 12:54 
А кто вообще писал новость?
На rbtree перешли уже давно, с ядра так эдак 2.6.10, об этом Роберт лав писал в книжке. Или у разработчиков ядра уже дежавю :-)

"OpenNews: Планировщик задач CFS будет включен в состав Linux..."
Отправлено Ivan , 11-Июл-07 13:35 
дополните и поправте если я заблуждаюсь, преключение контекста задачи
1 чем больше за единицу времени тем лучше? (плавность перехода) и  хреново меньше попаданий в кешь ЦПУ растут задержки при обращении к памяти общее снижение производительности

2 чем меньше за единицу времени тем лучше?


"OpenNews: Планировщик задач CFS будет включен в состав Linux..."
Отправлено _Nick_ , 13-Июл-07 00:22 
>дополните и поправте если я заблуждаюсь, преключение контекста задачи
>1 чем больше за единицу времени тем лучше? (плавность перехода) и  
>хреново меньше попаданий в кешь ЦПУ растут задержки при обращении к
>памяти общее снижение производительности
>
>2 чем меньше за единицу времени тем лучше?

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

Но факт фактом: скорость и интерактивность - на разных чашах весов.


"OpenNews: Планировщик задач CFS будет включен в состав Linux..."
Отправлено Denis , 13-Июл-07 08:31 
1) - не совсем так, все зависит от систему (сервер, рабочая станция). По принципу мышления, если за кэшем не следить, то падает производительность, но ядро следит за кэшем и поддерживает его в актуальном состоянии + у проца есть предсказание переходов и ветвлений. Если сравнить скорость обмена с памятью и кэшем 2 уровня - скорость раза в два меньше.
2) - в планировщике задач это оптимизированно, и перестаривается в процессе работы.

"Планировщик задач CFS будет включен в состав Linux ядра 2.6.23"
Отправлено Ne01eX , 13-Июл-07 09:40 
c CFS понятно, а что с SD (бывший RSDL) будет? Более правильным решением было бы конечно включению в основную ветку ядра обоих новых планировщиков и дать юзверю (то есть мне) уже выбрать... А вообще, - хорошая тенденция.

"Планирование заданий"
Отправлено Аноним , 16-Апр-09 18:45 
Планирование заданий