Как да измерим производителността и цената на всеки компютър?

Всеки иска да знае мощността на машината, която купува. Дали е по-мощна спрямо предишната или достатъчно мощна за възлаганите ѝ задачи. Мощността на автомобилите се измерва в конски сили. В какво се измерва мощността на компютрите?

Някои биха казали в мегахерци, но след краха на високочестотния Pentium 4 спрямо по-мощния и нискочестотен Pentium M, това е глупаво изказване.
В каква се измерва мощността на графичния процесор (видеокартата)? В точки от 3DMark? Смешно е, нали?

Най-добър измерител за мощността и на CPU (централен процесор), и на GPU (графичен процесор) е единицата FLOPS. Тази единица е съкращение от FLoating point Operations Per Second и означава брой операции с плаваща запетая за секунда.

С тази единица за компютърна мощност мерят сили супер-компютрите и сървърите. Но тя много точно определя и производителността на домашния компютър, лаптоп или дори на смартфона в джоба ви. В момента потребителските компютри имат мощност от порядъка на GFLOPS-и, суперкомпютрите са от порядъка на TFLOPS, а най-мощните силициеви създания надминават PFLOPS. Най-мощният известен супер-компютър към 2017г. има мощност от 93 PFLOPS. Той се състои от множество 260-ядрени процесори с единична мощност от 3 TFLOPS. Удивителното е, че това е китайски компютър с китайски процесори (ShenWei SW26010).

Още малко теория. GFLOPS може да се изчисли с единична или двойна точност, съответно Single-Precision FLOPS и Double-Precision FLOPS. Прието е за централни процесори да се взима резултата от операциите с двойна точност, който е почти два пъти по-нисък. Понякога (за по-интересно) производителите на видеокарти обявяват резултати с единична точност. Освен това не всички видеокарти могат да изчисляват с двойна точност, например вградените.
Доста добро предвиждане на максималната производителност на процесора може да се направи по формулата:

GFLOPS = Брой изчислителни операции с 64-битови числа за такт X Брой физически ядра X Тактова честота на процесора

Ето къде участва и честотата в измерването на мощността. Но броят ядра, а напоследък и броят операциите за такт (инструкции) са по-важни. В тази връзка е важно да се отбележи, че величината GFLOPS показва връзката между инструкции, суперскаларност и тактова честота. Тоест - всичко за процесора.
  • Пример за изчисление по тази опростена формула е мощността на легендарния Intel Core 2 Quad Q6600: 4 (операции за такт)  X 4 (физически ядра) X 2400 MHz = 38400 FLOPS = 38.4 GFLOPS. Което почти отговаря на фактическата му мощност
  • Втория пример е с друга легенда, Core i5-2500: 8 (операции за такт) X 4 (физически ядра) X 3700 MHz = 118400 FLOPS = 118.4 GFLOPS. Тук има разлики с фактическите резултати, защото реално при четири натоварения ядра не се достига 3.9 GHz на ядро, а по-малко, поради особеностите на Turbo Boost
Забелязвате ли разликата в операциите за такт? През 2011г. с идването на Sandy Bridge се появяват новите инструкции AVX, които удвояват операциите за такт. Реално процесорите не стават по-мощни, но новите инструкции им дават двойно предимство за приложения, опериращи с AVX. По-новите процесори с AVX 2.0 (Haswell и по-нови) могат да изпълнят и по 16 операции за такт. Далеч не всички приложения обаче работят с новите инструкции, а някои никога няма и да заработят.

Което означава, че яко звучащите за Intel Core i7 4770: 16 x 4 x 3900 MHz = 249.6 GFLOPS, в класически като инструкции приложения има мощност от 62.4 GFLOPS, колкото един Extreme Core 2 Quad.

За домашно ви давам да изчислите, използвайки тази формула, колко мощен е процесора ви.

Как да измерим колко GFLOPS-а е компютъра ни чрез софтуер?

По-реалистично изчисление на GFLOPS се получава чрез използване на софтуер. В зависимост от версията му, алгоритъма му за изчисление, той може да покаже различни резултати. Най-често използвани за измерване на GFLOPS са следните програми:
  • Intel Burn Test (измерва GFLOPS на CPU)
  • SiSoft Sandra (измерва GFLOPS на CPU, в по-новите версии и на GPU)
  • AIDA64 GPGPU Benchmark (част от AIDA64, измерва GFLOPS с единична и двойна точност на CPU  и GPU).
