Permalänk
Medlem

cache latency

Tjena gott folk!

Har en fråga!

Vad är orsaken till cache latency? alltså latency inom cpu egna cache

Jag börjar misstänka att det har en jävligt stor betydelse...
Kolla här

http://www.anandtech.com/show/4955/the-bulldozer-review-amd-f...

Undrar hur amd processorerna hade presterat med samma latency som hos intel...

Och det är stor skillnad mellan latency mellan alla nya intels och amds cpuer.

Som sagt börjar misstänka att det är en stor orsak till varför dom inte presterar som dom kanske bör göra..

Detta är en diskussions tråd om vad ni tror och helst inget tjafs
mvh criscros

Permalänk
Medlem

http://www.extremetech.com/computing/100583-analyzing-bulldoz...

Tillför för den nyfikne

Och det ser ut som ett mönster faktiskt...

synd att amd inte fixade det.. de hade presterat mycket bättre tror jag faktiskt..

Permalänk
Medlem

och ifall någon vill bidra så kan ni gärna skriva upp era latencies och vad för ssytem ni har

Permalänk

Jo du har nog rätt

En stor del till varför amd fx serien presterar dåligt beror nog på det
bulldozer var ju sämre än phenom II och piledriver har nu precis kommit ikapp och gått förbi lite
Men har för mig att phenom II ändå har högre ipc, troligtvis pga att den har snabbare cache då

Därför piledriver måste köra med högre frekvens för att kunna orka med
Antar jag

Men detta är dock på fx 8150 bulldozer, undrar vad för latencies fx 8350 har
Googlade lite men hittade ingen graf på det

Förstår inte hur det kunde få sämre cache än innan
Förbättrar de sin cache borde prestandan upp betydligt
De har ju sagt att steamroller ska få 30% högre ipc än piledriver
Så troligtvis har de förbättrat cache:n, samtidigt som varje cpu kärna får sin egna decode enhet istället för att två kärnor delar på 1

Läser man här står de att de ska har förbättrat cache genom att det blir mindre cache-missar
Hur de gjort det är dock oklart
http://www.sweclockers.com/nyhet/16781-amd-steamroller-lanser...

Permalänk
Medlem
Skrivet av Jacke3:

Jo du har nog rätt

En stor del till varför amd fx serien presterar dåligt beror nog på det
bulldozer var ju sämre än phenom II och piledriver har nu precis kommit ikapp och gått förbi lite
Men har för mig att phenom II ändå har högre ipc, troligtvis pga att den har snabbare cache då

Därför piledriver måste köra med högre frekvens för att kunna orka med
Antar jag

Men detta är dock på fx 8150 bulldozer, undrar vad för latencies fx 8350 har
Googlade lite men hittade ingen graf på det

Förstår inte hur det kunde få sämre cache än innan
Förbättrar de sin cache borde prestandan upp betydligt
De har ju sagt att steamroller ska få 30% högre ipc än piledriver
Så troligtvis har de förbättrat cache:n, samtidigt som varje cpu kärna får sin egna decode enhet istället för att två kärnor delar på 1

Läser man här står de att de ska har förbättrat cache genom att det blir mindre cache-missar
Hur de gjort det är dock oklart
http://www.sweclockers.com/nyhet/16781-amd-steamroller-lanser...

alla nuvarande cpuer från amd har hög cache latency även om piledriver är mycket bättre så börjar jag tro att det har med andra faktorer som TDP,högre klocks, lite förfinad arkitetur och sådant.. tror faktiskt inte att de har lyckats göra så mycket åt deras cache latencies. Skumt håller med då deras phenoms presterar fortfarande bra och det tack vare deras latencies vilket är också för högt. Så att ändra på lithiography är inte allt tror nog cache latency och memory latency är viktigast för en stark grund på IPC fronten. Om de lyckas halvera deras latencies på en piledriver så kommer det prestera något otroligt tror jag.

Permalänk
Skrivet av criscros:

alla nuvarande cpuer från amd har hög cache latency även om piledriver är mycket bättre så börjar jag tro att det har med andra faktorer som TDP,högre klocks, lite förfinad arkitetur och sådant.. tror faktiskt inte att de har lyckats göra så mycket åt deras cache latencies. Skumt håller med då deras phenoms presterar fortfarande bra och det tack vare deras latencies vilket är också för högt. Så att ändra på lithiography är inte allt tror nog cache latency och memory latency är viktigast för en stark grund på IPC fronten. Om de lyckas halvera deras latencies på en piledriver så kommer det prestera något otroligt tror jag.

