SPEC Test System, Информационен и аналитичен център за паралелни изчисления

Какво е SPEC?

SPEC (Standard Performance Evaluation Corporation) е корпорация, създадена през 1988 г., която обединява водещи производители на компютърен хардуер и софтуер. SPEC има за цел да разработи и стандартизира методи за оценка на производителността на съвременните компютри. Тестовите пакети, разработени от SPEC, са де факто стандартите за оценка на производителността на съвременните микропроцесори, компютри и системен софтуер.

SPEC изпълнява две основни функции:

  1. Разработва тестови пакети.
  2. Събира и публикува официални резултати от тестове.

Кой е в SPEC?

Следните компании са пълноправни членове на SPEC: 3Dlabs, Advanced Micro Devices (AMD), Alpha Processor Inc., Amdahl, ATI Research, Auspex Systems, Bull S.A., Compaq, Critical Path, Dell Computer, Diamond Multimedia Systems, Electronic Data Systems, ELSA AG, EMC, Evans & Sutherland, Fujitsu America, Fujitsu Limited, Fujitsu Siemens, Hewlett-Packard, Hitachi Data Systems, Hitachi Limited, IBM, Intel, Intergraph, Matrox Graphics, Microsoft, Mirapoint Inc, Motorola, NEC - Япония, Netscape Communications, Network Appliance, Novell, Nvidia, PixelFusion, Santa Cruz Operations, SGI, Software.com, Sun Microsystems, Tsukuba Advanced Computing Center, Unis ys, Veritas Software, Ziff -Davis Publishing Inc.

Структура на SPEC

SPEC се състои от следните три комитета:

  • OSG (Open Systems Group) - основен комитет;
  • HPG (High Performance Group) - тестове за HPC системи;
  • GPC (Graphics Performance Characterization Group) – графични тестове.

Какви тестове предлага SPEC?

SPEC предлага следните основнипродукти:

  • CPU2000 - тестове за изчислителна производителност (използван преди това набор от тестове CPU95);
  • JVM98 - виртуален тест на Java машина;
  • HPC96 - бенчмаркове за HPC системи: SPECseis96 приложение за сеизмична обработка (Seismic), SPECchem96 приложение за изчислителна химия (GAMESS) и SPECclimate приложение за климатично моделиране (MM5);
  • SFS97 - тест за производителност на мрежова файлова система (NFS);
  • WEB99 - тест за оценка на производителността на HTTP сървъри;

Ще се интересуваме основно от тестовите семейства CPU и HPC.

Какво е CPU2000?

CPU2000 е тестов пакет, разработен от подразделението Open Systems Group (OSG) на System Performance Evaluation Corp. (SPEC) за оценка на производителността на микропроцесори (CPU) и изчислителни системи. Пакетът CPU2000 от две тестови групи - CINT2000 за оценка на производителността на операции с цели числа и CFP2000 за оценка на производителността на операции с плаваща запетая. Буквата "C" в имената на тестовете означава, че тестовете са "компонентни" (component-level), за разлика от тестовете за ефективност на системата като цяло. Тестовите групи CINT2000 и CFP2000 са фокусирани върху оценката на производителността на микропроцесори, кеш памет и RAM подсистеми и компилатори. Тези тестове не са свързани с мрежова, дискова или графична производителност.

Какво се изисква от потребителя, за да инсталира CPU2000?

За да инсталирате пакета CPU2000, е необходим компютър с операционна система UNIX или Windows NT, компилатори C/C++ и Fortran 90. Необходими са поне 1 GB свободно пространство на твърдия диск за инсталиране на пакета и поне 256 MB RAM за изпълнение на тестовете.

Колко струва?

Според информацията на сайтаSPEC, пълната цена за пакета CPU2000 версия 1.0 е $500, цената за образователни организации е $125. Пакетът се доставя на CD-ROM.

Какви тестове са включени в пакета CPU2000?

Пакетът CINT2000 включва 11 тестови приложения, написани на C и един тест (252.eon) на C++.