Моят фаворит е AIDA64, въпреки, че най-често ползвам Intel Burn Test, тъй като той чрез няколко итерации показва колко е стабилна машината, добре ли се справя охладителя. Почти всички клиентски машини минават през този тест. Диагностика на това дали Windows OS работи добре, а не е долнопробна сглобка от мрежата също се вижда чрез GFLOPS на Intel Burn Test. При пиратските версии резултатите са двойно по-ниски, което е логично - с пиратска система машината работи с половин капацитет. Последното се доказва и от Cinebench.

Ето как изглеждат резултатите от различните тестови програми за процесора Intel Core i5-2500:
Intel Burn Test

SiSoft Sandra

AIDA64 GPGPU Benchmark 

Както виждате, всички резултати много се различават. Различните версии на SiSoft Sandra показват различни неща за еднакви процесори като явно фаворитизират новия хардуер. В случая използвам версията на Sandra от 2011г. Intel Burn Test е в последната си версия и разпознава AVX. Теоретичния резултат е 118 GFLOPS, най-близко до него е AIDA64.
Тъй като резултатите са много различни, направих това графично сравнение между различните софтуери за оценка и теоретичното изчисление. Очевидно AIDA64 се справя най-добре със задачата си и може да ѝ се има най-голямо доверие. И то за всички видове инструкции на процесорите, от SSE3 до AVX2.0. Но - старите тестове също имат място, защото те осмислят факта, че въпреки новата си теоретична мощност, при равни условия за инструкциите един топ Core 2 Quad е много по-мощен от най-нов Core i3 и дори от мобилните Core i7 с две реални ядра. Повечето приложения все още не знаят как да работят с новите инструкции. Игрите пък искат истински ядра, а не добри пожелания за да отрисуват физиката.

Знаете ли, че за класически приложения ThinkPad T61 може да е по-мощен от най-нов ThinkPad T460? И двата модела, които ги дели 10 години "прогрес" имат по 20 чисти GFLOPS? Core 2 Duo T7700, 4 x 2 (Core) x 2400MHz = 19.2 GFLOPS. Освен това класическия процесор без HT и Turbo Boost работи къде по-предвидимо и стабилно от новите процесори. Иначе защо НАСА още да ползват ThinkPad T61 в орбита? 
 
Голямо предимство на AIDA64 GPGPU Benchmark е, че дава оценка за мощността и на видеокартата. От сравнението на GeForce GTX 1050 и GeForce GT 730 по-горе виждате, че първата карта има 71 GFLOPS срещу 29 GFLOPS на по-скромната. Това е добър метод да оцените реалната производителност на видеокартите.

Single-Precision FLOPS на видеокарта може да изчислите по формулата GFLOPS = ROPs x TMUs x GPU MHz, които ги взимате от GPU-Z. Обсъждането на мощта на GPU ще я отложа за друг път и ако има интерес към тази тема.
 
Тестът за производителност на смартфони и таблети за GFLOPS най-добре се прави с Linpack Benchmark. Много по-добро решение от Antutu и други софтуери със съмнителна обективност. В случая виждате, че Apple A10 процесора има едва 1.6 GFLOPS и всякакви абсурдни твърдения, че е по-мощен от лаптоп се опровергават за секунди. A10 е на нивото на Pentium III Tualatin.
Знаейки мощността на компютъра в GFLOPS най-добре може да се изчисли колко изгоден е даден компютър. Просто разделяте цената му на неговите GFLOPS (от AIDA64). В случая виждате, че най-изгоден е компютър с Core i5. 

По тази причина предлаганите от нас работни станции с мощност около 400 GFLOPS (2x Xeon E5-2670) струват под 4лв. на GFLOPS (ако не калкулираме в тях скъпите професионални видеокарти и огромното количество оперативна памет). Масов нов компютър с Pentium Dual Core или даже с Core i3 имат мощност 20-40 GFLOPS. Ако гоним изгодата от тях да бъде около 4лв. на GFLOPS, те би трябвало те да струват 80-160лв. Въпреки, че са много по-некачествени от всяка предлагана от нас машина, те далеч не струват толкова.

Няма коментари:

Публикуване на коментар

Желателно е коментарът да е по темата и да е написан на кирилица.