Intel går igenom nyheterna i Haswell

Permalänk
Medlem

Då ville jag bara passa på att ge lite cred till Virtual Void och Aleshi som ser till att höja nivån på trådarna, då dessa annars lätt brukar urarta i rena fanboikrig framförda utan faktisk sakkunskap.

Visa signatur

🖥️ AMD Ryzen 3700x, MSI B350 Mortar Arctic, Corsair lpx 3200, Sapphire 6900XT Nitro, Mbpro 15, MacMini.

Permalänk
Datavetare
Skrivet av saddam:

Oracle SPARC kommer att fördubbla prestanda på sina SPARC servrar vartannat år. Här pratar vi inte futtiga 5% ökning vartannat år. IBM POWER ökar typ 20% prestanda vartannat år. Det är också bättre. ALLA är bättre än Intel. Hur många av er kommer att uppgradera för att få 5% högre prestanda? Ingen?

Du jämför definitivt äpplen och päron här. Oracle referens till SPARCs prestandaförbättring refererar till aggregerad prestanda, d.v.s. summan av den prestanda du teoretiskt kan få om alla kärnor och trådar jobbar samtidigt. Med det sättet att räkna så har prestandaförbättringen på Xeon var betydligt mer än så under de senaste 5-7 åren då man gått från single core P4/PentiumM baserade Xeons på ~2GHz till 10 kärniga Sandy Bridge baserade Xeons på upp till 3.8 GHz.

För en server är I/O hastigheten väldigt viktigt, jämför då SPARC T5:s 2x8 PCIe 3.0 banor per sockel mot de värsta Xeon med 40 PCIe 3.0 banor per sockel. Just I/O hastigheten ökade med nära nog 80% från Westmere till Sandy Bridge då Sandy Bridge kan köra DMA från/till L3-cache (känt som DDIO) medan andra CPUer och tidigare Xeons måste flusha ut data till RAM då DMA endast kan utföras därifrån.

Tittar du på IPC förbättringarna mellan SPARC T4 och T5 så är det definitivt ingen fördubbling, det är mer de 10% du såg mellan Sandy till Ivy.

Skrivet av Aleshi:

De tillverkar processorer utan GPU men med fler kärnor också. Men eftersom det inte ökar prestandan för vanligt folk som gör vanliga saker så är det något som är förbehållet servrar, workstations och entusiastmaskiner, och kostar därmed därefter.

Fast så fasligt dyr är inte Xeon. Skiljer någon 100-lapp mellan Core i7-3930K och motsvarande Xeon. Därför jag inte riktigt begriper varför folk skriker om Ivy Bridge E och Haswell E, det är ju bara köpa Xeon då det ändå handlar om samma sockel.

Skrivet av Aleshi:

Kan du bara inte bara läsa på. AMDs moduluppbyggnad är inte en avancerad form av HT. En AMD modul ger prestandamässigt 160-180% av en ensam kärna, och denna skalningen kommer öka med steamroller då det blir dubbla decoders. En vanlig dualcore ligger på runt 190% av prestandan av en singlecore. HT ger allt som oftast 120-130%. Prestandamässigt ligger en modul betydligt närmare en ren dualcore. Och med steamroller då konceptet kommer mer till sin rätt så är det mer en vanlig dualcore med delad prefetch.

160%-180% är nog i VÄLDIGT ideala fall. Hittade denna site http://www.softlab.ntua.gr/release/bencherl/results.html som visar hur Erlang beter sig på en lite olika system, bl.a. en Bulldozer med 32 moduler (64 trådar). Kolla hur mycket mindre effekt det är efter 32 trådar och i vissa fall MINSKAR prestanda när man passerar 32-trådar.

Edit: känner att jag inte ger den cred till AMD som de ändå förtjänar. Det man kan notera är att modul-konceptet ändå ger klart mer effekt på den andra tråden jämfört med Intels HT, å andra sidan så kostar HT betydligt mycket mindre räknat i transistorer än den andra tråden i en modul.

Visa signatur

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

Permalänk
Medlem

Virtual Void #62

Citat:

160%-180% är nog i VÄLDIGT ideala fall. Hittade denna site http://www.softlab.ntua.gr/release/b...l/results.html som visar hur Erlang beter sig på en lite olika system, bl.a. en Bulldozer med 32 moduler (64 trådar). Kolla hur mycket mindre effekt det är efter 32 trådar och i vissa fall MINSKAR prestanda när man passerar 32-trådar.

Det må vara korrekt.
Men om man istället kollar på 4 moduler /8 trådar stämmer ju Aleshis påstående.

Fråga:
Menar du att en Intel 32 core med HT inte skulle tappa effektivitet per kärna i motsvarande grad?
Är inte detta fenomen i själva verket beskrivet här:
http://en.wikipedia.org/wiki/Amdahl's_law

Visa signatur

🖥️ AMD Ryzen 3700x, MSI B350 Mortar Arctic, Corsair lpx 3200, Sapphire 6900XT Nitro, Mbpro 15, MacMini.

Permalänk
Medlem

men herregud, de har knappt hunnit släppa ivy bridge och så kommer en ny direkt

Visa signatur

Chassi: en låda | CPU: i femma | Ram: 16 gib | Moderkort: jag vet inte | Hårddisk: några tusen gig och en SSD | Grafikkort: GTX 670 | Strömgrej: PSU

Permalänk
Datavetare
Skrivet av jacozz:

Virtual Void #62

Det må vara korrekt.
Men om man istället kollar på 4 moduler /8 trådar stämmer ju Aleshis påstående.

Fråga:
Menar du att en Intel 32 core med HT inte skulle tappa effektivitet per kärna i motsvarande grad?
Är inte detta fenomen i själva verket beskrivet här:
http://en.wikipedia.org/wiki/Amdahl's_law

Gjorde precis ett tillägg just om AMD ovan. Är mycket medveten om vad Amdahl's lag säger och förstår man hur Erlang är implementerat så inser man också varför Ahmdahl's lag är ett mycket litet problem i de flesta Erlang-system. Erlang kör med modellen: processer delar inget och därför behövs inga lås som serialiserar saker. Naturligtvis kan Erlang-program som kör färre processen är det finns CPU-kärnor inte skala på något magiskt sätt, men det är inte fallet i de flesta av de benchmarks som listas på sidan.

Erlang kör idag på system med 100-tals CPU-kärnor och man siktar på att köra på system med tusentals och kanske även tiotusentals CPU-kärnor relativt snart. Ahmdal borde då inte ställa till med några större problem när man kör med 64 CPU-trådar.

Visa signatur

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

Permalänk
Medlem

Virtual Void #65
Ok. Då är vi överens.
Frågan kvarstår dock. AMD verkar gå all in på flertrådat + HSA.
Det känns som gambling. Och andra sidan, vad skulle man själv ha gjort när din konkurrent är 10 ggr större med lika mycket mer resurser?

Intel kör ett mer klassiskt upplägg med cpu/fpu + gpu inbed.
Jag vet inte, men nog känns det som att AMD är tvunget att lyckas få programutvecklarna att koda HSA för att dom ska lyckas med sin gambling, sett ett par år framåt dvs.

Visa signatur

🖥️ AMD Ryzen 3700x, MSI B350 Mortar Arctic, Corsair lpx 3200, Sapphire 6900XT Nitro, Mbpro 15, MacMini.

Permalänk
Medlem
Skrivet av Yoshman:

Fast så fasligt dyr är inte Xeon. Skiljer någon 100-lapp mellan Core i7-3930K och motsvarande Xeon. Därför jag inte riktigt begriper varför folk skriker om Ivy Bridge E och Haswell E, det är ju bara köpa Xeon då det ändå handlar om samma sockel.

Nä är väl sant, slår man ut det på ett helt system i den klassen dessutom så är skillnaden i pris inte så jättestor.

Skrivet av Yoshman:

160%-180% är nog i VÄLDIGT ideala fall. Hittade denna site http://www.softlab.ntua.gr/release/bencherl/results.html som visar hur Erlang beter sig på en lite olika system, bl.a. en Bulldozer med 32 moduler (64 trådar). Kolla hur mycket mindre effekt det är efter 32 trådar och i vissa fall MINSKAR prestanda när man passerar 32-trådar.

Jag pratar mer om 4-8 trådar. Det högsta jag sett i något program är runt 7,5 gånger prestandan vid 8 trådar mot en. Men jag är fullt medveten om att det är ett undantag. Cinebench ligger väl runt 6 gånger prestandan vid flertrådat.

Permalänk
Medlem

Hoppas att nästa MBPR har en sådan, så slår jag till!

Visa signatur

Stationär: i5 2500K @ 4.3 GHz / GTX570 / 8GB @ 1600MHz / P8Z68-V Pro / 120GB SSD + 320 GB HDD / HX650 / FD Define R3 / W7 64 bit
Bärbart: 13.3" MacBook Pro / iPhone 4 / Nikon D80 + 18-135/3.5-5.6 + 50/1.8D
Hemmabio: Samsung 40" UE40D6515 / Yamaha RX-V465 + Canton GLE 490 (MW)
Kaffe: Moccamaster KB741 || Planerat: Rancilio Silvia + Gaggia MDF

Permalänk
Datavetare
Skrivet av Aleshi:

Jag pratar mer om 4-8 trådar. Det högsta jag sett i något program är runt 7,5 gånger prestandan vid 8 trådar mot en. Men jag är fullt medveten om att det är ett undantag. Cinebench ligger väl runt 6 gånger prestandan vid flertrådat.

Finns även sådana fall där HT är extremt effektivt t.ex. detta program som använder en SSE optimerad mandelbrot: http://shootout.alioth.debian.org/u32/program.php?test=mandel...

På en Core i7 2600 körandes 64-bit Linux skapas en 16000x16000 pixels mandelbrot på 10.94s om man använder en CPU-kärna. Det tar 5.63s resp 6.09s med två fysiska kärnor resp två HT, d.v.s skalning på 1.94 med "riktigt" kärna och 1.80 med HT. Rent generellt har jag noterat att HT är mest effektiv just på saker där båda trådarna använder sig av flyttal. Att det inte skalar helt linjär på "riktiga" kärnor i detta fall beror nog mest på att det tar en del tid (relativt sett) att skriva ut 32MB (storleken på bilden) till disk, något som gör av en CPU-tråd.

Kör man med 4 fysiska kärnor (utan HT) och 4 kärnor med HT så tar det 2.96s (x3.7) resp 1.64s (x6.7).

Men i det allmänna fallet känns HT rätt meningslöst på desktop. Nackdelen är ju att om t.ex. min webbläsare kör på CPU tråd #0 och något får för sig att börja köra på CPU tråd #4 (samma fysiska kärna, men andra tråden) så blir ju webbläsaren långsammare. Kanske inte så stort problem just på en webbläsare, men tänk om man kör något som är relativt tungt och låg latens är viktigt. Detta har väl visat sig i vissa spel som kan bli något långsammare om HT är på, vet inte om samma sak kan hända med AMDs moduler men ser inte varför det inte skulle kunna ske.

Visa signatur

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

Permalänk
Medlem

Virtual Void #69

Citat:

Men i det allmänna fallet känns HT rätt meningslöst på desktop. Nackdelen är ju att om t.ex. min webbläsare kör på CPU tråd #0 och något får för sig att börja köra på CPU tråd #4 (samma fysiska kärna, men andra tråden) så blir ju webbläsaren långsammare.

Visst sker detta även med Bulldozern, och dessutom i högre grad än med HT. Boten på detta enligt AMD:s sätt att se på det, är att istället öka frekvensen på de aktiva kärnorna och försätta de inaktiva kärnorna i vila.

Dessa test är ju gjorda i win 7 och inte Linux men värd att kika på:
http://www.xtremesystems.org/forums/showthread.php?275873-AMD....

syftningsfel
Visa signatur

