Привязка процессов

Оценить
(0 голоса)

Поскольку процессы могут быть привязаны к процессорным наборам, то и с помощью команды pbind(lM) процессы можно привязать к одному ЦП. После привязки процесс может выполняться только на этом ЦП, даже если он занят, а остальные остаются свободными.

Для достижения оптимальной производительности привязка обычно не рекомендуется в силу следующих причин:

•             Привязка является жесткой, а любая заданная стратегия привязки не всегда может быть в равной степени эффективной.

•             Если к каждому ЦП привязано более одного процесса, то могут возникать периоды несбалансированной нагрузки ЦП.

В Solaris предусмотрен сложный планировщик, который практически всегда способен превосходно выполнять планирование среди доступных ЦП.

Тем не менее, привязка в некоторых случаях может работать великолепно. Механизмы Sybase, а также виртуальные процессоры Informix работают лучше, будучи привязанными к какому-нибудь ЦП. В этом случае к каждому ЦП может быть привязан только один процесс. СУБД Sybase и Informix являются многопотоковыми приложениями, основанными на собственных внутренних библиотеках потоков, а не на потоках Solaris, и сами выравнивают нагрузку, распределяя ее между доступными механизмами/взаимодействующими серверами. Привязка подразумевает небольшое преимущество в производительности благодаря усилению "теплоты" кэша (реже приходится выполнять опорожнения содержимого) н сокращению переключений контекста.

Выгодно также осуществлять привязки Oracle Log Writer (редактора журнала Oracle) и Database Writers (редакторов БД); такая привязка может повысить эффективность высокопроизводительных рабочих нагрузок с интенсивным использованием ЦП. Однако размещение редакторов БД в отведенном процессорном наборе оказалось эффективным лишь на очень больших серверах.

В некоторых случаях можно наблюдать несомненные преимущества даже в привязке теневых процессов Oracle к другим ЦП по типу "карусель". Этот вид привязки может хорошо работать для рабочих нагрузок наподобие ТРС-С, где рабочие нагрузки не всегда однородны, а вот в типичных рабочих средах пользователей могут возникать проблемы в производительности, что объясняется несбалансированным использованием ЦП.

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

Любой пользователь может воспользоваться командой pbind для привязки процесса, которым он владеет. Такую процедуру следует выполнять осторожно.

Классы планирования операционной системы Solaris
Класс TS
Диспетчерская таблица
Квант для стандартной диспетчерской таблицы
Управление рабочими нагрузками

Добавить комментарий


Защитный код
Обновить