Jo skillnaden mellan fx 8150 och 8350 var inte så stor arkitekturmässigt, mest optimeringar och små fixar
Hittade dock att de förbättrade l2 cache från latency 21 (som det står i första länken) till 20
http://www.tomshardware.com/reviews/fx-8350-vishera-review,33...
De nämner lite om l1 cache också, fast verkar bara vara att de utökat minnet

"One of the most notable changes is a larger translation lookaside buffer for the L1 data cache, which grows from 32 entries to 64. Because the L2 TLB has fairly high 20-cycle latency, improving the hit rate in L1 can yield significant performance gains in workloads that touch large data structures."

Hur mycket en minskning från 21 till 20 påverkar är dock svårt att säga, inte speciellt mycket skulle jag tro

Permalänk
Medlem
Skrivet av Jacke3:

Jo skillnaden mellan fx 8150 och 8350 var inte så stor arkitekturmässigt, mest optimeringar och små fixar
Hittade dock att de förbättrade l2 cache från latency 21 (som det står i första länken) till 20
http://www.tomshardware.com/reviews/fx-8350-vishera-review,33...
De nämner lite om l1 cache också, fast verkar bara vara att de utökat minnet

"One of the most notable changes is a larger translation lookaside buffer for the L1 data cache, which grows from 32 entries to 64. Because the L2 TLB has fairly high 20-cycle latency, improving the hit rate in L1 can yield significant performance gains in workloads that touch large data structures."

Hur mycket en minskning från 21 till 20 påverkar är dock svårt att säga, inte speciellt mycket skulle jag tro

de behöver vrkligen förbättra cache latency och memory controll systemen i nästa arkitetur annars så kommer de bara leva på hög ghz och högre tdp/värme utveckling..

Shit alltså jag kommer ihåg när amd var exakt tvärtom lol

i princip alla socket 754 hade jätte låg klockfrekvens men var mycket snabbare än pentium 4... idag är det ju tvärtom amd borde gå tillbaka till det som verkligen fungerade vilket var effektivitet aka IPC.. varför de inte fortsatte på den stigen fattar jag fortfarande inte..

Permalänk
Skrivet av criscros:

de behöver vrkligen förbättra cache latency och memory controll systemen i nästa arkitetur annars så kommer de bara leva på hög ghz och högre tdp/värme utveckling..

Shit alltså jag kommer ihåg när amd var exakt tvärtom lol

i princip alla socket 754 hade jätte låg klockfrekvens men var mycket snabbare än pentium 4... idag är det ju tvärtom amd borde gå tillbaka till det som verkligen fungerade vilket var effektivitet aka IPC.. varför de inte fortsatte på den stigen fattar jag fortfarande inte..

Troligtvis pga att de inte kan hänga med Intel
Intel lägger mer pengar på forskning av nya arkitekturer (med mera) än vad hela amd är värt, varje år (om jag inte minns fel)
Så det är väldigt svårt för amd är göra tekniska framsteg i den takt som Intel gör, de kan helt enkelt inte

Permalänk
Medlem
Skrivet av Jacke3:

Troligtvis pga att de inte kan hänga med Intel
Intel lägger mer pengar på forskning av nya arkitekturer (med mera) än vad hela amd är värt, varje år (om jag inte minns fel)
Så det är väldigt svårt för amd är göra tekniska framsteg i den takt som Intel gör, de kan helt enkelt inte

stämmer nog men de bör lära sig utav sina misstag nu iaf. Vill se amd vara konkurrens kraftig och även kunna vinna nästa generation utav cpuer.

Får se om intel har något ess i rockärmen eller om de bara förfinar deras redan förfinade arkitetur.

Det som imponerar hos intel är deras skyhöga effektivitet... specielt i singel threaded, vilket är helt absurt. Och deras låga strömförbrukning.

Permalänk
Medlem

Föreställ dig en förfinad fm2+ socket och steamroller
Quad channel
mycket högre support för minnes frekvens
Och en ny generation APU