🖥️ AMD Ryzen 3700x, MSI B350 Mortar Arctic, Corsair lpx 3200, Sapphire 6900XT Nitro, Mbpro 15, MacMini.

Permalänk
Medlem
Skrivet av Yoshman:

Finns även sådana fall där HT är extremt effektivt t.ex. detta program som använder en SSE optimerad mandelbrot: http://shootout.alioth.debian.org/u32/program.php?test=mandel...

På en Core i7 2600 körandes 64-bit Linux skapas en 16000x16000 pixels mandelbrot på 10.94s om man använder en CPU-kärna. Det tar 5.63s resp 6.09s med två fysiska kärnor resp två HT, d.v.s skalning på 1.94 med "riktigt" kärna och 1.80 med HT. Rent generellt har jag noterat att HT är mest effektiv just på saker där båda trådarna använder sig av flyttal. Att det inte skalar helt linjär på "riktiga" kärnor i detta fall beror nog mest på att det tar en del tid (relativt sett) att skriva ut 32MB (storleken på bilden) till disk, något som gör av en CPU-tråd.

Kör man med 4 fysiska kärnor (utan HT) och 4 kärnor med HT så tar det 2.96s (x3.7) resp 1.64s (x6.7).

Men i det allmänna fallet känns HT rätt meningslöst på desktop. Nackdelen är ju att om t.ex. min webbläsare kör på CPU tråd #0 och något får för sig att börja köra på CPU tråd #4 (samma fysiska kärna, men andra tråden) så blir ju webbläsaren långsammare. Kanske inte så stort problem just på en webbläsare, men tänk om man kör något som är relativt tungt och låg latens är viktigt. Detta har väl visat sig i vissa spel som kan bli något långsammare om HT är på, vet inte om samma sak kan hända med AMDs moduler men ser inte varför det inte skulle kunna ske.

Fast det där testet är ju näst intill syntetiskt. Inte direkt något användningsområde med det. Sådana saker kan man ju alltid komma nära teoretiska siffror med. Det är i ren praktik som skillnaden mellan modul-design och HT är stor. För att ta Cinebench exemplet igen så brukar HT ge runt 20% där. Och jag tror inte AMD förlorar något på sin moduldesign i spel, det verkar inte finnas några scenarion där det är positivt att stänga av så att det blir 4 klassiska kärnor.
http://www.xtremesystems.org/forums/showthread.php?275873-AMD...
Där är en intressant tråd med benches. Notera hur väldigt nära 2CU/4C kommer 4CU/4C på vissa tester. Och detta i lite mer realistiska sammanhang.

EDIT: Kul att Jacozz länkar till samma test medan jag skriver mitt inlägg.
EDIT 2: Fast vi kommer inte fram till samma slutsats. 4CU/8C är alltid snabbare än 4CU/4C. Så jag tycker inte det ser ut som att moduldesignen skulle innebära prestandanackdelar på samma sätt som HT kan göra.
EDIT 3: Tar tillbaka det sista, verkar som att det kan bli en liten prestandaförlust i spel. Men det är främst för att den väljer att klra två trådar på en modul istället för på var sin modul.
http://www.xtremesystems.org/forums/showthread.php?275873-AMD...

Permalänk
Medlem

Hehe vi är ju simultana?
Jag tänkte just skriva:
Förutom i fåtrådade spel så har du rätt

Visa signatur

🖥️ AMD Ryzen 3700x, MSI B350 Mortar Arctic, Corsair lpx 3200, Sapphire 6900XT Nitro, Mbpro 15, MacMini.

Permalänk
Medlem
Skrivet av jacozz:

Hehe vi är ju simultana?
Jag tänkte just skriva:
Förutom i fåtrådade spel så har du rätt

Man är lite för snabb ibland.

Permalänk
Datavetare
Skrivet av Aleshi:

EDIT 2: Fast vi kommer inte fram till samma slutsats. 4CU/8C är alltid snabbare än 4CU/4C. Så jag tycker inte det ser ut som att moduldesignen skulle innebära prestandanackdelar på samma sätt som HT kan göra.

Tror vi faktiskt är rätt överens här ändå. I normalfallet så ger HT en liten ökning på 20-30% på totala prestanda och moduldesignen ger 160-170% (AMD själva säger att den ger upp till 80% effektivitet, vilket ger .8*.8=164% på två kärnor). Finns även "riktiga" program där HT kan ge upp mot 60-70%, vissa typer av server-laster som begränsas helt och hållet av latens hamnar här. Även "riktiga" program som har en hög andel SSE instruktioner ger väldigt bra utdelning på HT, kanske inte lika mycket som mandelbrot programmet men det kan definitivt hamna runt 50%.

Men på desktop är ofta prestanda per tråd viktigare än total aggregerad prestanda och prestanda per tråd sjunker både med HT och med moduldesignen när båda trådarna används.

Om en tråd utför 100 arbete så utför två HT 120 arbete och två moduler 160 arbete. Men om nu det jag bryr mig mest om, min applikation i förgrunden, bara kör på en tråd så utförde den 100 arbete från början men bara 60 arbete om andra tråden används i HT fallet och 80 arbete i modulfallet. Vad jag menar är att vi är överens om att totala mängden utfört arbete ökar. Sen pekade jag på ovan att det existerar verkliga fall där användandet HT/moduler också kan leda till totalt sett försämrad prestanda, men det hör till undantagen.

Så även i det läget när HT/moduler ger positivt tillskott så kan upplevd prestanda för mig som användare av systemet minska. Men tanke på hur extremt få saker som kör på desktop som har nytta av mer än 4 CPU-trådar, så är vare sig HT eller "moduler" något jag skulle betala extra för på ett desktop-system. Om datorn råkar ha en CPU med den finessen så skulle jag nog lämna det på och hoppas att OS:et är tillräckligt intelligent att låta bli att använda den andra tråden så ofta det bara går, men för HT kan det finnas användarfall där det nog vore bäst att stänga av det.

Visa signatur

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

Permalänk
Medlem
Skrivet av Yoshman:

Och det är en produkt som kommer, inte bara med 8 kärnor utan även med 10 och eventuellt 12 kärnor i form av Xeon. Så varför tjatar folk hela tiden om att de vill se en Sandy/Ivy/Haswell utan GPU med minst 6 kärnor när en sådan produkt redan finns i form av t.ex. Xeon EX med 10 CPU-kärnor???

Skrivet av Aleshi:

De tillverkar processorer utan GPU men med fler kärnor också. Men eftersom det inte ökar prestandan för vanligt folk som gör vanliga saker så är det något som är förbehållet servrar, workstations och entusiastmaskiner, och kostar därmed därefter.

Skrivet av Tumnus:

Men hur stor del av konsumenterna har behov av en processor med åtta kärnor? De är få och för de som behöver mer än 6 kärnor så finns SB-E. Jag har dessutom svårt att tro att Intel skulle börja producera processorer som faktiskt skulle konkurrera med SB-E framförallt när de fortfarande släpper CPU:er till socketen. Kombinationen av liten efterfrågan och Intels policy att ha en mainstream och en entusiast socket, som man fört sedan socket 1366 lanserades, så tvivlar jag att Intel har någon orsak att lansera en 6 kärnig processor för nästkommande socket (som i detta fall är 1150)

När jag skrev att jag ville ha en CPU med >4 kärnor och utan GPU så menade jag en CPU som ligger i samma prisklass som en 3770K, och inte en 500+€ Xeon/SB-E. Och så klart vet jag att Intel inte vill konkurrera med sig själva. Men tänk på att Nehalem lanserades 2008 och är precis som IB, en fyrkärnig CPU med HT. Skillnaden är att Nehalem är byggd på 45nm och IB på 22nm. Nehalems motsvarighet till 3770K är en 920, som låg i samma prisklass när den lanserades. 3,5 - 4 års utveckling, två processnoder senare och fortfarande fyra kärnor. Fyra mycket kompetenta kärnor + en GPU som sammanlagt drar avsevärt mindre ström, men inte riktigt vad jag ville se. Känns som om de helt enkelt gått en annan väg än vad jag ville.

Visa signatur

FT02B • HX620W • P5E Deluxe @ PL11 • Yorkfield Q9450 C1 lappad @ 440x7,5 = 3,3GHz @ 1,380V w/ NH-D14 • 2x2 + 2x1 GB DDR2 @ 880MHz 5-5-5-18 • Palit 55nm GTX260 Sonic • Xonar DX • 36GB Raptor • 3TB Caviar Green • U2713HM • W7 x64 • Ikari Laser • Sidewinder X6

Permalänk
Medlem
Skrivet av KNI-861:

När jag skrev att jag ville ha en CPU med >4 kärnor och utan GPU så menade jag en CPU som ligger i samma prisklass som en 3770K, och inte en 500+€ Xeon/SB-E. Och så klart vet jag att Intel inte vill konkurrera med sig själva. Men tänk på att Nehalem lanserades 2008 och är precis som IB, en fyrkärnig CPU med HT. Skillnaden är att Nehalem är byggd på 45nm och IB på 22nm. Nehalems motsvarighet till 3770K är en 920, som låg i samma prisklass när den lanserades. 3,5 - 4 års utveckling, två processnoder senare och fortfarande fyra kärnor. Fyra mycket kompetenta kärnor + en GPU som sammanlagt drar avsevärt mindre ström, men inte riktigt vad jag ville se. Känns som om de helt enkelt gått en annan väg än vad jag ville.

Men det är det där med att den stora massan har mer nytta av starkare kärnor än flera. Hade prestandan skalat linjärt med kärnor i alla applikationer så hade det varit ett race efter kärnor nu som det en gång var med frekvens. Nu är det förunnat workstations och servermarknaden. Eftersom det inte behövs till konsumentmaskiner så är det något de kan ta betalt för till workstations. De vill ju ha något extra att erbjuda i en dyr workstation jämfört med en halvbillig spel-PC.

Permalänk
Medlem
Skrivet av Aleshi:

Men det är det där med att den stora massan har mer nytta av starkare kärnor än flera. Hade prestandan skalat linjärt med kärnor i alla applikationer så hade det varit ett race efter kärnor nu som det en gång var med frekvens. Nu är det förunnat workstations och servermarknaden. Eftersom det inte behövs till konsumentmaskiner så är det något de kan ta betalt för till workstations. De vill ju ha något extra att erbjuda i en dyr workstation jämfört med en halvbillig spel-PC.

Om jag inte minns fel så är SB-E egentligen en åttakärnig CPU med två kärnor avstängda. Aktivera alla 8, sätt en en prislapp på 500€ eller högre och vips så kan man sälja sexkärniga CPU:er för 300€.

Visa signatur

FT02B • HX620W • P5E Deluxe @ PL11 • Yorkfield Q9450 C1 lappad @ 440x7,5 = 3,3GHz @ 1,380V w/ NH-D14 • 2x2 + 2x1 GB DDR2 @ 880MHz 5-5-5-18 • Palit 55nm GTX260 Sonic • Xonar DX • 36GB Raptor • 3TB Caviar Green • U2713HM • W7 x64 • Ikari Laser • Sidewinder X6

Permalänk
Medlem
Skrivet av KNI-861:

Om jag inte minns fel så är SB-E egentligen en åttakärnig CPU med två kärnor avstängda. Aktivera alla 8, sätt en en prislapp på 500€ eller högre och vips så kan man sälja sexkärniga CPU:er för 300€.

Ja det var ju enkelt. Har du räknat med yields här? Och hur det påverkar priset på 4-kärniga? De måste ju ha markant lägre pris på 4-kärniga. och eftersom de räcker mer än väl för det mesta så kommer resultatet vara att 90%+ fortsätter köpa samma processorer som innan, fast till lägre pris. Bra strategi tror du?

Permalänk
Avstängd
Skrivet av Aleshi:

Så du gissar på 5%, alltså hälften av prestandavinsten från IB som är en Tick? Detta helt utan grund, och sedan klagar du på Intel från denna förutfattade mening. Hur tänker du då?

Jag tänker så som att varken Nehalem, Sandybridge eller Ivy Bridge har gett revolutionerande prestandökningar, om man jfr med föregående generation. Det har alltid varit fråga om 5-10%. Så då är min gissning på 5% inte helt fel. Vadå, tror du att HW kommer att bryta mönstret och vara mycket mer än 10% snabbare? Hur tänker du då?

Citat:

Och hur är [POWER, SPARC] IPC per kärna? Hur ökar den varje generation? Ja just det. Ingen processor i världen kan mäta sig med Intels när det kommer till prestanda per kärna.

Har du någon aning om andra cpuer än x86? Jag föreslår att du läser på lite om SPARC CMT och POWER. Du verkar inte vidare uppdaterad. Flera benchmarks visar att SPARC och POWER är snabbast i världen på många saker. Har du missat det?

Vem bryr sig om IPC per kärna, när de är snabbast i världen? Det är ungefär som "och hur högt klockade är de? Jasså inte vidare högt, ja då kan de inte vara snabba!". Vem bryr sig om Hz när de är snabbast i världen? IPC betyder inte att en cpu är snabb.

T.ex. studier från Intel visar att en x86 server cpu idlar ca 50% av tiden - under full load. Under max load, så väntar en x86 på data pga cachemissar ungefär hälften av tiden. Så en 3GHz x86 cpu kör egentligen på 1.5GHz under max load. ALLA cpuer idlar ca 50% av tiden under max load, pga cachemissar. Detta pga cpun är mycket snabbare än minnet. Och därför har alla cpuer stora cacheminnen och komplex prefetch logik där de försöker hämta data i förväg. Men att få nyttjandegraden till 60-70% är ju mycket svårt och Intel har inte lyckats när det gäller server workloads. Det är ju självklart, eftersom en server ska betjäna tusentals klienter och det går inte att cache tusentals klienters data, OS och databas och annat, i en liten 24MB cache. Cachen börjar thrasha och swappa. Det blir mycket cachemissar.

Alla cpuer idlar 50-60% av tiden under full load, och har alltid gjort, vilken är en välkänd hemlighet bland cpu tillverkare. Alla cpuer har historiskt idlat 50%. Utom SPARC Niagara CMT. Den är helt ny och revolutionerande. Den försöker inte undvika cachemissar, för det är omöjligt. Enda sättet att undvika cachemissar är om cpun är synsk. Niagara SPARC har istället många kärnor, och varje kärna har 8 trådar. Så fort en tråd får en cachemiss, så switchas över till en annan tråd på typ 1 klockcykel och fortsätter arbeta på en annan tråd utan avbrott. En vanlig cpu switchar tråd på flera 100 klockcykler. Detta leder till att Niagara CMT har en nyttjandegrad på 90%, en Niagara SPARC får nästan aldrig cachemissar. Detta är skälet till att en SPARC Niagara på 1.6GHz kan vara 50x snabbare på vissa workloads än x86. Detta är helt unikt och nytt och revolutionerande. Ingen har lyckats få mer än 50% nyttjandegrad, någon gång. Förutom SUN, dvs ORACLE.

Så hur hög IPC har SPARC? Vem bryr sig? Den har 90% nyttjandegrad och krossar. OBServera att det finns två typer av SPARC: en gammal vanlig som ser precis ut som vanliga cpuer som x86, POWER, etc. Den är inte vidare snabb, men Fujitsu har presenterat en 16 core SPARC. Sen har vi den nya revolutionerande SPARC, som funkar som jag beskrev. Den kallas bl.a. SPARC Niagara CMT. Så skilj mellan SPARC och CMT cpuerna.

Citat:

IBM och Oracle kastar bara fler kärnor på problemet, det är ingen vidare konst. Grejen är att det inte hjälper konsumentprestanda. Intel är överlägsna på den punkten och fortsätter öka i högre takt än någon annan.

Det är en stor konst att slänga på flera kärnor, och inte alls lätt att göra. Hur ska du få in flera kärnor och behålla vettig TDP? Tror du att det är enkelt? Då skulle väl alla slänga på 100 tals kärnor!

Och ORACLE slänger inte bara på fler kärnor, läs ovan.

Och när det gäller konsument prestanda, ja, där tävlar inte SPARC och POWER eftersom det finns inga konsumentPC med såna cpuer. De är server cpuer och krossar på server loads. T.ex. den gamla SPARC Niagara T2 kunde vara 50x snabbare än x86 på vissa workloads. SPARC CMT är optimerade för genomströmning av stora mängder data, inte tugga siffror. POWER är optimerad för att tugga siffror. x86 har inte alls samma genomströmning och storknar när det är stora datamängder.

Man brukade säga om tidiga Niagara CMT SPARC, att den är som stor långsam buss som rymmer 100 passagerare. Och x86/POWER är som en liten snabb porsche som rymmer 2 passagerare. Antag att du ska transportera stora mängder människor, säg 10.000. Vem blir klar först? Vem storknar först?

Citat:

Även AMD är grymt duktiga på responsiv enkeltrådsprestanda jämfört med IBM och Oracle som mest satsa på att skyffla stora mängder data. Återigen så klagar du på ett tal som du bara hittat på själv.

Jisses. Du är helt okunnig om tyngre cpuer. POWER är den cpu med starkaste trådar, det är bara att kolla t.ex. siffertuggningsprestanda och GFLOPS. ORACLE har också fått till bra trådning på senare tid. Här kan du kolla lite benchmarks mot en Intel Westmere-EX mot en POWER7, och se hur långsam POWER egetnligen är.
http://www.anandtech.com/show/4285/westmereex-intels-flagship...
AMD och Intel har svaga trådar.med t.ex. POWER

Citat:

Intel har ökat 10% bara med IB, Haswell är en Tock och ger mycket mer, Alltså kan vi säga att Intel som absolut minst ger 20% vartannat år, antagligen betydligt mycket mer.

Du gissar här och jag köper inte din gissning. Din gissning är lika god som min. Men eftersom jag baserar min gissning på tidigare data, och du hittar på, så kanske min gissning är godare.

[/QUOTE]Kan du bara inte bara läsa på. AMDs moduluppbyggnad är inte en avancerad form av HT. En AMD modul ger prestandamässigt 160-180% av en ensam kärna, och denna skalningen kommer öka med steamroller då det blir dubbla decoders. En vanlig dualcore ligger på runt 190% av prestandan av en singlecore. HT ger allt som oftast 120-130%. Prestandamässigt ligger en modul betydligt närmare en ren dualcore. Och med steamroller då konceptet kommer mer till sin rätt så är det mer en vanlig dualcore med delad prefetch.[/QUOTE]
Kan inte du bara läsa på? Intels hyperthreading kör två trådar samtidigt på en core. AMD har tagit det ett steg längre, och dubblerat vissa saker i en core så att en AMD core nästan blivit en dual core, precis det jag påstod. Men min poäng är att AMD gör ett misstag när de säger att sina feta cores är värda två cores. Det stämmer ju inte alls. Det ser illa ut när AMDs 8 core cpuer (som egentligen är fyra feta cores) får stryk av Intels 4 core cpuer. Det vore bättre om AMD sade att de har 4 cores, inte 8 cores. Då skulle man inte jämföra Intels 8-core cpuer mot AMDs 4 feta cores. Det gör man nu, och AMD ser bara skrattretande ut. Jämföra 8 Intel cores, mot 4 av AMDs feta cores - ja det blir skrattretande utklassning. Bättre säga att AMD har 4 cores, så blir det ingen sån jämförelse.

Du är bland det mest okunniga jag läst här på swec, om tyngre Unix server cpuer. Noll koll, verkligen.

Permalänk
Avstängd
Skrivet av Yoshman:

Du jämför definitivt äpplen och päron här. Oracle referens till SPARCs prestandaförbättring refererar till aggregerad prestanda, d.v.s. summan av den prestanda du teoretiskt kan få om alla kärnor och trådar jobbar samtidigt. Med det sättet att räkna så har prestandaförbättringen på Xeon var betydligt mer än så under de senaste 5-7 åren då man gått från single core P4/PentiumM baserade Xeons på ~2GHz till 10 kärniga Sandy Bridge baserade Xeons på upp till 3.8 GHz.

För en server är I/O hastigheten väldigt viktigt, jämför då SPARC T5:s 2x8 PCIe 3.0 banor per sockel mot de värsta Xeon med 40 PCIe 3.0 banor per sockel. Just I/O hastigheten ökade med nära nog 80% från Westmere till Sandy Bridge då Sandy Bridge kan köra DMA från/till L3-cache (känt som DDIO) medan andra CPUer och tidigare Xeons måste flusha ut data till RAM då DMA endast kan utföras därifrån.

Tittar du på IPC förbättringarna mellan SPARC T4 och T5 så är det definitivt ingen fördubbling, det är mer de 10% du såg mellan Sandy till Ivy.

Jag fattar inte varöfr alla pratar om IPC? Det finns andra sätt att få upp prestandan.

Poängen är att SPARC har flera världsrekord idag. Och nya generationer kommer att dubbla prestandan. Jag skulle vilja se x86 lyckas dubbla prestandan och slå lite världsrekord.

Permalänk
Entusiast
Skrivet av KNI-861:

När jag skrev att jag ville ha en CPU med >4 kärnor och utan GPU så menade jag en CPU som ligger i samma prisklass som en 3770K, och inte en 500+€ Xeon/SB-E. Och så klart vet jag att Intel inte vill konkurrera med sig själva. Men tänk på att Nehalem lanserades 2008 och är precis som IB, en fyrkärnig CPU med HT. Skillnaden är att Nehalem är byggd på 45nm och IB på 22nm. Nehalems motsvarighet till 3770K är en 920, som låg i samma prisklass när den lanserades. 3,5 - 4 års utveckling, två processnoder senare och fortfarande fyra kärnor. Fyra mycket kompetenta kärnor + en GPU som sammanlagt drar avsevärt mindre ström, men inte riktigt vad jag ville se. Känns som om de helt enkelt gått en annan väg än vad jag ville.

Kolla upp konceptet med binning så ser du snart varför det är 8-kärniga processorer med två kärnor låsta. Det handlar om att ta hand om defekta processorer. På samma sätt är alla i3, i5 och i7 egentligen en 3770K men olika stympade. De billigaste har fått offra kärnor och frekvenserna varierar. Detta för att kvalitén på varje enskild CPU varierar.

Sen är det fortfarande så att det är ytterst få som faktiskt har nytta av många kärnor och de få exempel som tas upp, ofta rendrering av olika slag, film som 3D, generellt skulle göras väldigt mycket snabbare på ett grafikkort. Så i takt med att GPGU blir vardagsmat minskar behovet av flerkärniga processorer ytterligare. Du kan ju till exempel ta och titta på hur stor skillnad det är att konvertera h.264 med CPU, GPU med CUDA, GPU med OpenGL och slutligen med Intels integrerade grafik. Intressant nog vinner Intels integrerade grafik stort över ett GTX 580 som i sin tur vinner stort över en processor. Så vad ska man då med massa extra kärnor till? Ber du snällt kan nog Virtual Void ge dig en liten föreläsning i hur svårt det är att faktiskt tråda upp mycket av det som en normal dator gör.

http://www.dustinhome.se/product/5010628495/intel-xeon-e5-262...
Varsågod, 6 kärnor för typ 3500 kr. Att jämföra med 3770K som kostar typ 3000 kr. Går att hitta serverbrädor som inte är alltför dyra heller för man betalar ju rätt mycket för licenspengar, design och pistolformade kylflänsar när man köper X79. Annars går det att bygga ihop 8 kärnor rätt billigt om man kör med dubbla 4-kärniga.

