Тесты SPEC
Среди известных тестов, используемых сегодня для оценки производительности вычислительных систем, можно назвать тесты SPEC. Разработчиком тестов SPEC является Standard Performance Evaluation Corporation. Это некоммерческий консорциум, в который входят производители компьютеров и программного обеспечения, учебные и научные организации. Основная задача консорциума состоит в разработке тестов для самых разных программно-аппаратных сред, моделирующих реальные рабочие нагрузки. В состав тестового набора входят тесты вычислительного характера, тесты скорости работы компьютера в качестве Web-сервера, почтового сервера, тесты графических подсистем и многие другие. В их состав включен и пакет SPEChpc, призванный отразить оценку производительности многопроцессорных компьютеров. Состав тестов часто меняется, что вызвано желанием консорциума оперативно отражать последние достижения в развитии компьютеров.
Так уж сложилось, что тесты SPEC, в основном, используются для оценки производительности традиционных компьютеров. Здесь у разработчиков есть большой опыт, задача более обозримая, разработаны методики.
Одна из серьезных проблем многих тестов состоит в аккуратном подборе размера задачи.
Однако, что бы ни говорили создатели тестовых пакетов и программ, скепсис по поводу получаемых с их помощью результатов у пользователей пока остается. Во многом это связано с тем, что тестирование не дает полного представления о работе компьютера в различных режимах. Любой тест приоткрывает лишь часть общей картины. Результат его работы можно условно считать точкой в пространстве, описывающем поведение компьютера в целом. Если рассматривается набор тестов, то в пространстве будем иметь несколько точек. Ясно, что кардинально это проблему не решает. Объем полученной выборки не может быть сравним со всем многообразием вариантов поведения тестируемого компьютера на реальных программах и наборах данных.
Хорошим вариантом для описания свойств компьютера можно было бы считать возможность выделения в таком пространстве некоторого набора характерных опорных точек. Но что считать характерной точкой и как интерполировать поведение компьютера на конкретной программе по значениям базовых параметров в выделенных характерных точках? Другой способ описания можно попытаться найти через определение функциональной зависимости свойств компьютера от параметров его программно-аппаратной среды. Однако в аналитическом виде достаточно точные оценки получить крайне сложно.
Поскольку никакое одно число или даже набор чисел не будут универсальной характеристикой производительности компьютера, то при необходимости получения истинной картины о свойствах компьютера идут по пути комплексного тестирования программно-аппаратной среды в целом. Определяют параметры работы компьютера на большом наборе программ, имеющих различные вычислительно-коммуникационные характеристики. Такая работа, как правило, тяжела и трудоемка, но другого пути в настоящий момент времени нет. В зависимости от целей тестирования выделяют и используют следующие уровни:
базовый уровень программного обеспечения:тестирование эффективности работы операционной системы, компиляторов и систем программирования. Этот уровень рассматривается далеко не всегда, но нужно учесть, что все последующие действия будут "видны" через призму данного уровня (если компилятор плох, то хороших результатов не будет ни на одном другом уровне);
базовый уровень аппаратуры:определение скорости выполнения элементарных операций, скорости обмена между различными уровнями иерархии памяти и объемы доступной памяти на каждом уровне (определение объемов важно для последующей интерпретации результатов);
уровень операций ввода-вывода:анализ эффективности различных режимов
чтения и записи данных при работе с внешними устройствами, определение скорости выполнения основных операций с файлами и целесообразности выполнения асинхронных операций ввода-вывода;
уровень модельных приложений:определение характеристик компьютера при выполнении простых программ различной структуры;
уровень приложений:комплексная проверка характеристик компьютера при выполнении реальных программ.
Ясно, что задача определения производительности компьютеров сложна и на сегодня еще далека от своего решения. Слишком много параметров, зачастую противоречивых, приходится учитывать при конструировании реальных тестовых программ. Состав операций, коммуникационный профиль, требуемый размер памяти на каждом уровне иерархии, простота переноса между вычислительными платформами, время работы, базовые вычислительные конструкции, простота интерпретации результатов — все это, как и многое другое, должно приниматься в расчет авторами тестов.
Дата добавления: 2015-09-29; просмотров: 749;