omg.. hade varit helt underbart ju.. om de hade fixat quad channel till dagens fm2 och apuer så hade de presterat sjukt bra i grafikdelen.. Även cpu delen borde kunna utnyttja quad channel och minska deras memory latency vilket också är för hög jämfört mot intels.

Så quad channel stöd+ stöd för högre minnes frekvenser

Permalänk
Skrivet av criscros:

stämmer nog men de bör lära sig utav sina misstag nu iaf. Vill se amd vara konkurrens kraftig och även kunna vinna nästa generation utav cpuer.

Får se om intel har något ess i rockärmen eller om de bara förfinar deras redan förfinade arkitetur.

Det som imponerar hos intel är deras skyhöga effektivitet... specielt i singel threaded, vilket är helt absurt. Och deras låga strömförbrukning.

Jo, Intel:s cpu:er imponerar
Men man får också tänka på att amd är nästan alltid mer "bang for the buck"
Att köpa en billig amd cpu och sedan överklocka den ger extremt mycket prestanda för pengarna

iaf
Vad amd nu behöver förbättra är främst deras singelthreaded performance
Vilket det verkar som de ska åtgärda med steamroller
Om det stämmer att de ska få 30% högre ipc börjar de närma sig Intel i prestanda

Lite matte nu
http://www.sweclockers.com/recension/15973-amd-fx-8350-visher...
Här ser du att single threaded prestandan är på 1,12
1,12*1.30=1,456 (30%)
Då ligger de rätt nära en i7 2600k (sandy bridge)
Och som du säkert vet är sandy bridge än idag en mycket bra arkitektur, klarar det mesta

Detta vore väldigt imponerande om amd lyckas men man ska alltid ta dessa siffror med en nypa salt
Värdena amd ger gäller troligtvis bara i vissa program, men vem vet
Själv skulle jag tro på en ökning runt 15% i ipc
Men det är också en bra ökning
1,12*1,15= 1,288 8 (15%)

Jämför man cpu:erna vid samma klockfrekvenser ser man tydligt att phenom II har bättre ipc
http://www.sweclockers.com/recension/15973-amd-fx-8350-visher...
(bläddra till 3 bilden i första grafen )
amd fx har där 0,75 poäng vid 2,8ghz
phenom II har 0,85

Enligt amd så borde det bli såhär då
0,75*1,30=0,975 (30% ökning)

Troligtvis vad det blir
0,75*1,15=0,8625 (15% ökning)
Då har de gått förbi phenom II i ipc och om fx serien behåller ungefär samma klockfrekvenser på 4ghz
Borde det blir ett ganska rejält lyft i prestanda

Detta är dock bara rent teoretiskt, så ta mina beräkningar med en nypa salt (precis som med amd:s)

Permalänk
Medlem
Skrivet av Jacke3:

Jo, Intel:s cpu:er imponerar
Men man får också tänka på att amd är nästan alltid mer "bang for the buck"
Att köpa en billig amd cpu och sedan överklocka den ger extremt mycket prestanda för pengarna

iaf
Vad amd nu behöver förbättra är främst deras singelthreaded performance
Vilket det verkar som de ska åtgärda med steamroller
Om det stämmer att de ska få 30% högre ipc börjar de närma sig Intel i prestanda

Lite matte nu
http://www.sweclockers.com/recension/15973-amd-fx-8350-visher...
Här ser du att single threaded prestandan är på 1,12
1,12*1.30=1,456 (30%)
Då ligger de rätt nära en i7 2600k (sandy bridge)
Och som du säkert vet är sandy bridge än idag är mycket bra arkitektur, klarar det mesta

Detta vore väldigt imponerande om amd lyckas men man ska alltid ta dessa siffror med en nypa salt
Värdena amd ger gäller troligtvis bara i vissa program, men vem vet
Själv skulle jag tro på en ökning runt 15% i ipc
Men det är också en bra ökning
1,12*1,15= 1,288 8 (15%)

Jämför man cpu:erna vid samma klockfrekvenser ser man tydligt att phenom II har bättre ipc
http://www.sweclockers.com/recension/15973-amd-fx-8350-visher...
(bläddra till 3 bilden i första grafen )
amd fx har där 0,75 poäng vid 2,8ghz
phenom II har 0,85

