Комплексный показатель качества по методике SPEC определяется как среднегеометрическое времени выполнения программ, входящих в тестовую смесь. При этом использовалось среднее значение дли всех тестов, образуемых SPECint92 и SPECfp92. С разработкой нового поколения оптимизирующих компиляторов для RISC-процессоров консорциум SPEC в 1994 г. внес новые поправки-требования к используемым компиляторам. Тесты получили название SPECbase_int92 и SPECbase_fp92 и применялись для оценки работы в однозадачном режиме. Известно, что некоторые однопроцессорные системы способны выполнить одну задачу быстрее многопроцессорных, однако этот факт не дает полной картины интегрального поведения системы в целом, так как многопроцессорные комплексы могут выполнять больше заданий в единицу времени, поэтому в режиме многозадачности оценка производительности основана не на вычислении времени выполнения тестовой смеси, а на пропускной способности системы, измеряемой количеством заданий выполненных за единицу времени.
Если один процессор за минуту выполняет одну работу, а система из четырех процессоров делает это за две, то многопроцессорная система работает в два раза медленнее, но имеет загрузку в два раза больше, чем однопроцессорная. Загрузка находится в прямой зависимости от размера кэш-памяти, скорости шины емкости оперативной памяти.
Набор тестовых программ для оценки пропускной способности SPECrate полностью аналогичен наборам SPECint92 и SPECftp92 - этоте же программы, но размноженные на несколько одновременно запускаемых копий. Результирующее значение по методике SPECrate вычисляется по формуле:
SPECrate = число_копий * ref_const * cpu_const / общее_время.
Число одновременно выполняемых задач может выбиратьсяпроизвольным образом. Очевидное решение - число, равное количеству процессоров, однако для каждойконкретной архитектуры возможны свои особенности. Величины ref_const и cpu_const для каждого теста являются постоянными коэффициентами. Общее время - время завершения последней из всех запущенных работ.
В методике используется принцип одноразрядной загрузки (тестовая смесь SPECint92 и SPECftp92), а в качестве конечного результата выступает среднее значение по всем тестам. При работе в мультипрограммной системе может варьироваться количество запускаемых копий, а время фиксироваться по завершении выполнения последней копии. Оценки по данной методике называются SPECrate_int92 и SPECrate_ftp92.
Cоктября 1995 г. для оценки производительности процессоров, оперативной памяти и компиляторов был объявлен новый тестовый комплект, включающий SPECint95 для операций с данными целочисленного типа и SPECftp95 - для операций с данными вещественного типа. Эти тестовые наборы предъявляют следующие ограничения и требования: достаточно большой размер кода и данных, чтобы он гарантированно не размещался целиком в кэш-памяти; увеличения времени выполнения тестов с секунд до минут; реалистичность используемых фрагментов программ; применение усовершенствованного способа измерения времени; реализация более удобных инструментальных средств; стандартизация требований к компиляторам и методов вызова. Оценка систем проводится после пересчета результатов измерений по итоговому рейтингу— ранжировке систем относительно производительности базового процессора в соответствии с комплексным показателем. Подчеркивается, что задача комплексной оценки вычислительной системы в целом, включая периферийное оборудование, графическую подсистему, сетевое оборудование, ввод-вывод данных, остается за рамками тестов SPECint95 и SPECftp95.
В табл. 3.1 приведены результаты тестирования некоторых процессоров.
Таблица 3.1Результаты тестирование микропроцессоров
Микропроцессор | Разрядность | Частота, МГц | SPECint95 | SPECftp95 |
Alpha 21164 | 64 | 433 | 12,4 | 17 |
PentiumPro | 32 | 233 | 9.3 | 7.4 |
UltraSPARC | 64 | 200 | 6.5 | 11 |
Alpha 21164 | 64 | 466 | 13 | 18 |
MIPS R10000 | 64 | 275 | 12 | 24 |
UltraSPARC-II | 64 | 250 | 8.5 | 15 |
POWER2 Super | 32 | 133 | 5.5 | 15 |
Кроме собственно тестового набора комитетом SPEC разработан и инструментарий, использование которого является обязательным;
• средства оценки, основанные на вычислении среднего времени из серии запусков, исключающие внесение какого-либо дополнительного пользовательского кода или использование произвольной выборки из серии запусков тестовых программ. В отчете присутствует "базовое" время (Referencestime) — времявыполнения теста на эталонной машине, в качестве которой используется SPARCstation 10/40 в конфигурации с кэш-памятью второго уровня. В отчет включается также относительное время выполнения тестов по сравнению со временем отработки тестов на эталонной машине; Эта оценка является основной для данного набора;
• автоматическое формирование отчета, в котором должно присутствовать полное описание конфигурации тестируемой системы, операционной системы и ключей запуска компилятора.
Оценка производительности проводится по двум частным показателям:
• скорости выполнения теста с оптимизированным (SPECint_95 и SPECftp_95) и неоптимизированным (SPECint_base_95 и SPECftp_base_95) режимами компиляции;
• пропускной способности системы для многопроцессорных архитектур и/или для многозадачного режима работы в оптимизированном (SPECint_rate95 и SPECftp_rate95) и неоптимизированном (SPECint_rate_base95 и SPECftp_rate_basefp95) режимах работы.
Смесь SPECint_95 включает 8, aSPECftp_95 - 10 программ. Перечень, программ, время их выполнения на эталонной машине, прикладная область и характеризующие ее спецификации показаны в табл. 3.2. Набор целочисленных программ написан на языке Си, а для работы с плавающей арифметикой - на Фортране.
Как видно из табл. 3.2, в тестовый набор включены программы, используемые в различных прикладных областях. Это допускает проведение не только комплексного сравнения по итоговому рейтингу, но и узкоориентированного - до конкретной программе, в случае если предполагаемое использование вычислительной системы соответствует выбранной предметной области.
В комплект официальной поставки тестового набора входят исходные тексты программ тестового набора, инструментальные средства для компиляции, запуска, сравнения результатов и формирования отчета, описание правил запуска тестов и формирования отчета. В отчете указывается время прогона на тестируемой системе, относительное время по каждой программе и их файловой системе, используемые флаги и ключи.
Таблица 3.2 Описание тестовых смесей по методике SPEC
Программа | Базовое время, с | Область приложения | Спецификация задачи |
Тест SPECint_95 | |||
099. go | 4600 | Искусствен-ныйинтеллект | Игра Go - игра сама против себя |
124.m&&ksim | 1900 | Моделирова-ние | Моделирование чипа Motorola 88100 |
126. gcc | 1700 | Программиpование | Компиляция программы на Си икомпиляция в оптимизированный код для процессоров SPARC |
129.compress | 1S0O | Сжатие данных | Сжатие текстового файла размером 16 Мбайт |
130. li | 1900 | Интерпрета-ция языков | Lisp-интерпретатор |
132.ijpeg | 24D0 | Обработкаизображений | Сжатие изображений графических объектов (JPEG) с различными параметрами |
134. perl | 1900 | Shell-интер-претатор | Манипулирование текстовыми строками |
147. vortex | 2700 | Базы данных | Построение и манипулирование таблицами |
Teсm SPECftp_95 | |||
101. tomcatv | 3700 | Гидродина-мика, геометричес-кие операции | Генерация двухмерной координатной сетки преобразования вокруг произвольной области |
102. swim | 8600 | Предсказа-ниепогоды | Моделирование волной поверхности методом конечных элементов (вещественнаяарифметика с одинарной точностью) |
103. su2cor | 1400 | Квантовая физика | Вычисление массы элементарных частиц с использованием метода Монте-Карло |
104.hydro2d | 22400 | Астрофизика | Расчет межгалактических газов по уравнению Новье-Стокса |
Программа | Базовое время,с | Область приложения | Спецификация задачи |
107. mgrid | 2500 | Электромаг-нетизм | Расчет трехмерного поля потенциалов |
110.applu | 2200 | Гидродина-мика | Решение системы уравнений с частными производными |
125. turb3d | 100 | Моделиро-вание | Моделирование турбулентностей в кубическом объеме |
141. apsi | 2100 | Предсказа-ние погоды | Вычисление статистики температур, воздушных потоков и уровней загрязнения |
145. fpppp | 9600 | Квантовая химия | Отработка порождения потока электронов |
146. wave | 3000 | Электромаг-нетизм | Решение уравнения Максвелла |
Оценки SPEC важны для анализа систем, основное назначение которых быть вычислителем вообще, без детального уточнения конкретной специфики. Тестовые наборы дают сравнение по работе с целыми и с вещественными числами.
Консорциум SPEC разработал кроме этих еще несколько тестов, среди которых SDM (тест рабочей нагрузки при использовании UNIX) и SFS (тест рабочей нагрузки файлового сервера). В тесте SDM моделируется многопользовательская среда UNIX и оцениваются как работа ОС, так и производительность процессора и операции ввода-вывода. Тест SFS включает в себя один пакет 097.LADDIS, в рамках которого генерируются типовые сетевые запросы к NFS-серверу. Отчет по этому тесту содержит описание полной конфигурации и время ответа на запросы NFS.