Параллелизм: планировшик Linux

Вопросы программного кода и архитектуры Linux

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Параллелизм: планировшик Linux

Непрочитанное сообщение Olej » 08 июл 2017, 16:28

От алгоритма работы планировщика операционной системы радикальным образом зависит поведение параллельных потоков и процессов в системе. И, в конечном итоге, то как пользователь, в конечном итоге видит отзывчивость интерфейса системы.
Об этом много написано, например, здесь: Параллелизм, конкурентность, многопроцессорность в Linux.
Номер последней редакции: 05
Объём (страниц): 97
Размер файла текста: 185153
Размер архива кодов: 314749
Дата размещения: 23 сентябра 2014

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Параллелизм: планировшик Linux

Непрочитанное сообщение Olej » 08 июл 2017, 16:36

Olej писал(а): Об этом много написано,
Но появляются и новые вещи, которых не было ещё недавно в Linux!
Об этом смотрим в man(7) обзор программных интерфейсов планирования:
SCHED_DEADLINE: Модель планирования случайной задачи с предельным сроком
Начиная с версии 3.14, в Linux появился алгоритм планирования с предельным сроком (SCHED_DEADLINE). Сейчас этот алгоритм реализован с помощью GEDF (Global Earliest Deadline First) в совокупности с CBS (Constant Bandwidth Server). Для назначения и выборки данного алгоритма и его атрибутов, нужно использовать системные вызовы (есть только в Linux) sched_setattr(2) и sched_getattr(2).
Случайная задача — одна из последовательности заданий (jobs), где каждое задание активизируется не более чем один раз за промежуток времени. Также у каждого задания есть относительный крайний срок, до которого оно должно завершить выполнение и время вычисления — время ЦП, необходимое для выполнения задания. Момент, когда задача пробуждается из-за выполнения нового задания, называется временем принятия (arrival time) (его ещё называют временем запроса (request time) или временем выпуска (release time). Время начала — это время когда задача начинает выполнение. Абсолютный предельный срок получается сложением относительного предельного срока с временем принятия.
Это настолько важно, что не жалко для этого и отдельную тему вести! ;-)

Ответить

Вернуться в «Linux изнутри»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей