12.5 УЗКИЕ МЕСТА В ФУНКЦИОНИРОВАНИИ МНОГОПРОЦЕССОРНЫХ СИСТЕМ
В данной главе нами были
рассмотрены два метода реализации
многопроцессорных версий системы
UNIX: конфигурация, состоящая из
главного и подчиненного
процессоров, в которой только один
процессор (главный) функционирует в
режиме ядра, и метод, основанный на
использовании семафоров и
допускающий одновременное
исполнение в режиме ядра всех
имеющихся в системе процессов. Оба
метода инвариантны к количеству
процессоров, однако говорить о том,
что с ростом числа процессоров
общая производительность системы
увеличивается с линейной
скоростью, нельзя. Потери
производительности возникают,
во-первых, как следствие
конкуренции за ресурсы памяти,
которая выражается в увеличении
продолжительности обращения к
памяти. Во-вторых, в схеме,
основанной на использовании
семафоров, к этой конкуренции
добавляется соперничество за
семафоры; процессы зачастую
обнаруживают семафоры
захваченными, больше процессов
находится в очереди, долгое время
ожидая получения доступа к
семафорам. Первая схема, основанная
на использовании главного и
подчиненного процессоров, тоже не
лишена недостатков: по мере
увеличения числа процессоров
главный процессор становится узким
местом в системе, поскольку только
он один может функционировать в
режиме ядра. Несмотря на то, что
более внимательное техническое
проектирование позволяет
сократить конкуренцию до разумного
минимума и в некоторых случаях
приблизить скорость повышения
производительности системы при
увеличении числа процессоров к
линейной (см., например, [Beck 85]), все
построенные с использованием
современной технологии
многопроцессорные системы имеют
предел, за которым расширение
состава процессоров не
сопровождается увеличением
производительности системы.
Предыдущая
глава || Оглавление
|| Следующая глава
|