Enligt amd så borde det bli såhär då
0,75*1,30=0,975 (30% ökning)

Troligtvis vad det blir
0,75*1,15=0,8625 (15% ökning)
Då har de gått förbi phenom II i ipc och om fx serien behåller ungefär samma klockfrekvenser på 4ghz
Borde det blir ett ganska rejält lyft i prestanda

Detta är dock bara rent teoretiskt, så ta mina beräkningar med en nypa salt (precis som med amd:s)

OM amd lyckas få samma IPC som sandy bridge och fortfarande ligga på samma prisnivå med förfining i resterande arkitetur då kan intel säga hejdå till marknads andelar xD men jag ser din poäng och håller me dig också att de bör bli IAF 15% förbrättning i bara ipc men kom ihåg den nya lithiografin som också skall användas plus allt annat.. lär vara 20% bättre på allt jämfört mot piledriver

Permalänk
Skrivet av criscros:

OM amd lyckas få samma IPC som sandy bridge och fortfarande ligga på samma prisnivå med förfining i resterande arkitetur då kan intel säga hejdå till marknads andelar xD men jag ser din poäng och håller me dig också att de bör bli IAF 15% förbrättning i bara ipc men kom ihåg den nya lithiografin som också skall användas plus allt annat.. lär vara 20% bättre på allt jämfört mot piledriver

Bara att vänta och se
Kaveri har release i början av 2014 och då får vi verkligen se vad steamroller gå för
Hoppas de verkligen lyckas med denna arkitekturen

Permalänk
Datavetare

Att designa en bra cache är nog det absolut svåraste delen i en modern CPU. Man måste bl.a. balansera storlek mot latens mot klockfrekvens, alla utom Intel verkar sikta mot ganska stora L2-cacher något som leder till sämre latens. Med tanke på att Intel leder IPC-racet överlägset (bara POWER7 som är nära) så verkar det som liten L2 + stor L3 verkar vara optimalt.

Det som är lite förvånande är hur Intel lyckas ha så pass låg latens även mot sin L3. Latensen mot L3 i Piledriver/Bulldozer är faktiskt så hög så L3-cachen nära nog är värdelös. Jämför prestanda mellan Vishera och Trinity, är i princip ingen skillnad när de kör på samma frekvens trots att Trinity helt saknar L3. Faktum är att L3-cachen i sig medför att latensen mot RAM ökar, så Trinity har en fördel över Vishera i att latens mot RAM är lägre.

Innan man är allt för kritiskt mot AMD så ska man inse att runt 20 cyklers latens mot L2 är ganska normalt, alla moderna ARM CPUer ligger på strax över 20 cyklers latens, AMD har detta både på Piledriver och Bobcat och även Oracles SPARC T4/T5 ligger på 18 cykler. De enda som har riktigt låg latens mot L2 är Intel (sedan Nehalem) och IBM (POWER7), men i båda fallen har man väldigt små L2-cache.

IPC kommer av mycket mer än bara cachen även om låg latens mot cache är ett krav om man ska nå riktigt hög IPC. Dagens AMD CPUer har nog större problem än L2 latens att fixa först, t.ex. så har varje CPU-tråd i Haswell backad av 4st ALU-enheter och 4st minnesenheter medan varje CPU-tråd i Piledriver/Bulldozer bara har 2 ALU och 2 minnesenheter.

Problemet med hela modul-designen är att man får bra prestanda när båda CPU-trådarna används men allt för mycket är hårt bundet till en specifik CPU-tråd så enkeltrådprestanda blir väldigt lidande. Med HT har man, i genomsnitt, lika mycket ALU- och minnesenheter per CPU-tråd när båda trådarna jobbar och när bara en tråd jobbar kan den använda alla resurser. Resultatet blir att Intels CPUer utför ungefär lika mycket som en modul för AMD när båda trådarna används men Intels design är långt mycket snabbar när bara en tråd används.

Gissar att AMD missbedömde ganska grovt hur många transistorer man sparade på att dela flyttalsdelen. I Steamroller ska ju varje CPU-tråd även ha separat prefetcher och avkodare, så då kommer man ju spara ännu färre transistorer på att två CPU-trådar delar vissa saker inom en modul. AMD var ju även tvungna att skala tillbaka på ALU och minnesenheter när man designade Bulldozer, Stars hade 3 ALU och 3 minnesenheter per CPU-kärna mot de 2/2 som Bulldozer/Piledriver har.