Visa signatur

Q9450, HD4850, 8 GB DDR2 800 MHz, 3x750 GB, Antec 300, Dell 2408WFP, U2410, Qnap TS-419p+ 4x2 TB Samsung F4, Asus UL30A-QX056V, Logitech Z-680, Sennheiser HD380pro, M-Audio FastTrack Pro, Ibanez sa160qm, Ibanez TB 15R, Zoom 505II, Ibanez GSR 200, Ibanez SW 35, Cort AC-15, Squier SD-3 BBL, Yamaha PSR 270, Røde NT1-A, Nikon D200, Nikkor 18-70/3,5-4,5, 70-300VR, 50/1,8, 28/2,8, Tamron 17-50/2,8, 90/2,8, Sigma 30/1,4, SB-800, SB-25, SB-24

Permalänk
Entusiast
Skrivet av Yoshman:

Personligen tycker jag alla nyheter i Haswell, utom möjligen dubblad flyttalsprestanda, är skitsaker i jämförelse med TSX. Alla som som jobbat med att optimera programvara för att köra och effektivt utnyttja många CPU-kärnor måste inse vilken brutalt användbar finess TSX är.

Den enda jag är lite nervös för är att det kommer smaka lite 1.0 om Haswells implementation av transactional memory (som är det man använder med TSX) och att det inte blir så effektivt i praktiken som det i teorin kan vara. Men förhoppningsvis blir man positivt överraskad. Lär bli både ny laptop och ny desktop med denna CPU

Så då är den stora frågan för mig, som pysslar med lite saker som faktiskt pressar en processor lite så som bildredigering, filmredigering och så vidare, när kommer vi få se mjukvaruimplimentationer av det här? Jag skulle behöva byta ut min dator då den är rätt ledsen men frågan är om jag ska stå ut till Haswell om det faktiskt innebär en stor förbättring. Eller är det som vilken annan processor nod som helst fram till om tre år när mjukvaran hunnit i kapp? För i så fall orkar jag inte vänta utan då får jag ta det vid nästa uppgradering.

Visa signatur

Q9450, HD4850, 8 GB DDR2 800 MHz, 3x750 GB, Antec 300, Dell 2408WFP, U2410, Qnap TS-419p+ 4x2 TB Samsung F4, Asus UL30A-QX056V, Logitech Z-680, Sennheiser HD380pro, M-Audio FastTrack Pro, Ibanez sa160qm, Ibanez TB 15R, Zoom 505II, Ibanez GSR 200, Ibanez SW 35, Cort AC-15, Squier SD-3 BBL, Yamaha PSR 270, Røde NT1-A, Nikon D200, Nikkor 18-70/3,5-4,5, 70-300VR, 50/1,8, 28/2,8, Tamron 17-50/2,8, 90/2,8, Sigma 30/1,4, SB-800, SB-25, SB-24

Permalänk
Medlem
Skrivet av saddam:

Jag tänker så som att varken Nehalem, Sandybridge eller Ivy Bridge har gett revolutionerande prestandökningar, om man jfr med föregående generation. Det har alltid varit fråga om 5-10%. Så då är min gissning på 5% inte helt fel. Vadå, tror du att HW kommer att bryta mönstret och vara mycket mer än 10% snabbare? Hur tänker du då?

Jag tänker att du har noll koll. Nehalem erbjöd ofta 40-50% högre prestanda. De fall där den erbjöd mindre prestandaökning var oftast begränsade av grafikkort eller rent syntetiska.
http://www.anandtech.com/show/2542/6

Angående Sandy Bridge så skulle jag säga runt 20%
http://www.bit-tech.net/hardware/cpus/2011/11/14/intel-sandy-...

Notera att en oklockad SB-E ofta är i samma klass som en 990X i 4.6GHz.

Sedan har vi IB:
http://www.bit-tech.net/hardware/2012/04/23/intel-core-i7-377...
Notera att de har både klockat och oklockat. På så vis kan man få en uppfattning av hur många Hz extra en SB behöver för att matcha en IB. Speltesten är extra intressanta där en 5GHz SB lyckas få stryk av en oklockad IB.

Skrivet av saddam:

Har du någon aning om andra cpuer än x86? Jag föreslår att du läser på lite om SPARC CMT och POWER. Du verkar inte vidare uppdaterad. Flera benchmarks visar att SPARC och POWER är snabbast i världen på många saker. Har du missat det?

Läsförståelse? Jag vet att de är snabba, men de är snabba på många trådar. De är inte bra på den typ av prestanda som använd vid desktop. Apples övergång till x86 visade ju detta rätt tydligt.

Skrivet av saddam:

Vem bryr sig om IPC per kärna, när de är snabbast i världen? Det är ungefär som "och hur högt klockade är de? Jasså inte vidare högt, ja då kan de inte vara snabba!". Vem bryr sig om Hz när de är snabbast i världen? IPC betyder inte att en cpu är snabb.

Hade du läst så hade du sett att jag även pratade om totalprestanda. Men jag kan väl haka på kroken och prata lite IPC, även fast det är uppenbart att du kommer låtsas att jag bara pratar IPC. Men IPC ökningar per kärna är relevant, då frekvenser är väldigt svåra att öka över nuvarande nivåer utan att satsa på arkitekturer med låg IPC specialiserade på att bara skyffla data, och därmed inte särskillt bra på konsumentprestanda. Att offra IPC för frekvens brukar inte gå så bra för den fåtrådade prestandan. Men det tillåter enklare processorer med fler kärnor.

Skrivet av saddam:

T.ex. studier från Intel visar att en x86 server cpu idlar ca 50% av tiden - under full load. Under max load, så väntar en x86 på data pga cachemissar ungefär hälften av tiden. Så en 3GHz x86 cpu kör egentligen på 1.5GHz under max load. ALLA cpuer idlar ca 50% av tiden under max load, pga cachemissar. Detta pga cpun är mycket snabbare än minnet. Och därför har alla cpuer stora cacheminnen och komplex prefetch logik där de försöker hämta data i förväg. Men att få nyttjandegraden till 60-70% är ju mycket svårt och Intel har inte lyckats när det gäller server workloads. Det är ju självklart, eftersom en server ska betjäna tusentals klienter och det går inte att cache tusentals klienters data, OS och databas och annat, i en liten 24MB cache. Cachen börjar thrasha och swappa. Det blir mycket cachemissar.

Alla cpuer idlar 50-60% av tiden under full load, och har alltid gjort, vilken är en välkänd hemlighet bland cpu tillverkare. Alla cpuer har historiskt idlat 50%. Utom SPARC Niagara CMT. Den är helt ny och revolutionerande. Den försöker inte undvika cachemissar, för det är omöjligt. Enda sättet att undvika cachemissar är om cpun är synsk. Niagara SPARC har istället många kärnor, och varje kärna har 8 trådar. Så fort en tråd får en cachemiss, så switchas över till en annan tråd på typ 1 klockcykel och fortsätter arbeta på en annan tråd utan avbrott. En vanlig cpu switchar tråd på flera 100 klockcykler. Detta leder till att Niagara CMT har en nyttjandegrad på 90%, en Niagara SPARC får nästan aldrig cachemissar. Detta är skälet till att en SPARC Niagara på 1.6GHz kan vara 50x snabbare på vissa workloads än x86. Detta är helt unikt och nytt och revolutionerande. Ingen har lyckats få mer än 50% nyttjandegrad, någon gång. Förutom SUN, dvs ORACLE.

Du pratar flertrådad prestanda. Att få hög prestanda på 50 trådar är en sak, att få det på 4 är en helt annan sak, inget klår intel på den biten. Du gör förbannat irrelevanta och orättvisa jämförelser. Du ska inte passa på att visa att Intel är dåliga eftersom en vanlig GPU får högre GFLOPs också? Och nej, det tar inte hundratals cykler för intels HT att byta tråd. Det är rent hitte på från din sida och visar hur lite du egentligen vet.

Skrivet av saddam:

Så hur hög IPC har SPARC? Vem bryr sig? Den har 90% nyttjandegrad och krossar. OBServera att det finns två typer av SPARC: en gammal vanlig som ser precis ut som vanliga cpuer som x86, POWER, etc. Den är inte vidare snabb, men Fujitsu har presenterat en 16 core SPARC. Sen har vi den nya revolutionerande SPARC, som funkar som jag beskrev. Den kallas bl.a. SPARC Niagara CMT. Så skilj mellan SPARC och CMT cpuerna.

Multitrådad prestanda ja. Hur lätt är det för dem att leverera fåtrådad prestanda?

Skrivet av saddam:

Det är en stor konst att slänga på flera kärnor, och inte alls lätt att göra. Hur ska du få in flera kärnor och behålla vettig TDP? Tror du att det är enkelt? Då skulle väl alla slänga på 100 tals kärnor!

Och ORACLE slänger inte bara på fler kärnor, läs ovan.

Klart allt med modern chiptillverkning är avancerat. Men det är bra mycket enklare att slänga på massa kärnor än att utveckla starka arkitekturer som kan leverera bra prestanda per tråd.

Skrivet av saddam:

Och när det gäller konsument prestanda, ja, där tävlar inte SPARC och POWER eftersom det finns inga konsumentPC med såna cpuer. De är server cpuer och krossar på server loads. T.ex. den gamla SPARC Niagara T2 kunde vara 50x snabbare än x86 på vissa workloads. SPARC CMT är optimerade för genomströmning av stora mängder data, inte tugga siffror. POWER är optimerad för att tugga siffror. x86 har inte alls samma genomströmning och storknar när det är stora datamängder.

Man brukade säga om tidiga Niagara CMT SPARC, att den är som stor långsam buss som rymmer 100 passagerare. Och x86/POWER är som en liten snabb porsche som rymmer 2 passagerare. Antag att du ska transportera stora mängder människor, säg 10.000. Vem blir klar först? Vem storknar först?

Precis! Är det då rättvist att klaga på att intel inte kan öka konsumentprestandan mer än de gör då de med god marginal är världsledande? POWER användes rätt länge till Apples maskiner, men de var hopplöst efter.

Skrivet av saddam:

Jisses. Du är helt okunnig om tyngre cpuer. POWER är den cpu med starkaste trådar, det är bara att kolla t.ex. siffertuggningsprestanda och GFLOPS. ORACLE har också fått till bra trådning på senare tid. Här kan du kolla lite benchmarks mot en Intel Westmere-EX mot en POWER7, och se hur långsam POWER egetnligen är.
http://www.anandtech.com/show/4285/westmereex-intels-flagship...
AMD och Intel har svaga trådar.med t.ex. POWER

Ja ett test där POWER 7 vinner, men det är ett flertrådat test med POWER 7 som klarar dubbelt så många trådar som Xeonen. Hur var det nu? Skyffla GFLOPS är GPUer också bra på. Är det rättvist att klaga på att CPU-utvecklingen går långsamt med den löjligt parallella GPU-prestandan?

Skrivet av saddam:

Du gissar här och jag köper inte din gissning. Din gissning är lika god som min. Men eftersom jag baserar min gissning på tidigare data, och du hittar på, så kanske min gissning är godare.

Är du ett troll? Du anklagar mig för att hitta på när DU påstår att Nehalem, SB och IB bara gett runt 5% prestandavinst över tidigare generation? Varje tock Intel gör har gett i genomsnitt minst 20%, och i kombination med tick på 10% så ger det betydligt mycket mer än 20% vartannat år. För att jämföra lite Tocks, jämför C2Q med Pentium D, minst dubbla prestandan bara där. Titta på benchmarken jag gav innan med Nehalem över C2Q, och SB över Nehalem! Jag har betydligt mycket mer grund för min gissning än vad du har. Sedan är det bara att titta på presentationen av Intel. Det är rätt kraftiga förbättringar de stoppar in.

Skrivet av saddam:

