Книга: UNIX: взаимодействие процессов

Результаты синхронизации процессов

Результаты синхронизации процессов

 В табл. А.4 и А.5 и на соответствующих рисунках были приведены результаты синхронизации потоков одного процесса. Интересно посмотреть, как взаимодействуют разные процессы. В табл. А.6 и на рис. А.5 приведены результаты измерения времени увеличения счетчика несколькими процессами в Solaris 2.6, а в табл. А.7 и на рис. А.6 — в Digital Unix 4.0B. Результаты похожи на полученные для потоков, однако в Solaris 2.6 теперь получаются одинаковые результаты для первых двух типов семафоров. Мы приводим на графике только первое значение для fcntl, поскольку последующие слишком велики. Как отмечалось в разделе 7.2, Digital Unix 4.0B не поддерживает атрибут PTHREAD_PROCESS_SHARED, поэтому мы не можем измерить скорость работы взаимных исключений в этой системе. Для семафоров Posix в Digital Unix 4.0B опять наблюдаются аномалии. 


Рис. А.5. Время увеличения счетчика в разделяемой памяти (Solaris 2.6)


Рис. А.6. Время увеличения счетчика в разделяемой памяти 

Таблица А.6. Время увеличения счетчика в разделяемой памяти для Solaris 2.6 (в секундах) 

Кол-во процессов Взаимное исключение Posix Блокировка чтения-записи Семафор Posix в памяти Именованный семафор Posix Семафор System V Семафор System V с UNDO Блокировка записей fcntl
1 0,8 1,6 13,6 14,3 17,3 22,1 90,7
2 1,6 3,9 29,2 29,2 34,9 41,6 244,5
3 2,3 6,4 41,6 42,9 54,0 60,1 376,4
4 3,1 12,2 57,3 58,8 72,4 81,9 558,0
5 4,0 20,4 70,4 73,5 87,8 102,6 764,0

Таблица А.7. Время увеличения счетчика в разделяемой памяти для Digital Unix 4.0B (в секундах)

Количество процессов Семафор Posix в памяти Именованный семафор Posix Семафор System V Семафор System V с UNDO Блокировка записей fcntl
1 12,8 12,5 30,1 49,0 98,1
2 664,8 659,2 58,6 95,7 477,1
3 1236,1 1269,8 96,4 146,2 1785,2
4 1772,9 1804,1 120,3 197,0 2582,8
5 2179,9 2196,8 147,7 250,9 3419,2

Оглавление книги


Генерация: 0.076. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз