Тестирование целочисленной производительности CPU: Спецификация SPEC INT
SPECint
Тест SPEC INT: оценка производительности CPU в целочисленных операциях. Стандарты SPEC для бенчмаркинга процессоров с 1992 года (CPU92, CPU2000, CPU2006).
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Спецификация компьютерного бенчмарка для целочисленной производительности процессора
Computer benchmark specification for CPU integer processing power
SPEC INT — это спецификация компьютерного бенчмарка для оценки целочисленной производительности процессора. Она поддерживается организацией Standard Performance Evaluation Corporation (SPEC). SPEC INT является компонентом тестирования целочисленной производительности в наборе тестов SPEC. Первый набор тестов SPEC, CPU92, был представлен в 1992 году. За ним последовали CPU95, CPU2000 и CPU2006. Последний стандарт — SPEC CPU 2017, который состоит из SPEC speed и SPEC rate (также известный как SPECCPU 2017).
SPEC INT is a computer benchmark specification for CPU integer processing power. It is maintained by the Standard Performance Evaluation Corporation (SPEC). SPEC INT is the integer performance testing component of the SPEC test suite. The first SPEC test suite, CPU92, was announced in 1992. It was followed by CPU95, CPU2000, and CPU2006. The latest standard is SPEC CPU 2017 and consists of SPEC speed and SPEC rate (aka SPECCPU 2017).
SPEC INT 2006 год
CPU2006 – это набор тестов, предназначенных для оценки производительности центрального процессора современной серверной компьютерной системы. Он состоит из двух компонентов: CINT2006 и CFP2006 (SPECfp), предназначенных для тестирования операций с плавающей точкой. SPEC определяет базовое время выполнения для каждой из 12 тестовых программ. Для SPECint2006 это время варьируется от 1000 до 3000 секунд. Тест проводится на системе, время выполнения на тестируемой системе сравнивается с эталонным временем, и вычисляется отношение. Это отношение и является результатом SPEC INT для данного теста. (Это отличается от оценки в SPECINT2000, где отношение умножается на 100.) Например, для SPECint2006 рассмотрим процессор, который может выполнить 400.perlbench за 2000 секунд. Эталонной машине для выполнения этого теста требуется 9770 секунд. Таким образом, отношение равно 4,885. Для каждого теста вычисляется такое отношение, а затем вычисляется геометрическое среднее этих отношений для получения итогового значения.
CPU2006 is a set of benchmarks designed to test the CPU performance of a modern server computer system. It is split into two components, the first being CINT2006, the other being CFP2006 (SPECfp), for floating point testing. SPEC defines a base runtime for each of the 12 benchmark programs. For SPECint2006, that number ranges from 1000 to 3000 seconds. The timed test is run on the system, and the time of the test system is compared to the reference time, and a ratio is computed. That ratio becomes the SPEC INT score for that test. (This differs from the rating in SPECINT2000, which multiplies the ratio by 100.) As an example for SPECint2006, consider a processor which can run 400. perlbench in 2000 seconds. The time it takes the reference machine to run the benchmark is 9770 seconds. Thus the ratio is 4.885. Each ratio is computed, and then the geometric mean of those ratios is computed to produce an overall value.
Предыстория
За плату SPEC распространяет исходные файлы кода пользователям, желающим протестировать свои системы. Эти файлы написаны на стандартном языке программирования, который затем компилируется для каждой конкретной архитектуры процессора и операционной системы. Таким образом, измеряемая производительность отражает производительность процессора, оперативной памяти и компилятора, и не тестирует подсистему ввода-вывода, сетевые возможности или графику. Для каждого эталонного теста сообщаются два показателя: "базовый" и "пиковый". Разница между этими значениями обусловлена настройками компилятора. Поскольку эталонные тесты SPEC распространяются в виде исходного кода, компиляция этого кода ложится на того, кто проводит тестирование. Существует общее мнение, что эталонные тесты должны компилироваться так же, как пользователь компилирует программу, однако единого метода компиляции для пользователей не существует, он варьируется в зависимости от системы. В этом случае SPEC определяет две опорные точки: "базовый" и "пиковый". Базовый режим имеет более строгие правила компиляции, чем пиковый. Оптимизация в базовом режиме ограничена, флаги компилятора должны быть одинаковыми для каждого теста, в одном и том же порядке, и их количество должно быть ограничено. Таким образом, базовый режим наиболее точно отражает компиляцию программы пользователем со стандартными флагами. Пиковый показатель может быть получен с использованием максимальной оптимизации компилятора, вплоть до применения различных оптимизаций для каждого теста. Это значение представляет собой максимальную производительность системы, достигнутую за счет полной оптимизации компилятора. Тесты SPEC INT проводятся на широком спектре аппаратного обеспечения, а результаты обычно публикуются для всего спектра системных конфигураций, использующих новейшие процессоры. Для SPECint2006 используются процессоры Intel и AMD x86 и x86 64, процессоры Sun SPARC, процессоры IBM Power и процессоры IA 64. Этот диапазон возможностей, особенно количество процессоров, означает, что эталон SPEC INT обычно выполняется только на одном процессоре, даже если в системе установлено несколько процессоров. Если процессор имеет несколько ядер, используется только одно ядро; гиперпоточность также обычно отключена.
For a fee, SPEC distributes source code files to users wanting to test their systems. These files are written in a standard programming language, which is then compiled for each particular CPU architecture and operating system. Thus, the performance measured is that of the CPU, RAM, and compiler, and does not test I/O, networking, or graphics. Two metrics are reported for a particular benchmark, "base" and "peak". Compiler options account for the difference between the two numbers. As the SPEC benchmarks are distributed as source code, it is up to the party performing the test to compile this code. There is agreement that the benchmarks should be compiled in the same way as a user would compile a program, but there is no consistent method for user compilation, it varies system by system. SPEC, in this case, defines two reference points, "base" and "peak". Base has a more strict set of compilation rules than peak. Less optimization can be done, the compiler flags must be the same for each benchmark, in the same order, and there must be a limited number of flags. Base, then, is closest to how a user would compile a program with standard flags. The 'peak' metric can be performed with maximum compiler optimization, even to the extent of different optimizations for each benchmark. This number represents maximum system performance, achieved by full compiler optimization. SPEC INT tests are carried out on a wide range of hardware, with results typically published for the full range of system level implementations employing the latest CPUs. For SPECint2006, the CPUs include Intel and AMD x86 & x86 64 processors, Sun SPARC CPUs, IBM Power CPUs, and IA 64 CPUs. This range of capabilities, specifically in this case the number of CPUs, means that the SPEC INT benchmark is usually run on only a single CPU, even if the system has many CPUs. If a single CPU has multiple cores, only a single core is used; hyper threading is also typically disabled,
Более полный системный эталонный тест, позволяющий использовать все процессоры, известен как SPECint rate2006, также называемый "CINT2006 Rate".
A more complete system level benchmark that allows all CPUs to be used is known as SPECint rate2006, also called "CINT2006 Rate".