Име Кратко описание на задачата
164.gzipПомощна програма за компресиране на данни (gzip)
175.впрПриложение за изчисляване на FPGA
176.gccC компилатор
181.mcfПриложение за решаване на проблема с потока на минималните разходи в мрежа
186.хитърПрограма за игра на шах
197.парсерПарсинг за естествен език
252.eonПроследяване на лъчи
253.perlbmkИнтерпретатор на Perl
254.пролукаИзчислителна задача от теория на групите
255.вихърОбектно ориентирана база данни
256.bzip2Помощна програма за компресиране на данни (bzip2)
300.двеПроблем с позиционирането и маршрутизирането

Пакетът CFP2000 включва 14 тестови приложения, от които 6 са написани на Fortran 77, 4 на Fortran 90 и 4 на C++.

Име Кратко описание на задачата
168.wupwiseПроблемът на квантовата хромодинамика
171.плувамЗадача за хидродинамично моделиране на "плитка" вода
172.mgridМногомрежов решаващ инструмент за 3D потенциално поле
173.приложениеРешаване на параболични/елиптични диференциални уравнения
177.меса3D графична библиотека (Mesa3D)
178.галгелХидродинамичен проблем: Анализ на вибрационна нестабилност
179.члМоделиране на невронни мрежи
183.equakeСимулация на земетресение по метода на крайните елементи
187.facerecПроблемът с разпознаването на лица в графични изображения
188.ampПроблем с компютърна химия
189.лукасЗадача от теория на числата (тест за простота)
191.fma3dМоделиране на краш тестове по метода на крайните елементи
200.sixtrackСимулация на ускорител на елементарни частици
01.apsiАтмосферен проблем, като се вземат предвид температурата, вятърът и замърсяването

По-подробни описания на тези задачи са налични на уебсайта на SPEC.

Какви резултати дава CPU2000?

Резултатите от CPU2000 (CINT2000 и CFP2000) се предоставят в четири опции („метрики“).

Максимална оптимизация Стандартна оптимизацияВреме за изпълнение на една тестова итерацияБрой повторения за фиксирано време
SPECxx2000SPECxx_base2000
SPECxx_rate2000SPECxx_base_rate2000

Тук xx е int или fp.

Какво оценяват бенчмарковете на CPU2000?

Какво е база?

Според философията на SPEC, тестовете трябва да се компилират по същия начин, по който потребителите ще компилират своите програми. Метриките от типа "базов" (SPECint_base2000, SPECfp_base2000) съответстват на компилацията на тестови програми с някои "основни" опции за оптимизация, които са еднакви за всички тестове в тестапакет. „Небазовите“ показатели (SPECint2000, SPECfp2000) не са задължителни и съответстват на най-добрата оптимизация, която производителят може да предостави за всеки отделен тест.

Какво е "ставка"?

Метриките от типа "скорост" (SPECint_rate2000, SPECfp_rate2000) ви позволяват да оцените общияколичество изчисления, които компютърът може да извърши за определено време. Тоест, разрешено е да се изпълняват няколко копия на един тест на SMP компютър и в резултат да се даде общият брой итерации, извършени от всички процесори за определено фиксирано време. Метриките "без скорост" (SPECint2000) просто измерват "скоростта" на изчислението.

В какви единици се изразява производителността на SPEC?

Разработчиците на тестовете CPU2000 изоставиха използването на стандартни абсолютни единици като MFLOPS или MIPS. Вместо това се използват собствените относителни единици на SPEC. Резултатите са "нормализирани" по отношение на подобни резултати на така наречената "референтна" машина (референтна система). Това е работна станция Sun Ultra 5/10 (300 MHz UltraSPARC II процесор). На тази машина изпълнението на всички тестове на CPU2000 отнема приблизително два дни (48 часа).

Как се изчисляват показателите за ефективност?

Тестовите пакети CINT2000 и CFP2000 се състоят съответно от 12 и 14 независими тестови програми, всяка от които предоставя различна мярка за ефективност. За осредняване на резултатите за отделните тестове в даден набор от тестове се използва средната геометрична стойност на нормализираните резултати от всички тестове.

Как да се уверите, че резултатите са стабилни?

За да се елиминира влиянието на случайни фактори върху резултатите от теста, всеки тест се провежда нечетен брой пъти (поне 3),резултатите по серии се подреждат във възходящ ред и резултатът от средата на серията ("медиана") се приема като краен резултат.

