stringtranslate.com

Тест (вычисления)

Графическая демонстрация, работающая в качестве эталонного движка OGRE.

В вычислительной технике тест это запуск компьютерной программы , набора программ или других операций с целью оценки относительной производительности объекта, обычно путем выполнения ряда стандартных тестов и испытаний. [1]

Термин «бенчмаркинг» также часто используется для целей тщательно разработанных программ сравнительного анализа.

Бенчмаркинг обычно связан с оценкой характеристик производительности компьютерного оборудования , например, производительности процессора при операциях с плавающей запятой , но бывают обстоятельства, когда этот метод применим и к программному обеспечению . Например, тесты программного обеспечения проводятся на основе компиляторов или систем управления базами данных (СУБД).

Тесты производительности предоставляют метод сравнения производительности различных подсистем на разных архитектурах чипов/систем . Бенчмаркинг как часть непрерывной интеграции называется непрерывным бенчмаркингом. [2]

Цель

По мере развития компьютерной архитектуры становилось все труднее сравнивать производительность различных компьютерных систем, просто глядя на их характеристики. Поэтому были разработаны тесты, позволяющие сравнивать разные архитектуры. Например, процессоры Pentium 4 обычно работали на более высокой тактовой частоте, чем процессоры Athlon XP или PowerPC , что не обязательно приводило к большей вычислительной мощности; процессор с более низкой тактовой частотой может работать так же хорошо или даже лучше, чем процессор, работающий на более высокой частоте. См . BogoMips и миф о мегагерцах .

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

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

До 2000 года архитекторы компьютеров и микропроцессоров использовали для этого SPEC , хотя тесты SPEC для Unix были довольно длинными и, следовательно, громоздкими для использования в неизмененном виде.

Известно, что производители компьютеров настраивают свои системы так, чтобы они обеспечивали нереально высокую производительность в тестах производительности, которые не воспроизводятся в реальном использовании. Например, в 1980-х годах некоторые компиляторы могли обнаружить конкретную математическую операцию, используемую в хорошо известном тесте с плавающей запятой, и заменить эту операцию более быстрой математически эквивалентной операцией. Однако такое преобразование редко приносило пользу за пределами эталонных тестов до середины 1990-х годов, когда архитектуры RISC и VLIW подчеркнули важность технологии компилятора с точки зрения производительности. Компании- разработчики компиляторов теперь регулярно используют тесты производительности для улучшения не только собственных результатов тестов, но и реальной производительности приложений.

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

Учитывая большое количество доступных тестов, производитель обычно может найти хотя бы один тест, который показывает, что его система превосходит другую систему; другие системы могут показать превосходство с помощью другого теста.

Производители обычно сообщают только о тех тестах (или аспектах тестов), которые показывают их продукцию в лучшем свете. Также известно, что они искажают значимость эталонных тестов, опять же, чтобы показать свою продукцию в наилучшем свете. В совокупности эти методы называются стендовым маркетингом.

В идеале тесты должны заменять реальные приложения только в том случае, если приложение недоступно или его слишком сложно или дорого переносить на конкретный процессор или компьютерную систему. Если производительность имеет решающее значение, единственным критерием, который имеет значение, является набор приложений целевой среды.

Функциональность

Функции программного обеспечения для сравнительного анализа могут включать запись/ экспорт динамики производительности в файл электронной таблицы , визуализацию, такую ​​как рисование линейных графиков или плиток с цветовой кодировкой , а также приостановку процесса, чтобы иметь возможность возобновить его без необходимости начинать заново. Программное обеспечение может иметь дополнительные функции, специфичные для его целей, например, программное обеспечение для сравнительного анализа дисков может при необходимости запускать измерение скорости диска в определенном диапазоне диска, а не всего диска, измерять скорость чтения и задержку при произвольном доступе , иметь функцию « функция быстрого сканирования, которая измеряет скорость с помощью выборок заданных интервалов и размеров и позволяет указать размер блока данных , то есть количество запрошенных байтов на каждый запрос на чтение. [3]

Проблемы

Бенчмаркинг — дело непростое, оно часто включает в себя несколько итеративных раундов, чтобы прийти к предсказуемым и полезным выводам. Интерпретация данных сравнительного анализа также чрезвычайно сложна. Вот неполный список распространенных проблем:

Принципы бенчмаркинга

