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

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

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

Тесты предоставляют метод сравнения производительности различных подсистем на разных архитектурах микросхем / систем.

Наборы тестов представляют собой тип системы, предназначенный для оценки правильность программного обеспечения.

Цель

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

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

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

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

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

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

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

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

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

Вызовы

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

  • Продавцы обычно настраивают свои продукты специально для стандартных отраслевых тестов. Norton SysInfo (SI) особенно легко настроить, поскольку он в основном ориентирован на скорость выполнения нескольких операций. Будьте предельно осторожны при интерпретации таких результатов.
  • Некоторых поставщиков обвиняют в «мошенничестве» при тестировании - выполнении действий, которые дают гораздо более высокие результаты тестов, но ухудшают реальную вероятную рабочую нагрузку.[2]
  • Многие тесты полностью сосредоточены на скорости вычислительная производительность, пренебрегая другими важными функциями компьютерной системы, такими как:
    • Качество обслуживания, помимо безупречной производительности. Примеры неизмеримых качеств обслуживания включают безопасность, доступность, надежность, целостность выполнения, удобство обслуживания, масштабируемость (особенно способность быстро и без прерывания работы добавлять или перераспределять емкость) и т. Д. Часто существуют реальные компромиссы между этими качествами обслуживания и между ними. и все они важны для бизнес-вычислений. Совет по производительности обработки транзакций Спецификации эталонных тестов частично решают эти проблемы, указывая КИСЛОТА тесты свойств, правила масштабируемости базы данных и требования к уровню обслуживания.
    • Как правило, тесты не измеряют Общая стоимость владения. Спецификации эталонного теста Совета по производительности обработки транзакций частично решают эту проблему, указывая, что метрика цена / производительность должна сообщаться в дополнение к исходной метрике производительности с использованием упрощенного ТШО формула. Однако затраты обязательно являются лишь частичными, и продавцы, как известно, устанавливают цену конкретно (и только) для эталонного теста, создавая узкоспециализированную «специальную эталонную конфигурацию» с искусственно заниженной ценой. Даже небольшое отклонение от пакета тестов приводит к гораздо более высокой цене в реальных условиях.
    • Нагрузка на оборудование (пространство, мощность и охлаждение). Когда используется больше энергии, портативная система будет иметь меньшее время автономной работы и требует более частой подзарядки. Сервер, который потребляет больше энергии и / или места, может не соответствовать существующим ограничениям ресурсов центра обработки данных, включая ограничения охлаждения. Существуют реальные компромиссы, поскольку большинству полупроводников требуется больше энергии для более быстрого переключения. Смотрите также производительность на ватт.
    • В некоторых встроенных системах, где память стоит значительных денег, лучше плотность кода позволяет значительно снизить затраты.
  • Тесты производительности поставщиков обычно игнорируют требования для разработки, тестирования и аварийное восстановление вычислительная мощность. Продавцы хотят сообщать только о том, что может потребоваться только для производственных мощностей, чтобы их первоначальная цена приобретения казалась как можно более низкой.
  • Тесты не могут адаптироваться к широко распространенным серверам, особенно с повышенной чувствительностью к сетевой топологии. Появление сеточные вычисления, в частности, усложняет бенчмаркинг, поскольку некоторые рабочие нагрузки «дружественны к сетке», а другие - нет.
  • У пользователей может быть совсем другое восприятие производительности, чем могут показывать тесты. В частности, пользователи ценят предсказуемость - серверы, которые всегда соответствуют или превосходят соглашения об уровне обслуживания. В тестах, как правило, делается упор на средние оценки (с точки зрения ИТ), а не на максимальное время отклика в худшем случаевычисления в реальном времени перспектива) или низкие стандартные отклонения (точка зрения пользователя).
  • Многие серверные архитектуры резко деградируют при высоких (почти 100%) уровнях использования - «падают с обрыва» - и тесты должны (но часто не учитывают) этот фактор. В частности, поставщики обычно публикуют тесты производительности серверов при постоянной загрузке около 80% - это нереальная ситуация - и не документируют, что происходит с системой в целом, когда спрос превышает этот уровень.
  • Многие тесты ориентированы на одно приложение или даже на один уровень приложений, исключая другие приложения. Большинство центров обработки данных сейчас внедряют виртуализация широко по разным причинам, и сравнительный анализ все еще догоняет реальность, когда несколько приложений и уровней приложений одновременно работают на консолидированных серверах.
  • Существует немного (если таковые имеются) высококачественных тестов, которые помогают измерить производительность пакетных вычислений, особенно одновременных пакетных вычислений большого объема и онлайновых вычислений. Пакетные вычисления имеет тенденцию быть гораздо более ориентированным на предсказуемость правильного выполнения долгосрочных задач до крайних сроков, таких как конец месяца или конец финансового года. Многие важные основные бизнес-процессы ориентированы на пакетную обработку и, вероятно, всегда будут такими, например, биллинг.
  • Учреждения, проводящие сравнительный анализ, часто игнорируют или не следуют основным научным методам. Это включает, помимо прочего: небольшой размер выборки, отсутствие переменного контроля и ограниченную повторяемость результатов.[3]

