SPEC Test System, Информационен и аналитичен център за паралелни изчисления
Какво е SPEC?
SPEC (Standard Performance Evaluation Corporation) е корпорация, създадена през 1988 г., която обединява водещи производители на компютърен хардуер и софтуер. SPEC има за цел да разработи и стандартизира методи за оценка на производителността на съвременните компютри. Тестовите пакети, разработени от SPEC, са де факто стандартите за оценка на производителността на съвременните микропроцесори, компютри и системен софтуер.
SPEC изпълнява две основни функции:
- Разработва тестови пакети.
- Събира и публикува официални резултати от тестове.
Кой е в 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.gcc | C компилатор |
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) се предоставят в четири опции („метрики“).
SPECxx2000 | SPECxx_base2000 |
SPECxx_rate2000 | SPECxx_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 сред еднопроцесорните системи:
Compaq AlphaServer DS20 | Alpha 21264A/667MHz | 444 | 424 |
Compaq AlphaServer ES40 | Alpha 21264A/667MHz | 433 | 413 |
Intel VC820 | Pentium III/1GHz | 410 | 407 |
Следните три системи в момента са лидери в SPECfp_2000 сред еднопроцесорните системи:
Compaq AlphaServer DS20E | Alpha 21264A/667MHz | 577 | 514 |
Compaq AlphaServer ES40 | Alpha 21264A/667MHz | 562 | 500 |
Compaq AlphaServer DS20 | Алфа 21264/500 MHz | 422 | 383 |
Системата, базирана на Pentium III/1GHz, заема едва 10-то място по производителност с плаваща запетая с 284/273. Така безспорният лидер в тестовете на CPU2000 е процесорът Alpha 21264A/667 MHz.
Лидери по отношение на "Rate" сред многопроцесорните системи
По отношение на SPECint_rate2000 и SPECfp_rate2000, лидерите както в операциите с цели числа, така и в операциите с плаваща запетая са следните три многопроцесорни системи:
HP 9000 Модел N4000 | PA-8600/552MHz | 8 | 23.0 | 32.7 |
HP 9000 Модел N4000 | PA-8600/552MHz | 4 | 14.4 | 17.0 |
SGI 2200 | R12000/400MHz | 4 | 13.2 | 15.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.jpeg | JPEG - компресия/декомпресия на изображението в 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.