Существует семь важнейших характеристик эталонных показателей. [6] Этими ключевыми свойствами являются:

  1. Актуальность: тесты должны измерять относительно важные функции.
  2. Репрезентативность: эталонные показатели производительности должны быть широко приняты промышленностью и научными кругами.
  3. Справедливость: Все системы должны справедливо сравниваться.
  4. Повторяемость: результаты тестов можно проверить.
  5. Экономическая эффективность: эталонные тесты экономичны.
  6. Масштабируемость: эталонные тесты должны работать на системах, обладающих диапазоном ресурсов от низкого до высокого.
  7. Прозрачность: контрольные показатели должны быть простыми для понимания.

Типы эталонов

  1. Реальная программа
    • программное обеспечение для обработки текста
    • инструментальное программное обеспечение САПР
    • прикладное программное обеспечение пользователя (например: MIS)
    • Видеоигры
    • Компиляторы , создающие большой проект, например браузер Chromium или ядро ​​Linux.
  2. Бенчмарк компонентов/микробенчмарк
    • Основная процедура состоит из относительно небольшого и специфического фрагмента кода.
    • измерить производительность основных компонентов компьютера [7]
    • может использоваться для автоматического определения параметров оборудования компьютера, таких как количество регистров, размер кэша , задержка памяти и т. д.
  3. Ядро
    • содержит ключевые коды
    • обычно абстрагируется от реальной программы
    • популярное ядро: Ливерморский цикл
    • Тест linpack (содержит базовую функцию линейной алгебры, написанную на языке FORTRAN)
    • результаты представлены в Мфлоп/с.
  4. Синтетический эталон
    • Порядок программирования синтетического теста:
      • брать статистику всех типов операций из многих прикладных программ
      • получить долю каждой операции
      • написать программу на основе приведенной выше пропорции
    • Типы синтетических эталонов:
    • Это были первые стандартные компьютерные тесты общего назначения. Они не обязательно получают высокие баллы на современных конвейерных компьютерах.
  5. Тесты ввода-вывода
  6. Тесты базы данных
    • измерять пропускную способность и время отклика систем управления базами данных (СУБД)
  7. Параллельные тесты
    • используется на машинах с несколькими ядрами и/или процессорами или в системах, состоящих из нескольких машин

Общие критерии

Отраслевой стандарт (проверенный и поддающийся проверке)

Тесты с открытым исходным кодом

Тесты Microsoft Windows

Другие

Смотрите также

Рекомендации

  1. ^ Флеминг, Филип Дж.; Уоллес, Джон Дж. (1 марта 1986 г.). «Как не врать со статистикой: как правильно обобщить результаты тестов». Коммуникации АКМ . 29 (3): 218–221. дои : 10.1145/5666.5673 . ISSN  0001-0782. S2CID  1047380 . Проверено 9 июня 2017 г.
  2. ^ Грамбоу, Мартин; Леманн, Фабиан; Бермбах, Дэвид (2019). Непрерывный бенчмаркинг: использование бенчмаркинга системы в конвейерах сборки. дои : 10.1109/IC2E.2019.00039 . Проверено 3 декабря 2023 г.
  3. ^ Программное обеспечение: HDDScan, диски GNOME.
  4. ^ Кразит, Том (2003). «Переоценка эталонной тактики NVIDIA». Новости ИДГ . Архивировано из оригинала 6 июня 2011 г. Проверено 8 августа 2009 г.
  5. ^ Кастор, Кевин (2006). «Методология тестирования оборудования и сравнительного анализа». Архивировано из оригинала 5 февраля 2008 г. Проверено 24 февраля 2008 г.
  6. ^ Дай, Вэй; Берлеант, Дэниел (12–14 декабря 2019 г.). «Сравнительный анализ современного оборудования и инфраструктур глубокого обучения: обзор качественных показателей» (PDF) . Первая международная конференция IEEE 2019 по когнитивному машинному интеллекту (CogMI) . Лос-Анджелес, Калифорния, США: IEEE. стр. 148–155. arXiv : 1907.03626 . doi : 10.1109/CogMI48466.2019.00029.
  7. ^ Элиар, Андреас; Лю, Дэйк. «Сравнение сетевых процессоров» (PDF) . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  8. ^ Совет по производительности обработки транзакций (февраль 1998 г.). «История и обзор ТПК». ТПК . Совет по производительности обработки транзакций . Проверено 2 июля 2018 г.

дальнейшее чтение

Внешние ссылки