8.1.5 Планирование на основе справедливого раздела

8.1.5 Планирование на основе справедливого раздела

Вышеописанный алгоритм планирования не видит никакой разницы между пользователями различных классов (категорий). Другими словами, невозможно выделить определенной совокупности процессов, например, половину сеанса работы с ЦП. Тем не менее, такая возможность имеет важное значение для организации работы в условиях вычислительного центра, где группа пользователей может пожелать купить только половину машинного времени на гарантированной основе и с гарантированным уровнем реакции. Здесь мы рассмотрим схему, именуемую "Планированием на основе справедливого раздела" (Fair Share Scheduler) и реализованную на вычислительном центре Indian Hill фирмы AT&T Bell Laboratories [Henry 84].

Принцип "планирования на основе справедливого раздела" состоит в делении совокупности пользователей на группы, являющиеся объектами ограничений, накладываемых обычным планировщиком на обработку процессов из каждой группы. При этом система выделяет время ЦП пропорционально числу групп, вне зависимости от того, сколько процессов выполняется в группе. Пусть, например, в системе имеются четыре планируемые группы, каждая из которых загружает ЦП на 25 % и содержит, соответственно, 1, 2, 3 и 4 процесса, реализующих счетные задачи, которые никогда по своей воле не уступят ЦП. При условии, что в системе больше нет никаких других процессов, каждый процесс при использовании традиционного алгоритма планирования получил бы 10 % времени ЦП (поскольку всего процессов 10 и между ними не делается никаких различий). При использовании алгоритма планирования на основе справедливого раздела процесс из первой группы получит в два раза больше времени ЦП по сравнению с каждым процессом из второй группы, в 3 раза больше по сравнению с каждым процессом из третьей группы и в 4 раза больше по сравнению с каждым процессом из четвертой. В этом примере всем процессам в группе выделяется равное время, поскольку продолжительность цикла, реализуемого каждым процессом, заранее не установлена.

Реализация этой схемы довольно проста, что и делает ее привлекательной. В формуле расчета приоритета процесса появляется еще один термин — "приоритет группы справедливого раздела". В пространстве процесса также появляется новое поле, описывающее продолжительность ИЦП на основе справедливого раздела, общую для всех процессов из группы. Программа обработки прерываний по таймеру увеличивает значение этого поля для текущего процесса и ежесекундно пересчитывает значения соответствующих полей для всех процессов в системе. Новая компонента формулы вычисления приоритета процесса представляет собой нормализованное значение ИЦП для каждой группы. Чем больше процессорного времени выделяется процессам группы, тем выше значение этого показателя и ниже приоритет.

В качестве примера рассмотрим две группы процессов (Рисунок 8.6), в одной из которых один процесс (A), в другой — два (B и C). Предположим, что ядро первым запустило на выполнение процесс A, в течение секунды увеличивая соответствующие этому процессу значения полей, описывающих индивидуальное и групповое ИЦП. В результате пересчета приоритетов по истечении секунды процессы B и C будут иметь наивысшие приоритеты. Допустим, что ядро выбирает на выполнение процесс B. В течение следующей секунды значение поля ИЦП для процесса B поднимается до 60, точно такое же значение принимает поле группового ИЦП для процессов B и C. Таким образом, по истечении второй секунды процесс C получит приоритет, равный 75 (сравните с Рисунком 8.4), и ядро запустит на выполнение процесс A с приоритетом 74. Дальнейшие действия можно проследить на рисунке: ядро по очереди запускает процессы A, B, A, C, A, B и т. д.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Кодекс справедливого использования информации

Из книги Все под контролем: Кто и как следит за тобой автора Гарфинкель Симеон

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


B.2 Образец раздела договора

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


16.2. Структура дискового раздела в ext2fs

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

16.2. Структура дискового раздела в ext2fs Производители жестких дисков обычно поставляют свои изделия отформатированными на низком уровне. Насколько я знаю, это означает, что все дисковое пространство с помощью специальных меток разбито на "сектора", размером 512 байт. Такой


4.10. Создание раздела (файла) подкачки

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

