Информационно-аналитический портал
Высокопроизводительные
вычисления на WINDOWS-кластерах
   

 
 
  Главная
  Новости
  Как создать Windows-кластер
  Компьютеры
  Архитектура  
  Тестирование производительности  
  Windows-кластеры  
  Системы управления Windows-кластерами  
  Персональные суперкомпьютеры  
  Технологии
  Параллельное программирование
  Библиотеки, пакеты, приложения
  Метакомпьютинг, GRID
  Обучение
  Исследования
 
  
Логин:    
Пароль:    
Запомнить:
 Забыли пароль? Регистрация 
  
 
Microsoft HPC RussiaКомпьютерыТестирование производительности
 

Тестирование производительности

Способы тестирования произвобительности кластерных систем

Тестирование совершенно необходимо и его результаты явно или опосредованно используются на всех этапах жизненного цикла вычислительной кластерной системы. Ниже, приведены некоторые требования, которым должны удовлетворять тесты, для того чтобы они могли быть использованы в заявленных целях:

  • Полнота. Тест должен оценивать только те параметры, для оценки которых создавался. Выдаваемые результаты должны быть непротиворечивыми, лаконичными и легкими для понимания.
  • Легкость в использовании.
  • Масштабируемость. Тест должен быть доступен для большого числа разного по вычислительной мощности аппаратного обеспечения.
  • Переносимость. Тест должен быть доступен для большого числа разного по архитектуре аппаратного обеспечения. Основной чертой переносимости является язык программирования, и, соответственно, наличие компилятора под данную платформу.
  • Репрезентативность. Вне зависимости от платформы тест должен загружать систему аналогично используемыми пользователями приложениями. Результаты сходных по структуре тестов должны быть сопоставимы.
  • Доступность. Тест должен быть доступен, в том числе и его исходный код. Однако если тест распространяется вместе со своими исходными кодами, то при представлении результатов должна быть указанна версия и все внесенные изменения.
  • Воспроизводимость. При необходимости должна быть возможность повторить тест с получением аналогичных результатов. Для этого при публикации результатов необходимо предоставлять исчерпывающую информацию о программном и аппаратном обеспечении.

Все тестовые программы, удовлетворяющие указанным требованиям (а их в настоящий момент существует множество) можно классифицировать следующим образом:

  • «Игрушечные» тесты (toy benchmarks) — маленькие, длиной в несколько сот строк исходного кода. Как правило, такие тесты представляют собой решение какой-либо широко известной математической задачи – быстрая или пирамидальная сортировка, перемешивание и т.д.
  • Микротесты (microbenchmarks) — специализированные, ориентированные на определение какой-то одной из основных количественных характеристик аппаратного обеспечения – среди тестируемых характеристик может быть:
    • производительность центрального процессора;
    • производительность и пропускную способности локальной оперативной памяти;
    • скорость базовых операции ввода/вывода;
    • производительность и пропускная способность коммуникационной среды.
      В это группу входят тесты, оценивающие производительность операций, требующих синхронизации, и тесты операционной системы (переключение контекстов, системные вызовы и создание процессов). Часто микротесты объединяются в пакеты тестов.
  • Ядра (kernels) — это фрагменты кода, взятые из реальных приложений. Поскольку при выполнении приложения проводят большую часть времени именно в этих фрагментах, ядра позволяют достаточно объективно определить скорость исполнения реальной программы на разных платформах.
  • Синтетические тесты (synthetic benchmarks) оценивают производительность на основе набора большого количества показателей и не привязаны к какому-либо отдельному приложению.
  • Приложения (application benchmarks) — наиболее часто используемые программы для реализации тех или иных реальных задач. К этому же классу  можно отнести и псевдоприложения. Псевдоприложения – это программы, созданные на основе реальных приложений, но адаптированные по разным причинам специально для задач тестирования.
  • Пакеты тестов (benchmarks suites) — коллекции различных типов тестов с преобладанием приложений.

Применительно к тестированию кластерных систем в настоящий момент традиционно преобладают тесты, относящиеся к классу ядер (Linpack, NAS Parallel Benchmarks), приложений (NAS Parallel Benchmarks) и некоторых микротестов, как правило, тестирующих коммуникационную составляющую (Netperf, тесты лаборатории параллельных информационных технологий НИВЦ МГУ). Поэтому, в силу своей широкой распространенности и полноты охвата, в дальнейших разделах будут рассматриваться именно эти тесты.


<< вернуться  |   Документ от: 25.11.2007 17:16
 

Новости

26.12.2007
25.12.2007
24.12.2007
17.12.2007
17.12.2007
 

   

© ННГУ, Центр компетенции в области высокопроизводительных вычислений на основе технологий Майкрософт, 2007