Для координации использования одиночных или фиксированных множеств ресурсов несколькими вычислительными процессами используются семафоры. Проблема производительности семафоров заключается в том, что при взаимодействии процессов возникают требования доступа к общим ресурсам, которые приводят к столкновению транзакций, поскольку они вступают в конфликт друг с другом. Конфликты приводят к потерям производительности операционной системы. Наиболее характерно это проявляется в параллельных и мультипрограммных системах, когда взаимодействующие процессы реализуются в независимых процессорах, которые могут потребовать одновременно общий ресурс. Если ресурс требуется слишком большому числу процессов, то они ставятся в очередь. При этом, запросы удовлетворяются по принципу: «первым пришел - первым обслужен» (FIFO) [1].
Модель для оценки временных потерь. Пусть вычислительная система содержит один общий ресурс, доступный множеству процессов, выполняемых в n процессорных узлах и защищаемый семафором S.
Аналитическая модель n-процессорной системы с одиночным общим ресурсом для оценки потерь производительности из-за конфликтов за доступ к семафору, при использовании концепции планирования типа FIFO, изображена на рисунке 1,а. Модель представлена в виде разомкнутой стохастической сети массового обслуживания (СМО), состоящей из n (S1,...,Sn) СМО, моделирующих процессорные узлы, и одноканальной СМО (Sn+1), которая моделирует семафор. На вход n-процессорной системы поступает поток запросов на выполнение процессов с интенсивностью 0 = 1/T, где T - средняя длительность интервала между поступающими на вход запросами.
Поток запросов распределяется предварительным планировщиком по процессорным узлам с вероятностями р01,...,роn , представленным в виде графа вероятностей передач стохастической сети, изображенной на рисунке 1,б. Предположим для упрощения, что потоки запросов на выполнение процессов на входе многопроцессорной системы распределяются равновероятно по процессорным узлам, т.е. р01=...= роn = 1/n (рисунок 1,б). Заявки, получившие обслуживание в семафоре, с равной вероятностью возвращаются на продолжение обслуживания в процессорные узлы, следовательно, pn+1,1 =...= pn+1,n = 1/n.
В работе показано, что планирование на основе приоритетов дает выигрыш по времени ожидания в очереди к семафору почти в 2 раза, чем при использовании стратегии на основе FIFO. Полученные модели позволяют произвести количественные оценки времени ожидания процессов, обращающихся к общему ресурсу через посредство семафора. Модели могут быть использованы при проектировании параллельных операционных систем, где критичным является время выполнения процессов.
Список литературы
1. Таненбаум Э. Современные операционные системы. - СПб.: Питер, 2004.-1040с.
2. Основы теории вычислительных систем. Под ред. С.А. Майорова. - М.: Высшая школа, 1978.- 408с.