Jump to content

Программная блокировка

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

Критические разделы уровня ядра [ править ]

В большинстве многопроцессорных систем каждый процессор планирует и контролирует себя, поэтому процессора-супервайзера нет. [1] ядра а структуры данных являются глобально общими; разделы кода, которые обращаются к этим общим структурам данных, являются критическими разделами . Этот выбор конструкции сделан для улучшения масштабируемости, надежности и модульности. [1] Примерами такой структуры данных ядра являются список готовности и каналы связи .

«Конфликт» возникает, когда несколько процессоров одновременно пытаются получить доступ к одному и тому же ресурсу (части памяти). Чтобы предотвратить критические гонки и несогласованность , только одному процессору ( ЦП ) в данный момент разрешен доступ к определенной структуре данных (части памяти), в то время как другие ЦП, пытающиеся получить доступ в то же время, блокируются и находятся в состоянии ожидания. . [1] [2]

Можно выделить три случая, когда такое простое ожидание либо необходимо, либо удобно, либо не удобно. Ожидание простоя необходимо, когда осуществляется доступ к списку готовности для операции планирования низкого уровня . Ожидание простоя не является необходимым, но удобно в случае критического участка для операций синхронизации / IPC , которые требуют меньше времени, чем переключение контекста (выполнение другого процесса , чтобы избежать ожидания простоя). Вместо этого ожидание простоя не удобно в случае критической секции ядра для управления устройствами , присутствующей только в монолитных ядрах . подходит Вместо этого микроядро только для первых двух из вышеперечисленных случаев.

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

Аналитические исследования [ править ]

Принимая в качестве параметров средний интервал времени, затрачиваемый процессором в критических секциях уровня ядра ( L , для времени в заблокированном состоянии), и средний интервал времени, затрачиваемый процессором в задачах вне критических секций ( E ), [1] соотношение L/E имеет решающее значение при оценке блокировки программного обеспечения.

Типичные значения L/E варьируются от 0,01 до 0,1. [3] Например, в системе с соотношением L/E 0,05 при наличии 15 ЦП ожидается, что в среднем 1 ЦП всегда будет простаивать; [3] при 21 процессоре 2.8 будет простаивать; [4] при 40 процессорах 19 будут простаивать; при 41 процессоре 20 будут простаивать. [3] Следовательно, добавление в эту систему более 40 процессоров будет бесполезным. В общем, для каждого значения L/E существует порог максимального количества полезных процессоров.

блокировки Устранение программного обеспечения

Чтобы снизить снижение производительности из-за программной блокировки до разумного уровня ( L/E от 0,05 до 0,1), ядро ​​и/или операционная система должны быть спроектированы соответствующим образом. Концептуально наиболее правильным решением является разложение каждой структуры данных ядра на более мелкие независимые подструктуры, каждая из которых имеет более короткое время разработки. Это позволяет более чем одному процессору получить доступ к исходной структуре данных.

По оценкам, многие однопроцессорные системы с иерархическими доменами защиты тратят до 50% времени на выполнение операций в «режиме супервизора». Если бы такие системы были адаптированы для многопроцессорной обработки путем установки блокировки при любом доступе к «состоянию супервизора», L/E легко было бы больше 1, [3] в результате получается система с той же пропускной способностью, что и у однопроцессора, несмотря на количество процессоров.

См. также [ править ]

Примечания [ править ]

  1. Перейти обратно: Перейти обратно: а б с д Мэдник 1968, стр.19.
  2. ^ Зальцер, Джером (июнь 1966 г.). Управление дорожным движением в мультиплексной компьютерной системе (PDF) (доктор философии). Проект MIT MAC MAC-TR-30.
  3. Перейти обратно: Перейти обратно: а б с д Мэдник 1968, стр.20.
  4. ^ Рейнор 76, стр.62

Ссылки [ править ]

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8d6369f84b8189e6316cd32e146013f8__1703270760
URL1:https://arc.ask3.ru/arc/aa/8d/f8/8d6369f84b8189e6316cd32e146013f8.html
Заголовок, (Title) документа по адресу, URL1:
Software lockout - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)