Как се изчисляват SPEC резултатите?

Индексът SPECint2000, например, се изчислява по следния начин:SPECint2000 = RefTime / MeasuredTime, където RefTime е времето за изпълнение на теста на референтната машина, а MeasuredTime е времето за изпълнение на теста на машината, която се тества. Така значението на този показател е в относителното ускорение спрямо референтната машина.

Индикаторът SPECint_rate2000 се изчислява по следния начин:SPECint_rate2000 = N * (RefTime / MeasuredTime) * (60*60*24/RefJobTime), където N е броят на изпълняваните копия (повторения) на теста, 60*60*24 е броят секунди на ден и стойността на RefJobTime се приема d да бъде 96 00.

Кои системи са лидери в CPU2000?

Следните три системи в момента (25 май 2000 г.) са лидерите в SPECint_2000 сред еднопроцесорните системи:

Системен процесор SPECint2000M SPECint_base2000
Compaq AlphaServer DS20Alpha 21264A/667MHz444424
Compaq AlphaServer ES40Alpha 21264A/667MHz433413
Intel VC820Pentium III/1GHz410407

Следните три системи в момента са лидери в SPECfp_2000 сред еднопроцесорните системи:

Системен процесор SPECfp2000 SPECfp_base2000
Compaq AlphaServer DS20EAlpha 21264A/667MHz577514
Compaq AlphaServer ES40Alpha 21264A/667MHz562500
Compaq AlphaServer DS20Алфа 21264/500 MHz422383

Системата, базирана на Pentium III/1GHz, заема едва 10-то място по производителност с плаваща запетая с 284/273. Така безспорният лидер в тестовете на CPU2000 е процесорът Alpha 21264A/667 MHz.

Лидери по отношение на "Rate" сред многопроцесорните системи

По отношение на SPECint_rate2000 и SPECfp_rate2000, лидерите както в операциите с цели числа, така и в операциите с плаваща запетая са следните три многопроцесорни системи:

Системен процесор Брой процесори CFP2000 (скорост) CINT2000 (скорост)
HP 9000 Модел N4000PA-8600/552MHz823.032.7
HP 9000 Модел N4000PA-8600/552MHz414.417.0
SGI 2200R12000/400MHz413.215.4

Какви тестове бяха включени в пакета CPU95?

Предшественикът на пакета CPU2000 е пакетът CPU95.

Тестов пакет CINT95 е група от целочислени аритметични тестове, написани на C.

ИмеКратко описание
099.goигра на го
124.m88ksimЕмулация на микропроцесор Motorola 88100
126.gccоптимизиращ компилатор GCC версия 2.5.3
129.компресияПрограма за компресиране от Unix, работи изцяло в RAM
130.liтест, базиран на Xlisp интерпретатор
132.jpegJPEG - компресия/декомпресия на изображението в RAM
134.perlИнтерпретатор на Perl
147.вихърОбектно-ориентирана СУБД Vortex.

CFP95 комплект тестове

Група реални аритметични тестове, написани на Fortran-77.

Име Кратко описание
101.tomcatvПрограма за генериране на мрежи
102.плувамМрежов метод Решение на система от диференциални уравнения, описващи състоянието на водната повърхност
103.su2corМетод Монте Карло в задачата за изчисляване на масите на елементарните частици
104.хидро2гРешение на хидродинамични уравнения на Навие-Стокс
107.mgridРешение на диференциални уравнения на тримерно потенциално поле
110.приложениеРешаване на параболични и елиптични диференциални уравнения
125.turb3dМоделиране на турбулентни флуидни потоци
145.fppppТест от набора от квантово-химични тестове на Гаус
146.вълна5Решение на вълновите уравнения на Максуел

SPEChpc96 включва моделни приложения от две области на приложение: обработка на сеизмични данни (SPECseis96) и изчислителна химия (SPECchem96). Във версия 1.10 пакетът включва и приложение за климатична симулация (SPECclimate). Приложенията са написани на Fortran-77 с отделни модули, написани на C. Приложенията са паралелизирани в модел за предаване на съобщения с помощта на PVM.