15Aug

Како израчунате брзину процесора на вишезначним процесорима?

Доходак економичних потрошачких разреда мулти-цоре процесора поставља питање за многе кориснике: како ефикасно израчунате стварну брзину мулти-цоре система?Да ли је 4-цоре 3Гхз систем заиста 12ГХз?Прочитајте док истражујемо.

Данашње питање & амп;Сесија одговора долази нам захваљујући СуперУсер-у подскупу Стацк Екцханге-а, груписању група К & амп; А на веб локацијама.

Питање

СуперУсер читач НРеилингх је био занимљив како се заправо израчунава брзина процесора за мулти-језгро систем:

Да ли је тачно рећи, на примјер, да је процесор са четири језгре који се покрећу на 3ГХз у ствари процесор који радина 12ГХз?

Једном сам ушао у аргумент "Мац вс. ПЦ"( који је у ствари НИЈЕ фокус ове теме. .. која се вратила у средњу школу) са познаницима који су инсистирали да се Мацс оглашава само као 1Гхз машине јер су билиДуал-процесор Г4-и сваки ради на 500МХз.

У то време сам знао да ово треба да буде из разлога за које мислим да су очигледне већини људи, али управо сам видео коментар на овој веб страници у смислу "6 језгара к 0.2ГХз = 1.2ГХз" и то ме је поново размишљало о томеда ли постоји прави одговор на ово.

Дакле, ово је више или мање филозофско / дубинско техничко питање о семантици брзине кретања такта.Видим две могућности:

  1. Свако језгро заправо ради к прорачуне у секунди, тако да је укупан број прорачуна к( језгре).
  2. Брзина сата је умножавање броја циклуса који процесор пролази у простору секунде, све док се сва језгра покрећу истом брзином, брзина сваког циклуса такта остане иста без обзира колико је језгарапостоје.Другим речима, Хз =( цоре1Хз + цоре2Хз +. ..) / језгри.

Дакле, који је одговарајући начин означавања укупне брзине сата и, што је још важније, да ли је чак могуће користити једноструку језгру номенклатуре брзине на мулти-језгру систему?

Одговорност

СуперУсер доприносиоца Мокубаи помаже у разјашњавању ствари.Он пише:

Главни разлог зашто четворојезгрени 3ГХз процесор никада није брз као једро језгра од 12ГХз јесте с тим што функционише задатак који ради на том процесору, тј. Један или више навоја.Амдахлов закон је важан када разматра врсте задатака које покрећете.

Ако имате задатак који је инхерентно линеаран и мора се извршити прецизно корак по корак као што је( врло грубо једноставан програм)

10: а = а + 1 20: гото 10

Затим задатак зависи високо од резултатапретходног пролаза и не може покренути више копија самог себе без корупције вриједности "а" јер свака копија би добијала вриједност "а" у различито вријеме и писала је другачије.Ово ограничава задатак на једну нит и стога се задатак може покренути само једним језгром у било које вријеме, ако би се користио на више језгара, онда би дошло до корупције синхронизације.Ово ограничава на 1/2 ЦПУ снаге дуал цоре система, или 1/4 у куад цоре систему.

Сада преузмите задатак као што су:

10: а = а + 1 20: б = б + 1 30: ц = ц + 1 40: д = д + 1 50: гото 10

Све ове линије су независне и могубити подељени у 4 одвојене програме као што су први и истовремено трчање, свако ко може ефикасно искористити пуну снагу једне од језгара без икаквог проблема са синхронизацијом, ту се налази Амдахлов закон.

Дакле, ако имате једну апликацију са навојем која ради израчунавање бруталне силе, један 12ГХз процесор би могао да победи руке, ако некако можете да поделите задатак на одвојене делове и мулти-тхреадове, онда се 4 језгре могу приближити, али не достици доћи, исте перформансе, по Амдахловом закону.

Главна ствар коју вам мулти систем ЦПУ даје је реаговање.На једној једној машини која напорно ради, систем може изгледати споро, јер већину времена може да се користи једним задатком, а остали задаци се покрећу само кратким распадом између већег задатка, што резултира системом који изгледа слабо.На мулти-језгру систему тежак задатак добија једно језгро, а сви остали задаци играју на другим језгрима, брзо и ефикасно раде свој посао.

Аргумент "6 језгара к 0.2ГХз = 1.2ГХз" је у свакој ситуацији, осим ако су задаци савршено паралелни и независни.Постоји добар број задатака који су веома паралелни, али и даље захтевају неку врсту синхронизације.Ручна кочница је видео транцодер који је веома добар у коришћењу свих расположивих процесора, али захтева процес у коме се одржавају друге теме које су испуњене подацима и прикупљају податке са којима се завршавају.

  1. Свако језгро заправо ради к прорачуне у секунди, тако да је укупан број прорачуна к( језгри).

Свако језгро је у стању да изврши к прорачуне у секунди, под претпоставком да је радно оптерећење погодно паралелно, на линеарном програму који имате све једро.

  1. Брзина сата је умножак броја циклуса који процесор пролази у простору секунде, све док се сва језгра покрећу истом брзином, брзина сваког циклуса такта остане иста без обзира колико је језгарапостоје.Другим речима, Хз =( цоре1Хз + цоре2Хз +. ..) / језгри.

Мислим да је погрешно мислити да је 4 к 3ГХз = 12 ГХз, додијељена математици ради, али упоређујете јабуке са наранчицама и суме једноставно нису у праву, ГХз се не може једноставно додати заједно за сваку ситуацију.Ја бих то променио на 4 к 3ГХз = 4 к 3ГХз.

Имате ли нешто да додате објашњењу?Звучи у коментарима.Желите да прочитате више одговора од других корисничких корисника Стацк Екцханге?Овде погледајте комплетну тему.