Принципы сравнительного анализа

Есть семь важных характеристик для тестов.[4] Эти ключевые свойства:

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

Типы тестов

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

Общие тесты

Отраслевой стандарт (прошедший аудит и проверку)

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

  • Многопользовательский тест AIM - состоит из списка тестов, которые могут быть смешаны для создания «смеси нагрузки», которая имитирует определенную функцию компьютера в любой ОС типа UNIX.
  • Бонни ++ - тест файловой системы и жесткого диска
  • BRL-CAD - кросс-платформенный архитектурно-независимый тестовый пакет, основанный на производительности многопоточной трассировки лучей; базируется на VAX-11/780; и используется с 1984 года для оценки относительной производительности ЦП, различий компиляторов, уровней оптимизации, согласованности, различий в архитектуре и различий операционных систем.
  • Коллективные знания - настраиваемая кроссплатформенная структура для краудсорсинга сравнительного анализа и оптимизации пользовательских рабочих нагрузок (например, глубокое обучение ) через оборудование, предоставленное волонтерами
  • Coremark - Тест встроенных вычислений
  • Тест хранилища данных - продолжение RDF-теста LDBC Social Network Benchmark от проекта Hobbit[12]
  • Тестовый пакет DEISA - Тест научных приложений HPC
  • Дристон - производительность целочисленной арифметики, часто указываемая в DMIPS (миллионы инструкций Dhrystone в секунду)
  • DiskSpdКомандная строка инструмент для тестирования хранилища, который генерирует различные запросы к компьютерные файлы, перегородки или же устройства хранения данных
  • Embench ™ - портативные тесты с открытым исходным кодом для тестирования глубоко встроенных систем; они предполагают отсутствие ОС, минимальную поддержку библиотеки C и, в частности, отсутствие потока вывода. Embench - это проект Кремниевый фонд с открытым исходным кодом.
  • Тест фасетного просмотра - системы тестов, поддерживающие просмотр связанных данных с помощью итеративных переходов, выполняемых умным пользователем, из проекта Hobbit[13]
  • Камни - целочисленный тест
  • НАМЕКАТЬ - предназначен для измерения общей производительности процессора и памяти
  • Иометр - Инструмент измерения и характеристики подсистем ввода-вывода для одиночных и кластерных систем.
  • IOzone - Тест файловой системы
  • Кубстоун - Оператор бенчмаркинга для Kubernetes и OpenShift
  • Тесты LINPACK - традиционно используется для измерения ФЛОПЫ
  • Ливерморские петли
  • Параллельные тесты NAS
  • NBench - набор синтетических тестов для измерения производительности целочисленной арифметики, операций с памятью и арифметики с плавающей запятой
  • PAL - тест для движков физики в реальном времени
  • PerfKitБенчмаркер - Набор тестов для измерения и сравнения облачных предложений.
  • Тестовый набор Фороникс - кроссплатформенный тестовый пакет с открытым исходным кодом для Linux, OpenSolaris, FreeBSD, OSX и Windows. Он включает в себя ряд других тестов, включенных на эту страницу, чтобы упростить выполнение.
  • Пов-луч - 3D рендеринг
  • Так (функция) - простой тест, используемый для проверки производительности рекурсии
  • Тест TATP - Тест обработки транзакций телекоммуникационных приложений
  • TPoX - Тест обработки транзакций XML для баз данных XML
  • VUP (Единица измерения VAX) - также называемая VAX MIPS
  • Точильный камень - арифметическая производительность с плавающей запятой, часто выражаемая в миллионах инструкций Уетстона в секунду (MWIPS)