Det "positiva" (om man ska kalla det så) för AMD är att Intel kommer inte kunna öka IPC speciellt mycket mer. Haswell har redan högst IPC av alla existerade CPUer och simuleringar med hypotetiska CPUer som har oändligt stora interna buffers och massor med ALU/minnes-enheter visar att det aldrig kommer gå att komma över en IPC på 2.5-3.0, Haswell ligger redan i nedre delen av detta spektrum...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Skrivet av Yoshman:

Att designa en bra cache är nog det absolut svåraste delen i en modern CPU. Man måste bl.a. balansera storlek mot latens mot klockfrekvens, alla utom Intel verkar sikta mot ganska stora L2-cacher något som leder till sämre latens. Med tanke på att Intel leder IPC-racet överlägset (bara POWER7 som är nära) så verkar det som liten L2 + stor L3 verkar vara optimalt.

Det som är lite förvånande är hur Intel lyckas ha så pass låg latens även mot sin L3. Latensen mot L3 i Piledriver/Bulldozer är faktiskt så hög så L3-cachen nära nog är värdelös. Jämför prestanda mellan Vishera och Trinity, är i princip ingen skillnad när de kör på samma frekvens trots att Trinity helt saknar L3. Faktum är att L3-cachen i sig medför att latensen mot RAM ökar, så Trinity har en fördel över Vishera i att latens mot RAM är lägre.

Innan man är allt för kritiskt mot AMD så ska man inse att runt 20 cyklers latens mot L2 är ganska normalt, alla moderna ARM CPUer ligger på strax över 20 cyklers latens, AMD har detta både på Piledriver och Bobcat och även Oracles SPARC T4/T5 ligger på 18 cykler. De enda som har riktigt låg latens mot L2 är Intel (sedan Nehalem) och IBM (POWER7), men i båda fallen har man väldigt små L2-cache.

IPC kommer av mycket mer än bara cachen även om låg latens mot cache är ett krav om man ska nå riktigt hög IPC. Dagens AMD CPUer har nog större problem än L2 latens att fixa först, t.ex. så har varje CPU-tråd i Haswell backad av 4st ALU-enheter och 4st minnesenheter medan varje CPU-tråd i Piledriver/Bulldozer bara har 2 ALU och 2 minnesenheter.

Problemet med hela modul-designen är att man får bra prestanda när båda CPU-trådarna används men allt för mycket är hårt bundet till en specifik CPU-tråd så enkeltrådprestanda blir väldigt lidande. Med HT har man, i genomsnitt, lika mycket ALU- och minnesenheter per CPU-tråd när båda trådarna jobbar och när bara en tråd jobbar kan den använda alla resurser. Resultatet blir att Intels CPUer utför ungefär lika mycket som en modul för AMD när båda trådarna används men Intels design är långt mycket snabbar när bara en tråd används.

Gissar att AMD missbedömde ganska grovt hur många transistorer man sparade på att dela flyttalsdelen. I Steamroller ska ju varje CPU-tråd även ha separat prefetcher och avkodare, så då kommer man ju spara ännu färre transistorer på att två CPU-trådar delar vissa saker inom en modul. AMD var ju även tvungna att skala tillbaka på ALU och minnesenheter när man designade Bulldozer, Stars hade 3 ALU och 3 minnesenheter per CPU-kärna mot de 2/2 som Bulldozer/Piledriver har.

Det "positiva" (om man ska kalla det så) för AMD är att Intel kommer inte kunna öka IPC speciellt mycket mer. Haswell har redan högst IPC av alla existerade CPUer och simuleringar med hypotetiska CPUer som har oändligt stora interna buffers och massor med ALU/minnes-enheter visar att det aldrig kommer gå att komma över en IPC på 2.5-3.0, Haswell ligger redan i nedre delen av detta spektrum...

wow
Du förtjänar verkligen din titel

Har bara en fråga:
När du skrev att IPC gränsen kommer ligga runt 2,5-3, menade du då i cinebench?
Och varför ligger gränsen där? (Har gränsen med minskning av transistorerna med det att göra?)