Kan inte du bara läsa på? Intels hyperthreading kör två trådar samtidigt på en core. AMD har tagit det ett steg längre, och dubblerat vissa saker i en core så att en AMD core nästan blivit en dual core, precis det jag påstod.

Nu ljuger du, du påstod att AMDs moduluppbyggnad var en avancerad variant av HT. Det är bara fel.

Skrivet av saddam:

Men min poäng är att AMD gör ett misstag när de säger att sina feta cores är värda två cores. Det stämmer ju inte alls. Det ser illa ut när AMDs 8 core cpuer (som egentligen är fyra feta cores) får stryk av Intels 4 core cpuer. Det vore bättre om AMD sade att de har 4 cores, inte 8 cores. Då skulle man inte jämföra Intels 8-core cpuer mot AMDs 4 feta cores. Det gör man nu, och AMD ser bara skrattretande ut. Jämföra 8 Intel cores, mot 4 av AMDs feta cores - ja det blir skrattretande utklassning. Bättre säga att AMD har 4 cores, så blir det ingen sån jämförelse.

Men BD for stordäng även på bara en tråd, problemet är alltså inte skalningen per tråd, utan främst att de satsat på låg IPC och hög frekvens, utan att få upp frekvensen.

Skrivet av saddam:

Du är bland det mest okunniga jag läst här på swec, om tyngre Unix server cpuer. Noll koll, verkligen.

Verkligen? Du kan ju punktera något jag haft fel på då? Eller tänker du fortsätta flamsa runt och prata runt ämnet i ett försök att rädda dina dumma uttalanden?
Jag kan ju nämna några saker du har fel om så länge:
Prestandaökningar per Tock
Moduluppbyggnad = HT
Att parallella prestandavinster går att jämföra rakt av med prestandavinster per tråd
Att man kan jämföra prestandavinster per "tock" mellan företag som "tockar" olika ofta.
Att man kan glömma antalet kärnor när man räknar på Intels prestandavinster historiskt, men samtidigt bara räkna parallella ökningar hos andra.

Du kan ju låtsas att Intel gör 5% per tock. Men då vill jag att du förklarar hur Nehalem EX med 10 kärnor och minst 2-3 gånger så hög IPC bara är dryga 10% snabbare än Pentium D i din värld, skiljer bara två tock.

Permalänk
Datavetare
Skrivet av Zotamedu:

Så då är den stora frågan för mig, som pysslar med lite saker som faktiskt pressar en processor lite så som bildredigering, filmredigering och så vidare, när kommer vi få se mjukvaruimplimentationer av det här? Jag skulle behöva byta ut min dator då den är rätt ledsen men frågan är om jag ska stå ut till Haswell om det faktiskt innebär en stor förbättring. Eller är det som vilken annan processor nod som helst fram till om tre år när mjukvaran hunnit i kapp? För i så fall orkar jag inte vänta utan då får jag ta det vid nästa uppgradering.

Både Linux har redan stöd för det TSX finess som kallas "HW lock elision" och Windows kommer med största sannolikhet också stödja detta redan innan Haswell släpps då det är något man kan lägga in i OS:et och sedan mer eller mindre automatiskt få stöd för det i applikationer. Rent teoretiskt skulle applikationer kunna börja lägga in stöd för detta redan nu då op-koderna som används för detta är bakåtkompatibla i den bemärkelsen att CPU:er innan Haswell kommer göra på "det gamla sättet" och ta låset på det dyra sättet.

På Linux borde i princip alla applikationer stödja detta omedelbart då källkoden finns tillgänglig till det mesta och man kan få in stöd för detta genom att kompilera om. Men om finessen visar sig ha stor effekt så lär de flesta prestandakritiska applikationer på Windows få patchar rätt snabbt.

"Restricted transactional memory" kommer ta lite mer tid innan vi ser stöd för. Dels är det inte bakåtkompatibelt med äldre CPUer, dels kräver det ändringar i konstruktionen av programmen.

Visa signatur

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

Permalänk
Datavetare
Skrivet av saddam:

Jag tänker så som att varken Nehalem, Sandybridge eller Ivy Bridge har gett revolutionerande prestandökningar, om man jfr med föregående generation. Det har alltid varit fråga om 5-10%. Så då är min gissning på 5% inte helt fel. Vadå, tror du att HW kommer att bryta mönstret och vara mycket mer än 10% snabbare? Hur tänker du då?

Det här är humor på hög nivå, du anklagar mig och Aleshi för att bara prata om IPC och sedan säger du att Intel inte gör några framsteg och du drar den slutsatsen genom att ENDAST jämför IPC mellan versioner. Som jag skrev ovan, titta på Xeon som på 7 år gått från enkelkärnig CPU på ~2GHz (PentiumM Xeon och kallad "Core" arkitekturen, inte att förväxla med Core2, låg på runt 2GHz som mest) till 10-kärniga Sandy Bridge på upp till 3.8GHz. Och efter som du vill prata tyngre UNIX-servers (som jag tydligen har noll koll på) så har Intel på den tiden också gått från maximal 2 socket till 8 socket system. Det är alltså en förändringa, bara i kärnor per system, från 2 st till 80 st på 7 år. Ovanpå detta har även IPC ökat en hel del. Spöar Oracles x2 vartannat år rätt bra...

Skrivet av saddam:

Har du någon aning om andra cpuer än x86? Jag föreslår att du läser på lite om SPARC CMT och POWER. Du verkar inte vidare uppdaterad. Flera benchmarks visar att SPARC och POWER är snabbast i världen på många saker. Har du missat det?

POWER7 är snabbast i världen på hyfsat mycket. Men kolla prislappen (en nolla till mot Xeon EX räcker inte) och kolla strömförbrukningen på 250W per CPU mot Xeon EX 130W. Ändå är POWER i genomsnitt bara runt 30% snabbare än den snabbaste Xeon EX CPUn.
SPARC, antar du refererar till T4, är bara snabbast på en väldigt specifik sak: laster där heltalsprestanda och flyttalsprestanda är helt irrelevant och där lasten består av extremt många oberoende samtida anrop där latens är av väldigt låg vikt. Detta är också det enda man har ett "världsrekord" i (ett TPC-C benchmark där dubbelt så många CPU:er krävdes jämfört med POWER för att slå "världsrekord"). Vem leder TPC-H och TPC-E, jo x86 system, vad kör Oracle på sina EXA-servers, jo x86.

Men du som vet så mycket om alla arkitekturer: hur vettigt var det nu att skapa en RISC där själva funktionen i en (32-bitars) instruktion är kodad bara med 5 bitar (vilket leder till att vektor instruktioner måste kodas med en prefix instruktion), hur vettigt är det att ha en arkitektur som saknar alla former av vettiga primitiver för atomära instruktioner, hur vettigt är det att ha 100-tals register som bara kan nås 32 åt gången och hur påverkar det kontext-switch latens att ha så många register. Vet du ens vilken arkitektur som har dessa egenskaper? Hint, det är inte POWER eller x86.

Skrivet av saddam:

Vem bryr sig om IPC per kärna, när de är snabbast i världen? Det är ungefär som "och hur högt klockade är de? Jasså inte vidare högt, ja då kan de inte vara snabba!". Vem bryr sig om Hz när de är snabbast i världen? IPC betyder inte att en cpu är snabb.

Hög IPC betyder att CPUs prestanda skalar väldigt kraftigt med klockfrekvens, så jo, hög IPC betyder snabb CPU. Däremot finns det vissa arbetslaster där en CPU kan vara väldigt ineffektiv och då få en låg IPC. Så hög IPC är alltid bra.

Skrivet av saddam:

T.ex. studier från Intel visar att en x86 server cpu idlar ca 50% av tiden - under full load. Under max load, så väntar en x86 på data pga cachemissar ungefär hälften av tiden. Så en 3GHz x86 cpu kör egentligen på 1.5GHz under max load. ALLA cpuer idlar ca 50% av tiden under max load, pga cachemissar. Detta pga cpun är mycket snabbare än minnet. Och därför har alla cpuer stora cacheminnen och komplex prefetch logik där de försöker hämta data i förväg. Men att få nyttjandegraden till 60-70% är ju mycket svårt och Intel har inte lyckats när det gäller server workloads. Det är ju självklart, eftersom en server ska betjäna tusentals klienter och det går inte att cache tusentals klienters data, OS och databas och annat, i en liten 24MB cache. Cachen börjar thrasha och swappa. Det blir mycket cachemissar.

Alla cpuer idlar 50-60% av tiden under full load, och har alltid gjort, vilken är en välkänd hemlighet bland cpu tillverkare. Alla cpuer har historiskt idlat 50%. Utom SPARC Niagara CMT. Den är helt ny och revolutionerande. Den försöker inte undvika cachemissar, för det är omöjligt. Enda sättet att undvika cachemissar är om cpun är synsk. Niagara SPARC har istället många kärnor, och varje kärna har 8 trådar. Så fort en tråd får en cachemiss, så switchas över till en annan tråd på typ 1 klockcykel och fortsätter arbeta på en annan tråd utan avbrott. En vanlig cpu switchar tråd på flera 100 klockcykler. Detta leder till att Niagara CMT har en nyttjandegrad på 90%, en Niagara SPARC får nästan aldrig cachemissar. Detta är skälet till att en SPARC Niagara på 1.6GHz kan vara 50x snabbare på vissa workloads än x86. Detta är helt unikt och nytt och revolutionerande. Ingen har lyckats få mer än 50% nyttjandegrad, någon gång. Förutom SUN, dvs ORACLE.

Så hur hög IPC har SPARC? Vem bryr sig? Den har 90% nyttjandegrad och krossar. OBServera att det finns två typer av SPARC: en gammal vanlig som ser precis ut som vanliga cpuer som x86, POWER, etc. Den är inte vidare snabb, men Fujitsu har presenterat en 16 core SPARC. Sen har vi den nya revolutionerande SPARC, som funkar som jag beskrev. Den kallas bl.a. SPARC Niagara CMT. Så skilj mellan SPARC och CMT cpuerna.

Min himmel, kan nog också hitta något som är 10 år gammalt som visar att SPARC och POWER suger. Testa att läs den studie du refererar så kaxigt till här, det var för Pentium4. Vad var problemet med Pentium4 nu igen? Usel IPC. Och varför får man usel IPC? T.ex. p.g.a cachemissar, hög latens mot RAM och alldeles för hög klockfrekvens i förhållande till hur mycket instruktioner som resten av systemet kan mata exikveringsenheterna med.

Sedan kan du läsa optimeringsguiden för t.ex. Sandy Bridge. Intel anser att du definitivt har ett allvarligt design-fel i din programvara om du har mer än 10% stalls i den CPUn. Jag måste göra något fel på jobbet, när jag läser av "performance counters" (räknare på cache miss/träff, branch predict träff/miss, TLB träff/miss, de flesta moderna CPU:er har dessa räknare) så ligger den komponent jag jobbar på ofta väsentligt under 5% cache miss, inte alls ovanligt att det är under 1% (träff i NÅGON cache, dock vill man helst ha L1 träffar då den cachen är MYCKET snabbare än alla andra).

Lyssnade rätt nyligen på en presentation om SPARC T5 som hölls av en arkitekt bakom denna CPU. Han fick frågan: om du kunde stoppa dubbelt så många transistorer i denna design, vad skulle du då använda dessa till. Vad tror du svaret var? Jo: mer L3 cache för det är något vi just nu ligger efter IBM och Intel på.

