Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gurov.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2.5 Mб
Скачать

8.2. Оценка производительности микропроцессоров на основе бенчмарков. Тестовая программа Linpack. Тестовые пакеты specCpu, bdti

Для оценки производительности МП обычно используют бенчмарки (benchmark) — тестовые программы, которые измеряют производительность при типовой рабочей нагрузке, зафиксировав которую, можно варьировать системные параметры и сравнивать производительность системы в разных конфигурациях и разные системы между собой.

Существует 3 вида тестовых программ: 1) компонентно-зависимые инструменты (Linpack и SPECcpu для универсальных МП и BDTImark для ЦСП); 2) средства оценки всей системы (набор ТРС для эмуляции коммерческих сред и SPEChpc для оценки производительности в области высокопроизводительных вычислений); 3) программы, разработанные пользователем.

Linpack – одна из первых тестовых программ, принятых IT-сообществом. Она измеряет время и количество операций при решении плотной СЛАУ методом Гаусса. Обычно применяли версию Linpack с матрицей 100 х 100. Основа Linpack 100 х 100 — подпрограмма, умножающая вектор на константу и добавляющая его к другому вектору. На каждой итерации цикла выполняются 2 операции с плавающей точкой (умножение и сложение) и 3 операции с памятью (2 чтения и запись).

Когда кэши МП увеличились настолько, что смогли полностью вмещать все данные программы, оценки, получаемые с помощью нее, перестали быть полезными. Следующая версия – Linpack 1000 х 1000 (решение с помощью любого метода). Она дает верхний предел для производительности операций FPU и может выполняться на нескольких ядрах/процессорах, служа для оценки качества распараллеливания.

Тесты SPECcpu. В конце 1980-х годов был сформирован Консорциум по оценке производительности систем (Systems Performance Evaluation Cooperative — SPEC), куда вошли ведущие компании в области разработки МП, компьютеров и ПО. Периодически выпускаются новые версии тестов SPEC, а старые таблицы результатов пересчитываются — опять же, из-за локализации тестов полностью в кэше. Результаты даются относительно эталонных машин.

В состав SPECcpu входят реальные приложения из различных областей, покрывающие покрывали различные характеристики МП. Исходники SPECcpu имеют большой объем, а время прогона тестов составляет много часов.

SPECcpu состоит из групп тестов: CINTcpu для оценки производительности на целочисленных операциях и CFPcpu — на операциях с плавающей точкой. Буква «C» в названиях тестов означает, что они являются «компонентными», в отличие от тестов производительности системы в целом. Результаты отдельных тестов в конце усредняются.

Тесты могут запускаться в 4-х вариантах, определяемых способами компиляции программ и организации вычислений. С метрикой «base» тесты компилируются с обычной оптимизацией, а без нее — с наилучшей из возможных. Метрика «rate» позволяет оценить суммарный объем вычислений, который может быть выполнен за определенное время (скажем, при одновременном запуске нескольких копий теста на многопроцессорной системе). Без приставки «rate», оценивается просто «скорость» вычислений.

Ключевой параметр при выборе DSP — быстродействие. Чаще всего пользуются оценками компании BDTI — Berkeley Design Technology, inc., которые учитывают быстродействие, эффективность памяти, энергопотребление и т. д. В состав тестов (последняя версия— BDTImark2000) входят 5 пакетов. Главную роль в оценке DSP играет тест BDTI DSP Kernel Benchmark, который включает 12 тестовых программ для ключевых алгоритмов обработки. Остальные пакеты ориентированы на оценку работы в конкретных областях: обработка видеоданных, телекоммуникационные устройства и т. д.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]