Лекция № 2.2. Оценка производительности вычислительных систем.

Общие замечания.

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

Единицей измерения производительности компьютера является время: компьютер, выполняющий тот же объем работы за меньшее время является более быстрым. Время выполнения любой программы измеряется в секундах. Часто производительность измеряется как скорость появления некоторого числа событий в секунду, так что меньшее время подразумевает большую производительность.

MIPS.

Одной из альтернативных единиц измерения производительности процессора (по отношению к времени выполнения) является MIPS – (миллион команд в секунду). Имеется несколько различных вариантов интерпретации определения MIPS.

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

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

MFLOPS.

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

Ясно, что рейтинг MFLOPS зависит от машины и от программы. Этот термин менее безобидный, чем MIPS. Он базируется на количестве выполняемых операций, а не на количестве выполняемых команд. По мнению многих программистов, одна и та же программа, работающая на различных компьютерах, будет выполнять различное количество команд, но одно и то же количество операций с плавающей точкой. Именно поэтому рейтинг MFLOPS предназначался для справедливого сравнения различных машин между собой.

Наиболее часто MFLOPS, как единица измерения производительности, используется при проведении контрольных испытаний на тестовых пакетах.

LINPACK – этот пакет фортран-программ для решения систем линейных алгебраических уравнений.

Тесты SPEC.

В настоящее время имеется два базовых набора тестов SPEC.

Набор тестов CINT95, измеряющий производительность процессора при обработке целых чисел, состоит из шести программ, написанных на языке Си и выбранных из различных прикладных областей: теории цепей, интерпретатора языка Лисп, разработка логических схем, упаковка тестовых файлов, электронные таблицы и компиляция программ.

Набор тестов CFP95, измеряющий производительность процессора при обработке чисел с плавающей точкой, состоит из 14 программ, также выбранных из различных прикладных областей: разработка аналоговых схем, моделирование методом Монте-Карло, квантовая химия, оптика, робототехника, квантовая физика, астрофизика, прогноз погоды и другие научные и инженерный задачи. Две программы из этого набора написаны на языке Си, а остальные 12 – на Фортране. В пяти программах используется одинарная, а в остальных – двойная точность.

Результаты прогона каждого индивидуального теста их этих двух наборов выражается отношением времени выполнения одной копии теста на тестируемой машине к времени ее выполнения на эталонной машине. В качестве эталонной машины используется Sun SPARCstation 10/40 с 128 MB. SPEC публикует результаты прогона каждого отдельно теста, а также две составные оценки: SPECint95 – среднее геометрическое 6 результатов индивидуальных тестов из набора CINT95 и SPECfp95 – среднее геометрическое 14 результатов индивидуальных тестов из набора CFP95.

Составные оценки SPECint95 и SPECfp95 достаточно хорошо характеризуют производительность процессора и системы памяти при работе в однозадачном режиме, но они совершенно не подходят для оценки производительности многопроцессорных т однопроцессорных систем, работающих в многозадачном режиме.

SPEC предложила в качестве единицы измерения производительности многопроцессорных систем

Тесты TPC.

По мере расширения использования компьютеров при обработке транзакций в сфере бизнеса все более важной становится возможность справедливого сравнения именно систем между собой, а не процессоров. С этой целью в 1988 году был создан Совет по оценке производительности обработки транзакций (TPC – Transaction Processing Performance Council).

Следует отметить, что как и любой другой тест, ни один тест TPC не может измерить производительность системы, которая применима для всех возможных сред обработки транзакций, но эти тесты действительно могут помочь пользователю справедливо сравнивать похожие системы. Однако, когда пользователь делает покупку или планирует решение о покупке, он должен понимать, что никакой тест не может заменить его конкретную прикладную задачу.

Тест TPC-C.

Тестовый пакет TPC-C моделирует прикладную задачу обработки заказов. Он моделирует достаточно сложную систему, которая должна управлять приемом заказов, учетом товаров и распространением товаров и услуг. Тест TPC-C осуществляет тестирование всех основных компонентов системы: терминалов, линий связи, ЦП, систем расчета и баз данных.

TPC-C требует, чтобы выполнялись пять типов транзакций:

- новый заказ, вводимый с помощью сложной экранной формы;

- простое обновление базы данных, связанное с платежом;

- простое обновление баз данных, связанное с поставкой;

- справка о состоянии заказов;

- справка по учету товаров.

База данных TPC-C основана на модели оптового поставщика с удаленными районами и товарными складами. База данных содержит девять таблиц: товарные склады, район, покупатель, заказ, порядок заказов, новый заказ, статья счета, складские запасы и история.

Обычно публикуются два результата. Один из них, tpm-C, представляет пиковую скорость выполнения транзакций (выражается в количестве транзакций в минуту). Второй результат, $/tpm-C, представляет собой нормализованную стоимость системы. Стоимость системы включает все аппаратные средства и программное обеспечение, используемые в системе, плюс стоимость обслуживания в течение пяти лет.

Тест TPC-D предназначен для оценки производительности систем принятия решений, для оценки систем масштаба предприятия.

Наши рекомендации