Det är naturligtvis inte lätt att skapa en CPU med massor med CPU-kärnor, men det finns INGET som är så utmanande som att skapa en CPU-kärna med hög IPC då det är ett problem som kräver att du hittar parallellism i en seriel instruktionsström som måste köras på ett sådant sätt så att saker som beror av varandra faktisk får resultaten vid rätt tillfälle och framförallt så måste den synliga resultatet hamna i rätt ordning efter man är klar. Det är något SPARC inte är i närhet av vare sig POWER eller x86, SPARC T1-T3 har mer gemensamt med Atom och ARM Cortex A8 vad det gäller uppbyggnaden av CPU-kärnan, d.v.s in-order dual-issue. SPARC T4-T5 har spottat upp sig lite och tagit sig upp på PentiumPro nivå och ARM Cortex A9 med out-of-order dual-issue.

POWER7 är out-of-order 6-issue och Sandy Bridge är out-of-order 4/5-issue.

Skrivet av saddam:

Det är en stor konst att slänga på flera kärnor, och inte alls lätt att göra. Hur ska du få in flera kärnor och behålla vettig TDP? Tror du att det är enkelt? Då skulle väl alla slänga på 100 tals kärnor!

Och ORACLE slänger inte bara på fler kärnor, läs ovan.

Nä det är sant, vilket var en annan sak som Niagara arkitekten nämnde: han tvivlade på att det är vettigt att stoppa in mer än dagens 16 CPU-kärnor i en och samma CPU för det finns helt enkelt inget RAM och ingen RAM-bus design i världen som kan förse specielt mycket fler CPU-kärnor med vettigt jobb. Intel har sagt samma sak, att mata 10 Sandy Bridge kärnor (som var och en är starkare än de 16 T5 kärnorna) är i vissa fall omöjligt, så det är bara vissa typer av arbetslaster som blir vettigt att köra.

Skrivet av saddam:

Och när det gäller konsument prestanda, ja, där tävlar inte SPARC och POWER eftersom det finns inga konsumentPC med såna cpuer. De är server cpuer och krossar på server loads. T.ex. den gamla SPARC Niagara T2 kunde vara 50x snabbare än x86 på vissa workloads. SPARC CMT är optimerade för genomströmning av stora mängder data, inte tugga siffror. POWER är optimerad för att tugga siffror. x86 har inte alls samma genomströmning och storknar när det är stora datamängder.

Man brukade säga om tidiga Niagara CMT SPARC, att den är som stor långsam buss som rymmer 100 passagerare. Och x86/POWER är som en liten snabb porsche som rymmer 2 passagerare. Antag att du ska transportera stora mängder människor, säg 10.000. Vem blir klar först? Vem storknar först?

Jo, men du är det så att för de flesta normala personer så är det rätt mycket smidigare att åka bil än att åka bus. Så för konsumenter så är x86 totalt överlägsen SPARC, vilket jag inte tror någon säger emot.

Skrivet av saddam:

Jisses. Du är helt okunnig om tyngre cpuer. POWER är den cpu med starkaste trådar, det är bara att kolla t.ex. siffertuggningsprestanda och GFLOPS. ORACLE har också fått till bra trådning på senare tid. Här kan du kolla lite benchmarks mot en Intel Westmere-EX mot en POWER7, och se hur långsam POWER egetnligen är.
http://www.anandtech.com/show/4285/westmereex-intels-flagship...
AMD och Intel har svaga trådar.med t.ex. POWER

Du gissar här och jag köper inte din gissning. Din gissning är lika god som min. Men eftersom jag baserar min gissning på tidigare data, och du hittar på, så kanske min gissning är godare.

Kan du bara inte bara läsa på. AMDs moduluppbyggnad är inte en avancerad form av HT. En AMD modul ger prestandamässigt 160-180% av en ensam kärna, och denna skalningen kommer öka med steamroller då det blir dubbla decoders. En vanlig dualcore ligger på runt 190% av prestandan av en singlecore. HT ger allt som oftast 120-130%. Prestandamässigt ligger en modul betydligt närmare en ren dualcore. Och med steamroller då konceptet kommer mer till sin rätt så är det mer en vanlig dualcore med delad prefetch.
Kan inte du bara läsa på? Intels hyperthreading kör två trådar samtidigt på en core. AMD har tagit det ett steg längre, och dubblerat vissa saker i en core så att en AMD core nästan blivit en dual core, precis det jag påstod. Men min poäng är att AMD gör ett misstag när de säger att sina feta cores är värda två cores. Det stämmer ju inte alls. Det ser illa ut när AMDs 8 core cpuer (som egentligen är fyra feta cores) får stryk av Intels 4 core cpuer. Det vore bättre om AMD sade att de har 4 cores, inte 8 cores. Då skulle man inte jämföra Intels 8-core cpuer mot AMDs 4 feta cores. Det gör man nu, och AMD ser bara skrattretande ut. Jämföra 8 Intel cores, mot 4 av AMDs feta cores - ja det blir skrattretande utklassning. Bättre säga att AMD har 4 cores, så blir det ingen sån jämförelse.

Du är bland det mest okunniga jag läst här på swec, om tyngre Unix server cpuer. Noll koll, verkligen.

Tja, jag har läst på t.ex. här www.agner.org/optimize/microarchitecture.pdf där någon faktiskt testat vilka beteenden och flaskhalsar Intels och AMDs CPUer har. Och flaskhalsen i Bulldozer? För lite L1 cache och framförallt så är avkodaren (max 4 instruktioner till EN av modulerna per klockcykel) en extrem flaskhals. Jämför det med Sandy Bridge som kan avkoda 4 (i speciella fall 5) instruktioner och det kan vara en mix till båda trådarna.

Och har aldrig sagt något annat än att HT delar en CPU och jag skrev ovan att en modul har mycket högre effektivitet jämfört med HT. Men det är ju självklart! HT tar runt 5% extra transistorer att implementera, har för mig att en modul tar runt 40% extra transistorer. Sett ur det perspektivet så är ju HT överlägset i effekt per adderad transistor.

Problemet med Bulldozer är att även den delar vissa saker och flaskhalsarna ligger just i dessa delade saker vilket definitivt drar ner effektiviteten och inte gör en modul direkt jämförbar med en "riktigt" dual-core design.

Gissar att den genomsnittliga kunskapen om dessa är VÄLDIGT låg på swec kring high-end UNIX server CPUer, så är lite stolt av att vara den MEST okunnig på detta

Visa signatur

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

Permalänk
Medlem
Skrivet av Yoshman:

Det här är humor på hög nivå, du anklagar mig och Aleshi för att bara prata om IPC och sedan säger du att Intel inte gör några framsteg och du drar den slutsatsen genom att ENDAST jämför IPC mellan versioner. Som jag skrev ovan, titta på Xeon som på 7 år gått från enkelkärnig CPU på ~2GHz (PentiumM Xeon och kallad "Core" arkitekturen, inte att förväxla med Core2, låg på runt 2GHz som mest) till 10-kärniga Sandy Bridge på upp till 3.8GHz. Och efter som du vill prata tyngre UNIX-servers (som jag tydligen har noll koll på) så har Intel på den tiden också gått från maximal 2 socket till 8 socket system. Det är alltså en förändringa, bara i kärnor per system, från 2 st till 80 st på 7 år. Ovanpå detta har även IPC ökat en hel del. Spöar Oracles x2 vartannat år rätt bra...

POWER7 är snabbast i världen på hyfsat mycket. Men kolla prislappen (en nolla till mot Xeon EX räcker inte) och kolla strömförbrukningen på 250W per CPU mot Xeon EX 130W. Ändå är POWER i genomsnitt bara runt 30% snabbare än den snabbaste Xeon EX CPUn.
SPARC, antar du refererar till T4, är bara snabbast på en väldigt specifik sak: laster där heltalsprestanda och flyttalsprestanda är helt irrelevant och där lasten består av extremt många oberoende samtida anrop där latens är av väldigt låg vikt. Detta är också det enda man har ett "världsrekord" i (ett TPC-C benchmark där dubbelt så många CPU:er krävdes jämfört med POWER för att slå "världsrekord"). Vem leder TPC-H och TPC-E, jo x86 system, vad kör Oracle på sina EXA-servers, jo x86.

Men du som vet så mycket om alla arkitekturer: hur vettigt var det nu att skapa en RISC där själva funktionen i en (32-bitars) instruktion är kodad bara med 5 bitar (vilket leder till att vektor instruktioner måste kodas med en prefix instruktion), hur vettigt är det att ha en arkitektur som saknar alla former av vettiga primitiver för atomära instruktioner, hur vettigt är det att ha 100-tals register som bara kan nås 32 åt gången och hur påverkar det kontext-switch latens att ha så många register. Vet du ens vilken arkitektur som har dessa egenskaper? Hint, det är inte POWER eller x86.

Hög IPC betyder att CPUs prestanda skalar väldigt kraftigt med klockfrekvens, så jo, hög IPC betyder snabb CPU. Däremot finns det vissa arbetslaster där en CPU kan vara väldigt ineffektiv och då få en låg IPC. Så hög IPC är alltid bra.

Min himmel, kan nog också hitta något som är 10 år gammalt som visar att SPARC och POWER suger. Testa att läs den studie du refererar så kaxigt till här, det var för Pentium4. Vad var problemet med Pentium4 nu igen? Usel IPC. Och varför får man usel IPC? T.ex. p.g.a cachemissar, hög latens mot RAM och alldeles för hög klockfrekvens i förhållande till hur mycket instruktioner som resten av systemet kan mata exikveringsenheterna med.

Sedan kan du läsa optimeringsguiden för t.ex. Sandy Bridge. Intel anser att du definitivt har ett allvarligt design-fel i din programvara om du har mer än 10% stalls i den CPUn. Jag måste göra något fel på jobbet, när jag läser av "performance counters" (räknare på cache miss/träff, branch predict träff/miss, TLB träff/miss, de flesta moderna CPU:er har dessa räknare) så ligger den komponent jag jobbar på ofta väsentligt under 5% cache miss, inte alls ovanligt att det är under 1% (träff i NÅGON cache, dock vill man helst ha L1 träffar då den cachen är MYCKET snabbare än alla andra).

Lyssnade rätt nyligen på en presentation om SPARC T5 som hölls av en arkitekt bakom denna CPU. Han fick frågan: om du kunde stoppa dubbelt så många transistorer i denna design, vad skulle du då använda dessa till. Vad tror du svaret var? Jo: mer L3 cache för det är något vi just nu ligger efter IBM och Intel på.

Det är naturligtvis inte lätt att skapa en CPU med massor med CPU-kärnor, men det finns INGET som är så utmanande som att skapa en CPU-kärna med hög IPC då det är ett problem som kräver att du hittar parallellism i en seriel instruktionsström som måste köras på ett sådant sätt så att saker som beror av varandra faktisk får resultaten vid rätt tillfälle och framförallt så måste den synliga resultatet hamna i rätt ordning efter man är klar. Det är något SPARC inte är i närhet av vare sig POWER eller x86, SPARC T1-T3 har mer gemensamt med Atom och ARM Cortex A8 vad det gäller uppbyggnaden av CPU-kärnan, d.v.s in-order dual-issue. SPARC T4-T5 har spottat upp sig lite och tagit sig upp på PentiumPro nivå och ARM Cortex A9 med out-of-order dual-issue.

POWER7 är out-of-order 6-issue och Sandy Bridge är out-of-order 4/5-issue.

Nä det är sant, vilket var en annan sak som Niagara arkitekten nämnde: han tvivlade på att det är vettigt att stoppa in mer än dagens 16 CPU-kärnor i en och samma CPU för det finns helt enkelt inget RAM och ingen RAM-bus design i världen som kan förse specielt mycket fler CPU-kärnor med vettigt jobb. Intel har sagt samma sak, att mata 10 Sandy Bridge kärnor (som var och en är starkare än de 16 T5 kärnorna) är i vissa fall omöjligt, så det är bara vissa typer av arbetslaster som blir vettigt att köra.

Jo, men du är det så att för de flesta normala personer så är det rätt mycket smidigare att åka bil än att åka bus. Så för konsumenter så är x86 totalt överlägsen SPARC, vilket jag inte tror någon säger emot.

