ПРИЛОЖЕНИЕ А Измерение производительности

ПРИЛОЖЕНИЕ А

Измерение производительности

А.1. Введение

В основной части книги мы перечислили шесть средств передачи сообщений:

? неименованные каналы (pipes);

? именованные каналы (FIFO);

? очереди сообщений Posix;

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

? двери;

? SunRPC.

Кроме того, мы указали пять типов средств синхронизации:

? взаимные исключения и условные переменные;

? блокировки чтения-записи;

? блокировка записей fcntl;

? семафоры Posix;

? семафоры System V.

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

При сравнении средств передачи сообщений нас интересуют два параметра:

1. Полоса пропускания (bandwidth) — скорость передачи данных по каналу IPC. Для измерения этого параметра мы передаем огромное количество данных (миллионы байтов) от одного процесса другому. Этот параметр измеряется для различных объемов данных на операцию (например, write и read для каналов), и мы ожидаем, что полоса пропускания будет увеличиваться вместе с увеличением количества передаваемых за одну операцию данных.

2. Задержка (latency) определяется как время, которое требуется небольшому сообщению, чтобы проделать путь по каналу IPC от одного процесса к другому и обратно. Мы измеряем время задержки для сообщения размером 1 байт.

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

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

ПРИМЕЧАНИЕ

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

ПЕРЕПИСКА: Измерение интеллектов

Из книги Журнал `Компьютерра` №755 автора Журнал «Компьютерра»

ПЕРЕПИСКА: Измерение интеллектов Автор: Илья ЩуровТему номера, посвященную тестированию интеллекта, Леонид Левкович-Маслюк подготовил еще в начале лета (см. "КТ" #737), и почти сразу же мы решили, что если на нее будут интересные отзывы (а мы их ждали), то сделаем по ним


5.3.3.1 Измерение

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ ОЦЕНКА ПРОГРАММНОЙ ПРОДУКЦИИ ХАРАКТЕРИСТИКИ КАЧЕСТВА И РУКОВОДСТВА ПО ИХ ПРИМЕНЕНИЮ автора Автор неизвестен

5.3.3.1 Измерение Для измерения выбранные метрики применяются к программной продукции. Результатом являются значения в масштабах


Информация и ее измерение

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Информация и ее измерение Основная характеристика устройств памяти – это их объем. Единица измерения объема запоминающих устройств – байт (1 байт = 8 битам). Бит – это наименьший объем информации, которую может обработать компьютер. Для передачи 1 бита используется один


Измерение радиуса

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Измерение радиуса Для измерения радиуса предназначена команда DIMRADIUS. Чтобы ее активизировать с помощью ленты, щелкните на стрелке справа от кнопки Linear (Линейный) на вкладке Annotate (Аннотация) в группе Dimensions (Размеры) и выберите способ задания размеров Radius (Радиус). После


Измерение углов

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Измерение углов Для определения линейного размера AutoCAD должен располагать двумя определяющими точками. При проставлении значений углов следует указать три точки для определения углового размера: вершину и две конечные точки. Угловые размеры проставляются с помощью


Измерение расстояний и углов

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

Измерение расстояний и углов Команда DIST измеряет расстояние и угол между точками, вызывается из падающего меню Tools ? Inquiry ? Distance или щелчком на пиктограмме Distance на панели инструментов Inquiry.Запросы команды DIST: Specify first point: – указать первую точку Specify second point: – указать вторую


Измерение радиуса

Из книги Феномен науки. Кибернетический подход к эволюции автора Турчин Валентин Фёдорович

Измерение радиуса Для измерения радиуса предназначена команда DIMRADIUS. После ее запуска AutoCAD предлагает выбрать дугу или окружность. Когда вы это сделаете, AutoCAD измерит радиус дуги и выдаст запрос о расположении текстового значения размера (внутри или снаружи дуги).


Измерение углов

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Измерение углов Для определения линейного размера AutoCAD должен располагать двумя опре деляющими точками. При проставлении значений углов следует указать три точки для определения углового размера: вершину и две конечные точки. Угловые размеры проставляются с помощью


9.2. Счет и измерение

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл


ПРИЛОЖЕНИЕ В Результаты измерения производительности

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

ПРИЛОЖЕНИЕ В Результаты измерения производительности В примерах программ представлено широкое разнообразие альтернативных методик решения одних и тех же задач, как это было, например, при рассмотрении копирования файлов или преобразования текстовых файлов из


Измерение производительности

Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна Юрьевна

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


16.5. Измерение покрытия кода

Из книги автора

16.5. Измерение покрытия кода Очень полезно знать, какие части программы не были протестированы, а следовательно, нуждаются в автономных тестах. Иногда и сам инструмент для замера покрытия может обнаружить ошибки. Допустим, в программе есть предложение if, которое «должно»


Измерение расстояний и углов

Из книги автора

Измерение расстояний и углов Команда DIST измеряет расстояние и угол между точками, вызывается из падающего меню Tools ? Inquiry ? Distance или щелчком на пиктограмме Distance на панели инструментов Inquiry.Запросы команды


Измерение расстояний и углов

Из книги автора

Измерение расстояний и углов Команда DIST измеряет расстояние и угол между точками, вызывается из падающего меню Tools ? Inquiry ? Distance или щелчком на пиктограмме Distance панели инструментов Inquiry.Запросы команды DIST:Specify first point: – указать первую точкуSpecify second point – указать вторую