Система тестов SPEC


Что такое SPEC?

SPEC (Standard Performance Evaluation Corporation) - это корпорация, созданная в 1988 году, объединяющая ведущих производителей вычислительной техники и программного обеспечения. SPEC имеет целью разработку и стандартизацию методов оценки производительности современных компьютеров. Разработанные SPEC тестовые пакеты являются де-факто стандартами для оценки производительности современных микропроцессоров, компьютеров и системного ПО.

SPEC выполняет две основные функции:

  1. Разрабатывает тестовые пакеты.
  2. Собирает и публикует официальноые результаты тестов.

Кто входит в SPEC?

Полными членами SPEC являются следующие компании: 3Dlabs, Advanced Micro Devices (AMD), Alpha Processor Inc., Amdahl, ATI Research, Auspex Systems, Bull S.A., Compaq, Critical Path, Dell Computer, Diamond Multimedia Systems, Electronic Data Systems, ELSA AG, EMC, Evans & Sutherland, Fujitsu America, Fujitsu Limited, Fujitsu Siemens, Hewlett-Packard, Hitachi Data Systems, Hitachi Limited, IBM, Intel, Intergraph, Matrox Graphics, Microsoft, Mirapoint Inc, Motorola, NEC - Japan, Netscape Communications, Network Appliance, Novell, Nvidia, PixelFusion, Santa Cruz Operations, SGI, Software.com, Sun Microsystems, Tsukuba Advanced Computing Center, Unisys, Veritas Software, Ziff-Davis Publishing Inc.


Структура SPEC

SPEC состоит из следующих трех комитетов:

  • OSG (Open Systems Group) - основной комитет;
  • HPG (High Performance Group) - тесты для HPC-систем;
  • GPC (Graphics Performance Characterization Group) - тесты графики.

Какие тесты предлагает SPEC?

SPEC предлагает следующие основные продукты:

  • CPU2000 - тесты вычислительной производительности (ранее использовался пакет тестов CPU95);
  • JVM98 - виртуальной тест Java-машины;
  • HPC96 - тесты для HPC-систем: приложение сейсмической обработки SPECseis96 (Seismic), приложение вычислительной химии SPECchem96 (GAMESS) и приложение моделирования климата SPECclimate (MM5);
  • SFS97 - тест производительности сетевой файловой системы (NFS);
  • WEB99 - тест для оценки производительности HTTP-серверов;

Нас будут в основном интересовать семейства тестов CPU и HPC.


Что такое CPU2000?

CPU2000 - это тестовый пакет, разработанный подразделением Open Systems Group (OSG) компании System Performance Evaluation Corp. (SPEC) для оценки производительности микропроцессоров (ЦП) и вычислительных систем. Пакет CPU2000 из двух групп тестов - CINT2000 для оценки производительности на целочисленных операциях и CFP2000 для оценки производительности на операциях с плавающей точкой. Буква "С" в названиях тестов означает, что тесты являются "компонентными" (component-level), в отличие от тестов производительности системы в целом. Группы тестов CINT2000 и CFP2000 ориентированы на оценку работы микропроцессоров, подсистемы кэш-памяти и оперативной памяти, а также компиляторов. Эти тесты не имеют отношения к оценке производительности сети, дисков или графической подсистемы.

Что требуется от пользователя для установки CPU2000?

Для установки пакета CPU2000 требуется компьютер с операционной системой UNIX или Windows NT, компиляторами языков C/C++ и Fortran 90. Требуется не менее 1 GB свободного места на жестком диске для установки пакета и не менее 256 MB оперативной памяти для запуска тестов.

Сколько это стоит?

Согласно информации на Web-сайте SPEC, полная цена на пакет CPU2000 версии 1.0 составляет $500, цена для учебных организаций - $125. Пакет поставляется на диске CD-ROM.

Какие тесты входят в пакет CPU2000?

В набор CINT2000 входят 11 тестовых приложений, написанных на языке С, и один тест (252.eon) на С++.