Tja, jag har läst på t.ex. här www.agner.org/optimize/microarchitecture.pdf där någon faktiskt testat vilka beteenden och flaskhalsar Intels och AMDs CPUer har. Och flaskhalsen i Bulldozer? För lite L1 cache och framförallt så är avkodaren (max 4 instruktioner till EN av modulerna per klockcykel) en extrem flaskhals. Jämför det med Sandy Bridge som kan avkoda 4 (i speciella fall 5) instruktioner och det kan vara en mix till båda trådarna.

Och har aldrig sagt något annat än att HT delar en CPU och jag skrev ovan att en modul har mycket högre effektivitet jämfört med HT. Men det är ju självklart! HT tar runt 5% extra transistorer att implementera, har för mig att en modul tar runt 40% extra transistorer. Sett ur det perspektivet så är ju HT överlägset i effekt per adderad transistor.

Problemet med Bulldozer är att även den delar vissa saker och flaskhalsarna ligger just i dessa delade saker vilket definitivt drar ner effektiviteten och inte gör en modul direkt jämförbar med en "riktigt" dual-core design.

Gissar att den genomsnittliga kunskapen om dessa är VÄLDIGT låg på swec kring high-end UNIX server CPUer, så är lite stolt av att vara den MEST okunnig på detta

Dold text

Tror att hans kommentarer om okunnighet var riktad till mig. Men visst, jag kan väldigt mycket mindre än t.ex. du. Men jämfört med herr Saddam så känner man sig väldigt påläst.

Permalänk
Entusiast
Skrivet av Yoshman:

Både Linux har redan stöd för det TSX finess som kallas "HW lock elision" och Windows kommer med största sannolikhet också stödja detta redan innan Haswell släpps då det är något man kan lägga in i OS:et och sedan mer eller mindre automatiskt få stöd för det i applikationer. Rent teoretiskt skulle applikationer kunna börja lägga in stöd för detta redan nu då op-koderna som används för detta är bakåtkompatibla i den bemärkelsen att CPU:er innan Haswell kommer göra på "det gamla sättet" och ta låset på det dyra sättet.

På Linux borde i princip alla applikationer stödja detta omedelbart då källkoden finns tillgänglig till det mesta och man kan få in stöd för detta genom att kompilera om. Men om finessen visar sig ha stor effekt så lär de flesta prestandakritiska applikationer på Windows få patchar rätt snabbt.

"Restricted transactional memory" kommer ta lite mer tid innan vi ser stöd för. Dels är det inte bakåtkompatibelt med äldre CPUer, dels kräver det ändringar i konstruktionen av programmen.

Så svaret är troligtvis, kanske delvis?

Får nog bli en Ivy inom en snar framtid då för vet inte om jag vill vänta till 2012. Det var väl laptop CPU som skulle komma först eller? Känns som om man kommer få vänta till sommaren och det är lite för lång tid för min smak. Får dra nytta av det sen när Skylake kommer.

Edit: jag kör för övrigt uteslutande Windows.

Visa signatur

Q9450, HD4850, 8 GB DDR2 800 MHz, 3x750 GB, Antec 300, Dell 2408WFP, U2410, Qnap TS-419p+ 4x2 TB Samsung F4, Asus UL30A-QX056V, Logitech Z-680, Sennheiser HD380pro, M-Audio FastTrack Pro, Ibanez sa160qm, Ibanez TB 15R, Zoom 505II, Ibanez GSR 200, Ibanez SW 35, Cort AC-15, Squier SD-3 BBL, Yamaha PSR 270, Røde NT1-A, Nikon D200, Nikkor 18-70/3,5-4,5, 70-300VR, 50/1,8, 28/2,8, Tamron 17-50/2,8, 90/2,8, Sigma 30/1,4, SB-800, SB-25, SB-24

Permalänk
Avstängd
Skrivet av Aleshi:

Massa text

Nu har jag två långa inlägg att svara på, därför svarar jag inte lika utförligt och långt som jag brukar. Jag bara tar huvudpunkterna:

"Jag tänker att du har noll koll. Nehalem erbjöd ofta 40-50% högre prestanda. De fall där den erbjöd mindre prestandaökning var oftast begränsade av grafikkort eller rent syntetiska."

Sant är att när Intel switchade cpu arkitektur från Pentium till Core Duo så ökade prestandan betydligt. Men det var längesen. Under senare generationer så har inte prestandan ökat mycket alls. Visst ökade kanske prestandan uppemot 40% på SOMLIGA benchmarks, men i snitt så ökar inte prestandan mycket för varje ny generation bland x86. T.ex. IvyBridge var ju inte mycket snabbare än SB.

Det finns ett skäl att folk säger att det inte är lönt att uppgradera till IB om du har en SB. Om du nu hade rätt; dvs att x86 är världsledande när det gäller att öka, för varje generation - så skulle alla uppgradera till IB. Men inte många rekommenderar det. Hur kommer det sig, om du nu har rätt?

Slutsats: du har fel. x86 ökar inte prestandan mycket för varje ny generation. Precis det jag påstår.

Samtidigt så dubblar SPARC prestandan vartannat år, och alla rekommenderar att uppgradera till ny cpu - pga den nya är så mycket snabbare. Slutsats: SPARC ökar prestandan mer än x86. Precis det jag påstår.

Det är löjligt när du tror att en x86 (som egentligen är desktop cpuer) är snabbare än tyngre Unix cpuer. Det visar noll koll.

"De är inte bra på den typ av prestanda som använd vid desktop. Apples övergång till x86 visade ju detta rätt tydligt."

Du är helt lost. POWER har de starkaste trådarna idag. Vem tror du tuggar siffror bäst, x86 eller POWER? Har du sett benchmarks?

"Du pratar flertrådad prestanda. Att få hög prestanda på 50 trådar är en sak, att få det på 4 är en helt annan sak, inget klår intel på den biten."

Nej. När det gäller single threaded performance, så är POWER7 bäst. Det är bara att kolla lite benchmarks. När det gäller multitrådade saker så är SPARC Niagara bäst. Intel är inte bäst på det.

Seriöst, tror du Intel är snabbare än POWER och SPARC? Varför tittar du inte på lite becnhmarks?

"Du gör förbannat irrelevanta och orättvisa jämförelser. Du ska inte passa på att visa att Intel är dåliga eftersom en vanlig GPU får högre GFLOPs också? Och nej, det tar inte hundratals cykler för intels HT att byta tråd. "

Jag pratar om CPUer. Inte GPUer. Vi jfr POWER cpu mot SPARC mot x86, eller hur. Varför blandar du in GPUer?

Innan Intel hade HT tog det hundratals cykler att byta tråd i en core. Att växla mellan HT trådar går antagligen hyfsat snabbt, men hur ofta är det du bara vill köra två trådar? Aldrig? Ofta vill du köra många trådar, och det tar många cykler att växla in helt nya trådar. På en typisk Windows som idlar är det typ 70 trådar som körs. Då har man knappt några program startade. Om du ska köra en server som betjänar många tusen användare måste du växla mellan många många trådar, och då spenderas stor del, många många hundra cykler, att växla hela tiden mellan alla trådar.

"Multitrådad prestanda ja. Hur lätt är det för dem att leverera fåtrådad prestanda?"

Återigen, POWER är starkast på trådar, och SPARC har högst throughput. Titta t.ex. på GFLOPS benchmarks för POWER7:
http://en.wikipedia.org/wiki/POWER7#Specifications
"max 264.96 GFLOPS per chip"
Och en i7-2600 har ca 50 GFLOPS enligt ett forum. Har du inte sett becnhmarks bland Unix cpuer? Jag följer Unix servrarna flitigt och läser becnhmarks hela tiden. Och x86 har ingen chans. När det gäller starka trådar, så vinner POWER. När det gäller mycket data, så vinner SPARC. Följer du inte tyngre Unix marknadens becnhmarks?

Fujitsu släpper SPARC cpuer med 256 GLops.

"Precis! Är det då rättvist att klaga på att intel inte kan öka konsumentprestandan mer än de gör då de med god marginal är världsledande? POWER användes rätt länge till Apples maskiner, men de var hopplöst efter."

Hur kan Intel vara världsledande när POWER är mycket mycket snabbare på trådade saker och SPARC mycket högre genomströmning? Vad har du rökt? Varför tittar du inte på becnhmarks istälelt för att hitta på saker? Läs dem och sluta tjata.

Och nej, Apple använde inte POWER cpuer. Du har fått även detta om bakfoten. Apple använde PowerPC cpuer, det är en helt annan sak än POWER. POWER är high end versionen för tyngre servrar i miljonklassen. Som SPARC.

"Ja ett test där POWER 7 vinner, men det är ett flertrådat test med POWER 7 som klarar dubbelt så många trådar som Xeonen. Hur var det nu? Skyffla GFLOPS är GPUer också bra på. Är det rättvist att klaga på att CPU-utvecklingen går långsamt med den löjligt parallella GPU-prestandan?"

Här finns flera test om du vill ha det:
http://www-03.ibm.com/systems/power/hardware/750/perfdata.htm...

Här är SPECint
http://www.realworldtech.com/forum/?threadid=102132&curpostid...
Två st POWER7 har 650 SPECint.
Två st x86 har 380 SPECint.

"Titta på benchmarken jag gav innan med Nehalem över C2Q, och SB över Nehalem!"

Återigen, jag pratar inte om enstaka benchmarks, du verkar tro att om en cpu är 40% snabbare på en becnhmark så är den 40% snabbare i snitt?? Jag pratar om cpun totalt. Och ingen rekommenderar att uppgradera från SB till IB. Det är ingen stor skillnad mellan SB och IB i ren prestanda.

"Nu ljuger du, du påstod att AMDs moduluppbyggnad var en avancerad variant av HT. Det är bara fel."

Nej jag ljuger inte. Jag påstod att AMD var en avancerad variant av HT, dvs att AMD dubblerat vissa komponenter i en core. Detta är välkänt och inget att ljuga om. Min poäng är att istället för att AMD säger att deras 4 feta core cpuer är "8-kärniga" så ser det bara löjligt ut när AMDs "8-kärniga" cpuer får storstryk av Intels 4 core cpuer. Folk tänker "AMD använder dubbelt så många kärnor och ändå får AMD storpisk, hur dåliga är AMD egentligen? Vad händer om AMD ockås har 4-kärnor som Intel???". AMD borde säga att de är 4-kärniga. Inte 8-kärniga.

Det låter som Intel på Pentium-4 tiden: "ju högre GHz vi kan säga att vi kör, desto bättre låter det!". Då lät det illa när en 1.6GHz AMD spöade 2.4GHz Intel cpuer. Man tänkte "Intel är nästan dubbelt så snabba som AMD, och ändå får de stryk. Tänk om Intel hade också 1.6GHz??"

"Du kan ju låtsas att Intel gör 5% per tock. Men då vill jag att du förklarar hur Nehalem EX med 10 kärnor och minst 2-3 gånger så hög IPC bara är dryga 10% snabbare än Pentium D i din värld, skiljer bara två tock."

Jag pratar om senare Intel generationer. På senare tid gör Intel inga stora framsteg, det är t.ex. inte dubbling av prestanda vartannat år som SPARC. Klart är att steget från Pentium till Core Duo var stort, och det har jag aldrig sagt emot. Men jag pratar nyligen. Rekommenderar du folk att uppgradera från Sandybridge till Ivybridge om de är intresserade av prestanda? Jaså inte? Hur går det ihop med att "Intel är världsledande när det gäller att öka prestanda mellan generationer" då? Inte alls.

Vill du ha stora prestandaökningar och innovationer så är det inte x86 du ska titta på. Sun höll på med Transactional -memory för flera år sen, i sin stora ROCK cpu. Som sen lades ned. Nu kommer de gamla teknikerna från ROCK till andra SPARC cpuer, t.ex. SPARC T5 som antagligen kommer att vara först i världen med att ha TM eftersom den börjar säljas i år. Haswell säljs nästa år.