4.10. Создание раздела (файла) подкачки Рано или поздно при работе с Linux вам станет недостаточно оперативной памяти: потребности растут, а возможности (оперативная память) остаются прежними. В этом случае нужно купить дополнительные 128...256 Мб, тем более, что цены на память


3.2. Типы раздела

Из книги MySQL: руководство профессионала автора Паутов Алексей В

3.2. Типы раздела Этот раздел обсуждает типы выделения разделов, которые доступны в MySQL 5.1. Они включают:– RANGE partitioning : назначает строки разделам, основанным на значениях столбца, попадающих внутрь заданного диапазона.– LIST partitioning: подобно выделению разделов диапазоном, за


2.1.18. Итоги первого раздела

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

2.1.18. Итоги первого раздела Мы рассмотрели основные принципы работы со стандартными сокетами. Хотя многое осталось за кадром, того, что здесь было написано, достаточно, чтобы начать создавать разнообразные приложения с использованием сокетов. Для самостоятельного


Создание раздела "См. также"

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Создание раздела "См. также" При создании раздела "См. также" нам потребуется решить четыре задачи.— Соотнести каждый пункт полосы навигации со списком связанных материалов соответствующей Web-страницы.— Собственно создать раздел "См. также" после загрузки


Создание раздела "См. также"

Из книги Первые шаги с Windows 7. Руководство для начинающих автора Колисниченко Денис Н.

Создание раздела "См. также" При создании раздела "См. также" нам потребуется решить четыре задачи.— Соотнести каждый пункт полосы навигации со списком связанных материалов соответствующей Web-страницы.— Собственно создать раздел "См. также" после загрузки


2.5.4. Выбор раздела жесткого диска

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

2.5.4. Выбор раздела жесткого диска Следующий шаг — выбор раздела, в который нужно установить Windows 7. Мне было проще — я устанавливал Windows 7 на неразмеченный жесткий диск, поэтому все, что мне пришлось сделать — это выбрать неразмеченную область (рис. 2.9) и нажать кнопку


5.1. Создание нового раздела

Из книги Денежный поток из Интернета автора Круглов Александр

5.1. Создание нового раздела Как уже было сказано, в реестре имеется пять корневых разделов. Вы не можете создать еще один корневой раздел, однако можете создать раздел в любом из имеющихся корневых разделов (он будет представлять собой раздел первого уровня по отношению к


Параметры раздела идентификатора

Из книги автора

Параметры раздела идентификатора Раздел идентификатора может содержать следующие параметры.? EditFlags — данный параметр DWORD-типа определяет различные ограничения на модификацию параметров данного расширения при помощи вкладки Типы файлов диалога Свойства папки.


Подразделы корневого раздела

Из книги автора

Подразделы корневого раздела Как видите, сведения о расширениях файлов хранятся в реестре в виде упорядоченных данных (чего, к сожалению, нельзя сказать о других корневых разделах реестра, структура которых если и прослеживается, то только в некоторых местах).Но не


Параметры раздела ActiveX-объекта

Из книги автора

Параметры раздела ActiveX-объекта Раздел CLSID включает в себя список вложенных подразделов, каждый из которых назван на основе CLSID-номера ActiveX-объекта, который он описывает, и хранит сведения только об этом ActiveX-объекте. Подраздел ActiveX-объекта может содержать следующие


Другие разделы корневого раздела

Из книги автора

Другие разделы корневого раздела Уже была рассмотрена большая часть содержимого корневого раздела реестра HKEY_CLASSES_ROOT — разделы расширения, идентификатора и раздел CLSID, но, кроме них, корневой раздел включает в себя еще несколько разделов, которые стоит описать. Некоторые


«Планирование – ключ к успеху» /На основе выступления Ольги Трошиной/

Из книги автора

«Планирование – ключ к успеху» /На основе выступления Ольги Трошиной/ Прочитав вводную часть книги, вы уже получили ответы на вопросы:• Что такое бизнес и инфобизнес.• Какие навыки необходимо развивать, чтобы преуспеть в собственном деле и в жизни.• Чем отличается