Название Краткое описание задачи
164.gzip Утилита сжатия данных (gzip)
175.vpr Приложение для расчета FPGA-кристаллов
176.gcc Компилятор C
181.mcf Приложение для решения задачи потока минимальной стоимости в сети
186.crafty Программа для игры в шахматы
197.parser Синтаксический разбор для естественного языка
252.eon Трассировка лучей
253.perlbmk Интерпретатор языка Perl
254.gap Вычислительная задача из теории групп
255.vortex Объектно-ориентированная база данных
256.bzip2 Утилита сжатия данных (bzip2)
300.twolf Задача позиционирования и маршрутизации

В набор CFP2000 входят 14 тестовых приложений, из которых 6 написаны на языке Fortran 77, 4 на языке Fortran 90 и 4 на С++.

Название Краткое описание задачи
168.wupwise Задача квантовой хромодинамики
171.swim Гидродинамическая задача моделирования для "мелкой" воды
172.mgrid Многосеточная решалка для трехмерного потенциального поля
173.applu Решение параболических/эллиптических дифференциальных уравнений
177.mesa Трехмерная графическая библиотека (Mesa3D)
178.galgel Гидродинамическая задача: анализ колебательной нестабильности
179.art Моделирование нейронной сети
183.equake Моделирование землетрясения методом конечных элементов
187.facerec Задача распознавания лиц на графических изображениях
188.ammp Задача вычислительной химии
189.lucas Задача теории чисел (проверка простоты)
191.fma3d Моделирование crash-тестов методом конечных элементов
200.sixtrack Моделирование ускорителя элементарных частиц
01.apsi Атмосферная задача с учетом температуры, ветра и загрязнений

Более подробные описания этих задач доступны на веб-сайте SPEC.

Какие результаты выдает CPU2000?

Результаты CPU2000 (CINT2000 и CFP2000) предоставляются в четырех вариантах ("метриках").

  Максимальная оптимизация Стандартная оптимизация
Время выполнения одной итерации теста SPECxx2000 SPECxx_base2000
Количество итераций за фиксированное время SPECxx_rate2000 SPECxx_base_rate2000

Здесь xx - это int или fp.

Что оценивают тесты CPU2000?

Тесты пакета CPU95 оценивают производительность как собственно процессора, так и подсистемы памяти, а также уровень оптимизации компилятора.

Что такое "base"?

Согласно философии SPEC, тесты должны компилироваться также, как пользователи будут компилировать свои программы. Метрики типа "base" (SPECint_base2000, SPECfp_base2000) соответствуют компиляции тестовых программ с некоторыми "базовыми" опциями оптимизации, одинаковыми для всех тестов в тестовом пакете. Метрики "non-base" (SPECint2000, SPECfp2000) являются необязательными и соответствуют наилучшей оптимизации, которую производитель может обеспечить для каждого конкретного теста.

Что такое "rate"?

Метрики типа "rate" (SPECint_rate2000, SPECfp_rate2000) позволяют оценить суммарный объем вычислений, который компьютер может выполнить за определенное время. То есть на SMP-компьютере позволяется запустить несколько копий одного теста и в качестве результата выдать суммарное количество итераций, выполненное всеми процессорами за определенное фиксированное время. Метрики "non-rate" (SPECint2000) оценивают просто "скорость" вычислений.

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

Разработчики тестов CPU2000 отказались от использования стандартных абсолютных единиц типа MFLOPS или MIPS. Вместо этого используются собственнные относительные единицы SPEC. Результаты "нормализуются" по отношению к аналогичным результатам на так называемой "эталонной" машине (reference system). Это рабочая станция Sun Ultra 5/10 (процессор UltraSPARC II с тактовой частотой 300 MHz). На данной машине прогон всех тестов CPU2000 занимает примерно двое суток (48 часов).

Как вычисляются совокупные показатели производительности?

Тестовые наборы CINT2000 и CFP2000 состоят соответственно из 12 и 14 независимых тестовых программ, каждая из которых дает отдельный показатель производительности. Для усреднения результатов по отдельным тестам в данном тестовом наборе используется среднее геометрическое от нормализованных результатов всех тестов.

Как убедиться в стабильности результатов?

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

Как вычисляются показатели SPEC?

Показатель SPECint2000, например, вычисляется следующим образом:

SPECint2000 = RefTime / MeasuredTime,

где RefTime - время исполнения теста на эталонной машине, а MeasuredTime - время исполнения на тестируемой машине. Таким образом, смысл этого показателя - в относительном ускорении по сравнению с эталонной машиной.