Alla rekommenderas att uppgradera till SPARC T5, pga den är så mycket snabbare. Jag undrar om folk kommer uppgradera till Haswell, kanske är den inte mycket snabbare än IvyBridge totalt? Intels prestandaökningar är inte stora längre. PRecis det jag påstått hela tiden.

Permalänk
Avstängd
Skrivet av Yoshman:

Det här är humor på hög nivå, du anklagar mig...

Que? Vad svamlar du om? Jag "anklagade" Aleshi för att tro att Intel gör stora förbättringar numera. Men visst, jag kan "anklaga" dig också om du vill det.

Citat:

sedan säger du att Intel inte gör några framsteg

På senare tid. Jag menar att om du vill ha innovation och stora förbättringar, så är det inte x86 du ska titta på. SPARC CMT är innovativa och har helt nya grepp. POWER7 är bara råstyrka.

Citat:

Och efter som du vill prata tyngre UNIX-servers (som jag tydligen har noll koll på) så har Intel på den tiden också gått från maximal 2 socket till 8 socket system. Det är alltså en förändringa, bara i kärnor per system, från 2 st till 80 st på 7 år. Ovanpå detta har även IPC ökat en hel del. Spöar Oracles x2 vartannat år rätt bra...

Men att gå från jättedåligt till bara dåligt är enkelt och går snabbt att göra. I vilket fall som helst, så menar jag att x86 stannat av takten. När man gick från 1-socket system upp till 8-socket så var det stora förbättringar, men nu har det tagit stopp. x86 skalar inte mer än 8-sockets, typ.

Citat:

POWER7 är snabbast i världen på hyfsat mycket.

Bra att vi har någon här, som har lite koll i alla fall. Säg detta till Aleshi som tror x86 är snabbast i världen.

Citat:

Men kolla prislappen (en nolla till mot Xeon EX räcker inte) och kolla strömförbrukningen på 250W per CPU mot Xeon EX 130W. Ändå är POWER i genomsnitt bara runt 30% snabbare än den snabbaste Xeon EX CPUn.

POWER7 är en gammal cpu som du jfr mot de senaste Xeon EX CPUerna. POWER7+ kommer nu i dagarna och kommer vara mycket snabbare än Xeon EX cpuerna, återigen. Men visst, jag håller med dig om att de är för dyra och drar för mycket ström. Men det var inte poängen. Poängen var att jag försökte förklara för Aleshi att POWER7 är snabbare än x86. Vi disktuerade inte priset, utan prestandan. Bra att vi är överens om att POWER7 är snabbare än x86. Då slipper jag försöka förklara för dig att POWER7 är snabbare, vilket alla som är insatta känner till.

Citat:

SPARC, antar du refererar till T4, är bara snabbast på en väldigt specifik sak: laster där heltalsprestanda och flyttalsprestanda är helt irrelevant och där lasten består av extremt många oberoende samtida anrop där latens är av väldigt låg vikt.

Japp. Bra att du har koll, så slipper jag försöka förklara detta för dig. ORACLE har fokuserat på att skyffla mycket data snabbt. Företagen skyfflar ju mycket data hela tiden, det är viktigast för dem. Att tugga siffror är inte alls lika viktigt, och inget att fokusera på.

Citat:

Detta är också det enda man har ett "världsrekord" i (ett TPC-C benchmark där dubbelt så många CPU:er krävdes jämfört med POWER för att slå "världsrekord"). Vem leder TPC-H och TPC-E, jo x86 system, vad kör Oracle på sina EXA-servers, jo x86.

TPC-C? Jovisst använde ORACLE flera cpuer, men å andra sidan är ORACLEs TPC-C rekord på 30 miljoner tmpc. Och IBM har 10 miljoner tmpc. Och HP har 4 miljoner tmpc. Så visst kanske ORACLE använde flera kärnor, men de är inte dubbelt så snabba, de är mycket snabbare. 30 milj tmpc är helt sjukt. Förrut var 5 miljoner mycket. 6 miljoner var något att slå på stora trumman för. Så kommer IBM med 10 miljoner. Och ORACLE drämmer till med 30 miljoner. Sjukt. IBM har inte svarat på det. Det är lönlöst, för det är så sjukt stora siffror att det finns ingen relevans längre. Bara att lägga ned TPC-C.

Angående att TPC-H rekordet tillhör x86. Här har du några världsrekord som SPARC T4 har
http://www.oracle.com/us/corporate/press/497285
Och när det gäller TPC-H, så är T4 mer än dubbelt så snabb som POWER7. Som är snabbare än x86. Så jag har svårt att se att x86 är bättre på TPC-H. ORACLE kan databaser, det är vad de gör. De är bäst på det.

Angående sina EXA servers, javisst körs de på x86. Men många tror att det beror på att EXA servrarna är nya och ORACLE ägde inte SPARC då. Men i framtiden tror folk att de kommer bytas till SPARC. Det tar lång tid att bygga om såna stora system.

Citat:

Men du som vet så mycket om alla arkitekturer: hur vettigt var det nu att skapa en RISC där själva funktionen i en (32-bitars) instruktion är kodad bara med 5 bitar (vilket leder till att vektor instruktioner måste kodas med en prefix instruktion), hur vettigt är det att ha en arkitektur som saknar alla former av vettiga primitiver för atomära instruktioner, hur vettigt är det att ha 100-tals register som bara kan nås 32 åt gången och hur påverkar det kontext-switch latens att ha så många register. Vet du ens vilken arkitektur som har dessa egenskaper? Hint, det är inte POWER eller x86.

Ingen säger att SPARC är perfekt. Men tror du att x86 är perfekt då? Finns det något sämre och rörigare än x86? Det härstammar från 1970(?) och har så mycket gammal barlast så det finns inte. Intel försökte döda skräpet och börja på ny kula med Itanium, men tyvärr lever fortfarande x86. Om vi började på ny kula så skulle vi få dubbla prestandan till halva strömförbrukningen, och mycket färre buggar.
http://www.anandtech.com/show/3593
-"The total number of x86 instructions is well above one thousand" !!!!!!!!!!!!!!!!
-"CPU dispatching ... makes the code bigger, and it is so costly in terms of development time and maintenance costs that it is almost never done in a way that adequately optimizes for all brands of CPUs."
-"the decoding of instructions can be a serious bottleneck, and it becomes worse the more complicated the instruction codes are"
-The costs of supporting obsolete instructions is not negligible. You need large execution units to support a large number of instructions. This means more silicon space, longer data paths, more power consumption, and slower execution.

Citat:

Min himmel, kan nog också hitta något som är 10 år gammalt som visar att SPARC och POWER suger. Testa att läs den studie du refererar så kaxigt till här, det var för Pentium4. Vad var problemet med Pentium4 nu igen? Usel IPC. Och varför får man usel IPC? T.ex. p.g.a cachemissar, hög latens mot RAM och alldeles för hög klockfrekvens i förhållande till hur mycket instruktioner som resten av systemet kan mata exikveringsenheterna med.

Sedan kan du läsa optimeringsguiden för t.ex. Sandy Bridge. Intel anser att du definitivt har ett allvarligt design-fel i din programvara om du har mer än 10% stalls i den CPUn. Jag måste göra något fel på jobbet, när jag läser av "performance counters" (räknare på cache miss/träff, branch predict träff/miss, TLB träff/miss, de flesta moderna CPU:er har dessa räknare) så ligger den komponent jag jobbar på ofta väsentligt under 5% cache miss, inte alls ovanligt att det är under 1% (träff i NÅGON cache, dock vill man helst ha L1 träffar då den cachen är MYCKET snabbare än alla andra).

Vi pratar två olika saker. Du sysslar med desktops och då får man ofta in all kod in i en liten cpu cache på 12MB. Men om du sysslar med tyngre server laster, där du ska betjäna 1000tals användare så kan du inte få in alla data in i cpu cachen. Det säger sig självt. Hur ska du få in Kernel, OS, Databasen, alla tusen klienters data, etc - in i 12MB? Det går inte, du skulle behöva GB om ens det räcker. Vid större serverlaster får du 50% cache missar.

Men på desktop när du kör t.ex. beräkningssnurror så räcker väl 6 MB cpu cache utmärkt och då får du inte mycket cache missar.

Citat:

Lyssnade rätt nyligen på en presentation om SPARC T5 som hölls av en arkitekt bakom denna CPU. Han fick frågan: om du kunde stoppa dubbelt så många transistorer i denna design, vad skulle du då använda dessa till. Vad tror du svaret var? Jo: mer L3 cache för det är något vi just nu ligger efter IBM och Intel på.

Cache är aldrig fel. Jag har aldrig sagt något annat. Det jag har sagt är att SPARC Niagara är helt ny och revolutionerande. Den enda radikala ideen på cpu fronten på länge. Det är skälet att SPARC kan matcha och krossa mycket högt klockade cpuer, med en mycket liten cache.

Mao, SPARC måste inte ha stor cache för att vinna. Pga dess radikala design. Men mer cache är alltid bra.

Citat:

Det är naturligtvis inte lätt att skapa en CPU med massor med CPU-kärnor, men det finns INGET som är så utmanande som att skapa en CPU-kärna med hög IPC

Som vi har sett finns det andra sätt att öka prestandan än att jaga IPC, men det är förstås inte dåligt att ha hög IPC. Men när folk säger att hög IPC är den enda vägen till prestanda så stämmer inte det. Det är ungefär som att säga "har man inte hög GHz så kan man inte få bra prestanda".

Citat:

Jo, men du är det så att för de flesta normala personer så är det rätt mycket smidigare att åka bil än att åka bus. Så för konsumenter så är x86 totalt överlägsen SPARC, vilket jag inte tror någon säger emot.

Jag håller med att för DESKTOPs så är x86 bra. Men jag pratar server cpuer. Då är det massiva data genomströmningar som gäller. Då är inte desktop cpuer något vidare bra designade. De storknar fort. Bättre med andra designade cpuer som kan ta mycket data.

Citat:

Gissar att den genomsnittliga kunskapen om dessa är VÄLDIGT låg på swec kring high-end UNIX server CPUer, så är lite stolt av att vara den MEST okunnig på detta

Du har i alla fall mer koll än de flesta här. Speciellt Aleshi som har noll koll på tyngre server cpuer. Du känner i alla fall till POWER och SPARC. Jag tror vi är överens om det mesta. Jag ska bara förklara för Aleshi att x86 är inte snabbast, att POWER7 är en starkare cpu, och att SPARC Niagara har högre genomströmning, och att x86 på senare tid inte gör stora förbättringar, samt att det är inte lönt att uppgradera från Sandybridge till IvyBridge.

Permalänk
Medlem
Skrivet av saddam:

Alltså, det är så mycket svammel. Jag får bemöta detta imorrn då jag har ont om tid idag.
Kortfattat så är det äpplen och päron kombinerat med okunskap från din sida. Man kan inte öka prestandan på få trådar så som intel gör lika enkelt som man ökar på många trådar som Oracle och Sun gör. Och det är en sak att bara tugga stora flöden med nummer och en annan sak att hantera program. Samtidigt så är generationsskiftena stora för intel. IB är inte en ny generation, bara en krympning, men gav likväl 10% IPC! Sedan P4 har råprestanda ökat med till det tredubbla, och detta per kärna! Lägg till att mängden kärnor ökat en hel del sedan P4. Du har inget fog för att klaga på intels prestandaökningar och dina jämförelser med Oracle och Sun är precis lika orättvisa som att jämföra med GPU. Men den liknelsen förstod du aldrig i förra inlägget. Virtual Void kanske har mer tid att svara, annars ses vi imorrn!