Система тестов SPEC
Что такое SPEC?
SPEC (Standard Performance Evaluation Corporation) - это корпорация, созданная в 1988 году, объединяющая ведущих производителей вычислительной техники и программного обеспечения. SPEC имеет целью разработку и стандартизацию методов оценки производительности современных компьютеров. Разработанные SPEC тестовые пакеты являются де-факто стандартами для оценки производительности современных микропроцессоров, компьютеров и системного ПО.
SPEC выполняет две основные функции:
- Разрабатывает тестовые пакеты.
- Собирает и публикует официальноые результаты тестов.
Кто входит в 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, например, вычисляется следующим образом:
где RefTime - время исполнения теста на эталонной машине, а MeasuredTime - время исполнения на тестируемой машине. Таким образом, смысл этого показателя - в относительном ускорении по сравнению с эталонной машиной.
Показатель SPECint_rate2000 вычисляется следующиям образом:
где N - число запущенных копий (итераций) теста, 60*60*24 - это число секунд в сутках, а величина RefJobTime принята равной 9600.
Какие системы являются лидерами по CPU2000?
Следующие три системы в настоящий момент (25 мая 2000 г.) являются лидерами по показателю SPECint_2000 среди однопроцессорных систем:
Система | Процессор | SPECint2000M | SPECint_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 DS20E | Alpha 21264A/667MHz | 577 | 514 |
Compaq AlphaServer ES40 | Alpha 21264A/667MHz | 562 | 500 |
Compaq AlphaServer DS20 | Alpha 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/552MHz | 8 | 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
- VLSI Microprocessors: Top SPEC Performance - данные по SPEC-показателям современных VLSI-микропроцессоров.
- Новое поколение тестов SPEC (Д.Французов, Д.Волков, "Открытые системы", 1996 г.)
© Лаборатория Параллельных информационных технологий НИВЦ МГУ