Показатель SPECint_rate2000 вычисляется следующиям образом:

SPECint_rate2000 = N * (RefTime / MeasuredTime) * (60*60*24/RefJobTime) ,

где N - число запущенных копий (итераций) теста, 60*60*24 - это число секунд в сутках, а величина RefJobTime принята равной 9600.

Какие системы являются лидерами по CPU2000?

Следующие три системы в настоящий момент (25 мая 2000 г.) являются лидерами по показателю SPECint_2000 среди однопроцессорных систем:

СистемаПроцессорSPECint2000MSPECint_base2000
Compaq AlphaServer DS20 Alpha 21264A/667MHz 444 424
Compaq AlphaServer ES40 Alpha 21264A/667MHz 433 413
Intel VC820 Pentium III/1GHz 410 407

Следующие три системы в настоящий момент являются лидерами по показателю SPECfp_2000 среди однопроцессорных систем:

СистемаПроцессор SPECfp2000 SPECfp_base2000
Compaq AlphaServer DS20EAlpha 21264A/667MHz577514
Compaq AlphaServer ES40 Alpha 21264A/667MHz 562 500
Compaq AlphaServer DS20Alpha 21264/500 MHz 422 383

Система на базе Pentium III/1GHz по производительности на операциях с плавающей точкой занимает только 10-е место с показателями 284/273. Таким образом, бесспорным лидером по тестам CPU2000 является процессор Alpha 21264A/667 MHz.

Лидеры по показателям "Rate" среди многопроцессорных систем

По показателям SPECint_rate2000 и SPECfp_rate2000 лидерами на одновременно целочисленных операциях и операциях с плавающей точкой являются следующие три многопроцессорные системы:

Система Процессор Число ЦП CFP2000 (rate) CINT2000 (rate)
HP 9000 Model N4000 PA-8600/552MHz8 23.0 32.7
HP 9000 Model N4000 PA-8600/552MHz 4 14.4 17.0
SGI 2200 R12000/400MHz 4 13.2 15.4

Какие тесты входили в пакет CPU95?

Предшественником пакета CPU2000 является пакет CPU95.

Тесты набора CINT95 - группа тестов целочисленной арифметики, написаных на языке C.

Название Краткое описание
099.go игра в Го
124.m88ksim эмуляция микропроцессора Motorola 88100
126.gcc оптимизирующий компилятор GCC версии 2.5.3
129.compress Программа сжатия compress из Unix, работает полностью в оперативной памяти
130.li тест, основанный на интерпретаторе Xlisp
132.ijpeg JPEG - компрессия/декомпрессия изображений в оперативной памяти
134.perl Интерпретатор языка Perl
147.vortex Объектно-ориентированная СУБД Vortex.

Тесты набора CFP95

Группа тестов вещественной арифметики, написаных на языке Fortran-77.

Название Краткое описание
101.tomcatv Программа генерации сеток
102.swim Решение сеточным методом системы дифференциальным уравнений, описывающих состояние водной поверхности
103.su2cor Метод Монте-Карло в задаче вычисления масс элементарных частиц
104.hydro2d Решение гидродинамических уравнений Навье-Стокса
107.mgrid Решение дифференциальных уравнений трехмерного потенциального поля
110.applu Решение параболических и эллиптических дифференциальных уравнений
125.turb3d Моделирование турбулентных течений жидкости
145.fpppp Тест из набора квантово-химических тестов Gaussian
146.wave5 Решение волновых уравнений Максвелла

HPC96

SPEChpc96 включает в себя модельные приложения из двух прикладных области: обработка сейсмических данных (SPECseis96) и вычислительная химия (SPECchem96). В версии 1.10 в пакет включено также приложение моделирования климата (SPECclimate). Приложения написаны на языке Fortran-77 с отдельными модулями, написанными на C. Приложения распараллелены в модели передачи сообщений с помощью PVM.

Название Краткое описание
SPECseis96 приложение Seismic, разработанное Atlantic Richfield Corp. (ARCO) и используемое при обработке сейсмической информации для поиска залежей нефти и газа
SPECchem96 распространенное приложение вычислительной химии GAMESS (General Atomic and Molecular Electronic Structure System)
SPECclimate приложение моделирования климата MM5

Другие информационные материалы по системе тестов SPEC


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100