Тесты Microsoft Windows

Другие

  • AnTuTu - обычно используется на телефонах и устройствах на базе ARM.
  • Берлинский эталонный тест SPARQL (BSBM) - определяет набор тестов для сравнения производительности систем хранения, которые предоставляют конечные точки SPARQL через протокол SPARQL для разных архитектур.[14]
  • Geekbench - Кросс-платформенный тест для Windows, Linux, macOS, iOS и Android.
  • iCOMP - сравнительная производительность микропроцессоров Intel, опубликованная Intel
  • Khornerstone
  • Тест Lehigh University Benchmark (LUBM) - облегчает оценку репозиториев семантической паутины с помощью расширенных запросов к большому набору данных, которые соответствуют единой реалистичной онтологии[15]
  • рейтинг производительности - схема моделирования, используемая AMD и Cyrix для отражения относительной производительности, обычно по сравнению с конкурирующими продуктами.
  • SunSpider - тест скорости браузера
  • VMmark - набор тестов виртуализации.[16]
  • RenderStats - база данных тестов 3D-рендеринга.[17]

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

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

  1. ^ Флеминг, Филип Дж .; Уоллес, Джон Дж. (1986-03-01). «Как не обмануть статистику: как правильно подвести итоги тестов». Коммуникации ACM. 29 (3): 218–221. Дои:10.1145/5666.5673. ISSN  0001-0782. S2CID  1047380. Получено 2017-06-09.
  2. ^ Кразит, Том (2003). «Пересмотр тактики эталонных тестов NVidia». Новости IDG. Архивировано из оригинал на 2011-06-06. Получено 2009-08-08.
  3. ^ Кастор, Кевин (2006). «Методология тестирования оборудования и бенчмаркинга». Архивировано из оригинал на 2008-02-05. Получено 2008-02-24.
  4. ^ Дай, Вэй; Берлеант, Даниэль (12–14 декабря 2019 г.). «Сравнительный анализ современного оборудования и платформ для глубокого обучения: обзор качественных показателей» (PDF). Первая международная конференция IEEE по когнитивному машинному интеллекту (CogMI) 2019 г.. Лос-Анджелес, Калифорния, США: IEEE. С. 148–155. Дои:10.1109 / CogMI48466.2019.00029.
  5. ^ Элиар, Андреас; Лю, Дэйк. «Тестирование сетевых процессоров» (PDF). Цитировать журнал требует | журнал = (помощь)
  6. ^ LDBC. «Тест семантической публикации LDBC». ЛДБК СПБ. LDBC. Получено 2018-07-02.
  7. ^ LDBC. «Тест социальной сети LDBC». LDBC SNB. LDBC. Получено 2018-07-02.
  8. ^ Совет по эффективности обработки транзакций (февраль 1998 г.). «История и обзор TPC». TPC. Совет по производительности обработки транзакций. Получено 2018-07-02.
  9. ^ Совет по производительности обработки транзакций. «ТПК-А». Совет по производительности обработки транзакций. Получено 2018-07-02.
  10. ^ Совет по производительности обработки транзакций. «ТПК-С». Совет по производительности обработки транзакций. Получено 2018-07-02.
  11. ^ Совет по производительности обработки транзакций. «ТПК-Н». Совет по производительности обработки транзакций. Получено 2018-07-02.
  12. ^ «Тест хранилища данных». 2017-07-28. Получено 2018-07-02.
  13. ^ «Тест фасетного просмотра». 2017-07-27. Получено 2018-07-02.
  14. ^ «Берлинский эталонный тест SPARQL (BSBM)». Получено 2018-07-02.
  15. ^ «Проекты SWAT - эталонный показатель Университета Лихай (LUBM)». Тест Лихайского университета (LUBM). Получено 2018-07-02.
  16. ^ «Правила VMmark 1.1.1» (PDF). VMware. 2008.[мертвая ссылка ]
  17. ^ «База данных тестов 3D-рендеринга». Получено 2019-09-29. Цитировать журнал требует | журнал = (помощь)

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