Главная страница  Взаимодействие нетривиальных процессов 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 [ 153 ] 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186

А.2. Результаты

Сведем вместе результаты, полученные в этом приложении. Данный раздел может использоваться как справочник при чтении книги.

Для проведения измерений использовались две системы: SparcStation 4/110 под управлением Solaris 2.6 и Digital Alpha (DEC 3000 шо(1е1 300, Pelican) под управлением Digital Unix 4.0В. В файл /etc/system системы Solaris 2.6 были добавлены следующие строки:

set msgsys:msginfo msgmax = 16384 set msgsys:msg1nfo msgmnb = 32768 set msgsys:msginfo msgseg = 4096

Это дает возможность отправлять сообщения размером 16 384 байт в очередь сообщений Systeffl V (табл. А.2). Те же изменения осуществляются в Digital Unix 4.0В введением следующих строк с помощью программы sysconf 1д:

ipc:

msg-max = 16384 msg-mnb = 32768

Результаты измерения полосы пропускания сообщений

В табл. А.2 приведены результаты измерений на компьютере Sparc под управлением Solaris 2.6, а на рис. А.1 - график этих результатов.

Как мы и предполагали, полоса пропускания увеличивается с размером сообщения. Поскольку во многих реализациях очередей сообщений Systeffl V ограничение на размер сообщения, установленное в ядре, достаточно мало (раздел 3.8), максимальный размер сообщения в нашей программе имеет значение 16 384 байт.

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

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

ПРИМЕЧАНИЕ -

Программы этого приложения, используемые для измерения производительности средств IPC, основаны на пакете Imbench [15]. Этот пакет содержит набор тестов, измеряющих множество параметров системы (скорость переключения контекста и т. п.), а не только производительность средств IPC. Исходный код пакета доступен по адресу http: www.bitmover.com/lmbench.

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



Уменьшение полосы для сообшений размером около 4096 байт в Solaris 2.6, возможно, связано с настройкой внутренних ограничений ядра. Для сравнения с [24] мы приводим результаты аналогичных измерений для сокета TCP и доменного сокета Unix. Эти две величины бьши получены с помошью программ пакета 1 mbench для сообшений размером 65 536 байт. При измерении быстродействия сокета TCP оба процесса выполнялись на одном узле.

Результаты измерения задержки

в табл. А.1 приведены значения задержки в Solaris 2.6 и Digital Unix 4.0В.

Таблица А.1. Задержка при передаче сообщения размером 1 байт (в микросекундах)

Канал Очередь Очередь Двери

SunRPC SunRPC Сокет

Сокет

Домен-

сооб-

сооб-

щений

щений

сокет

Posix

System V

Solaris 2.6 324 584

260 121

1891

1677

DUnix4.0B 574 995

1648

1373

В разделе А.4 мы приведем листинги программ, использованных для получения первых четырех величин, а оставшиеся три получены с помощью пакета 1 mbench. При измерении скорости работы TCP и UDP оба процесса находились на одном узле.


очередьсообщенийРо5:>с . .

сокет TCP

доменный сокет Unix

очередь сообщений System V sun RPC OOP..

Sun RPC TCP

Г -16

П I I

1024 4096 8192 16384

32768

65536

размер сообщения~(ба1ТГ) Рис. А.1. Полоса пропускания средств передачи сообщений в Solaris 2.6,



Таблица А.2. Полоса пропускания для pa3Hbii< типов сообщений в Solaris 2.6 (Мбайт/с)

Размер

Канал

Очередь

Очередь

Двери

Sun RPC

Sun RPC

Сокет Домен-

сообщения

сооб-

сооб-

ТСР ный

щений

щений

сокет

Posix

System V

1024

2048

10,0

4096

12,6

8192

12,7

10,2

14,4

16 384

13,1

11,6

16,8

32 768

13,2

13,4

11,4

65 536

13,7

14,4

12,2

13,2 11,3

22 21 20 19 18 17 16 I 15 I 14

1 12 I 11 >< 10 R9 8 7 6 5 4 3 2 1 О

очередь сообщений System V

доменный сокет Unix


ТСР-сокет

SunRPC UDP

------ Sun RPC TCP

m I I

1024 4096 8192 16384

32768

размер сообщения (байт)

г-22 -21 -20 -19 -18

- 17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2

- 1 i-O

65536

Рис. А.2. Полоса пропускания для различных средств передачи сообщений (Digital Unix 4.0В)

Таблица А.З. Полоса пропускания для различных типов сообщения в Digital Unix 4.0В (Мбайт/с)

Размер

Канал

Очередь

Очередь

Sun RPC

Sun RPC

Сокет

Домен-

сообщения

сообщений

сообщений

Posix

System V

сокет

1024 ,

12,7

2048

15,2

15,0



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 [ 153 ] 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186

© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.