Intel Skylake efterträds av Kaby Lake 2016

Permalänk
Medlem
Skrivet av Friterad:

Du har uppenbarligen inte läst på om quantum processorer. Dom kommer enligt dom som försöker skapa dem antagligen att vara sämre än våra nuvarande datorer i just dom saker vi normalt gör så som surf och spel. Det handlar inte om att quantum ligger i samma stadium som första datorerna gjorde överhuvudtaget utan det har att göra med hur tekniken fungerar. Den är skapad för och bäst när den multitaskar och ska göra många olika saker men betydligt sämre på att göra en sak i taget.

om det är så så kanske det blir som matteprocessor som förr fans extra att köpa till men idag är inbyggt i processorn. Och nej jag har inte direkt läst på men dom verkar inte direkt redo ännu även om google experimenterar med någon... frågan är nog snarare när det kommer Kvant Datorer som klarar rumstemepratur istället för att den ska kylas med flytande kväve. Liknelsen med dom första datorerna känns fortfarande riktig i och med att dessa är stora och klumpiga, otroligt dyra och sett från ett framtida perspektiv troligtvis väldigt långsamma

Permalänk
Medlem
Skrivet av Gender Bender:

En stark kärna är bara till en fördel tills man når smärttröskeln för vad som anses vara rimlig energiförbrukning. Vi skulle ha kunnat fortsätt att höja klockfrekvensen i stället för att börja utveckla processorer med fler kärnor, men jag tror nog att en dator skulle få svettas en hel del om man körde en processor i uppemot 20 GHz, för att inte tala om vilka monster till nätagg vi skulle behöva och kylanordning för att leda bort värmen. Klockfrekvensen kom ikapp tillverkningstekniken, och fler kärnor blev en väldigt smart kompromiss om du frågar mig. För det hade inte varit rimligt att fortsätta öka klockfrekvensen och samtidigt höja energiförbrukningen. Den första Pentium-processorn förbrukade bara 8W, och i takt med att klockfrekvenserna höjdes så nådde man till slut en energiförbrukning på över 100W. Här började ingenjörerna att inse problemet och IBM utvecklade då den första processorn med dubbla kärnor som teoretiskt kunde prestera dubbelt så bra men samtidigt behålla samma energiförbrukning. Problemet är väl att teorin i sig inte stämmer helt och hållet, men visst, om det var möjligt att fortsätta i dessa banor och bara skruva upp klockfrekvensen så hade vi haft effektivare processorer idag, men ser man det ur ett realistiskt perspektiv så är fler kärnor den rätta vägen att gå idag då det blir en större och större utmaning att krympa tillverkningsprocessen. Och ett API som gör fler kärnor mer effektiva är mer än välkommet i en tid där vi mer eller mindre måste köra med fler kärnor.

Det var ju exakt det jag sade...

Permalänk
Medlem
Skrivet av Alpha77:

om det är så så kanske det blir som matteprocessor som förr fans extra att köpa till men idag är inbyggt i processorn. Och nej jag har inte direkt läst på men dom verkar inte direkt redo ännu även om google experimenterar med någon... frågan är nog snarare när det kommer Kvant Datorer som klarar rumstemepratur istället för att den ska kylas med flytande kväve. Liknelsen med dom första datorerna känns fortfarande riktig i och med att dessa är stora och klumpiga, otroligt dyra och sett från ett framtida perspektiv troligtvis väldigt långsamma

Program måste vara särskilt gjorda för just quantum-datorn och det är som sagt inget utbyte mot dagens system. Tror det är något som stora företag, underrättelsetjänster och regeringar vill ha. Nasa t.ex ville ha detta, vet inte om dom redan börjat använda det men det är inte omöjligt.

En väldigt bra video om man vill veta mer om detta: https://www.youtube.com/watch?v=g_IaVepNDT4

Det är inte omöjligt att man gör en hybrid men om det skulle vara till en fördel är inte sannolikt. För vanliga användare då givetvis

Permalänk
Skrivet av Yoshman:

Worst case latency mot RAM: ~100ns
Best case latency på en kärna i power-save mode: ~100µs

Se nedan

Skrivet av Yoshman:

SMT har en fördel här, används något av trådarna hos en fysisk kärna så kan övriga CPU-trådar användas med nära nog noll latens. SMT är därför väldigt användbart på en server. Ovanpå det kan en modern Intel CPU kan ha upp till 200 instruktioner "in-flight", så den är i många fall kapabel att "gömma" rätt mycket latens genom att göra andra beräkningar out-of-order medan den väntar på en minnesaccess.

Jaså, jag har läst i en teknisk artikel att switcha mellan trådar tar flera hundra cykler på x86. Och att det bara är SPARC T1, T2, etc som kan switcha trådar snabbt och på så sätt dölja latens, genom att arbeta med nåt annat då tråden väntar på data från RAM. Har du länk som stödjer påståendet att x86 kan switcha snabbt? En annan studie visade att SPARC har typ 95% cpu utilization under full load, medan studier från Intel visade att en server x86 cpu, har cpu utiliation på kring 50% eller så, under full load. Om det nu stämmer som du säger, att x86 kan gömma latens, så borde Intelstudien visat att en server x86 cpu har en cpu utilization på kring 90% precis som SPARC. Så något är fishy.

SPARC T1 var ju kanske 10x snabbare än x86 på trådade server laster, trots att den var klockad på typ 1.2GHz med totalt 256KB cpu cache, och Xeon x86 var klockad på 2.5GHz och cpu cache på flera MB. Så därför var det möjligt att SPARC T1 krossade en x86, pga 95% cpu utilization medan x86 hade 50% cpu utilization. Så något är fishy. Hur kan SPARC T1 vara 10x snabbare än x86 om de döljer lika mycket latens genom snabb trådswitchning?

Jag ser minst två sätt hur man kan förklara att SPARC T1 är 10x snabbare än x86 på vissa trådade serverlaster.
1) Du har fel, x86 tar flera hundra cyckler att switcha tråd, precis som jag läst och kan alltså inte dölja latens. Och det är därför SPARC T1 är 10x snabbare än x86.
2) x86 kan switcha snabbt, men eftersom SMT bara har två trådar så kan inte mycket latens döljas och därför är SPARC T1 över 10x snabbare på vissa laster.

I båda dessa fall har du fel. Så har du länkar? Det låter inte troligt att x86 kan dölja latens, för då borde x86 ha cpu utilization på 95% precis som SPARC T1, och då finns inte en chans att SPARC T1 var 10x snabbare, eftersom x86 har mer än dubbelt så bra specar (dubbla GHz, dubbla cache storleken = 4x bättre spec)

Skrivet av Yoshman:

Din beskrivning av UV2000 minnesdesign är så fel att det inte är lönt att försöka peka ut missar, det första steget är nog att du läser på om "crossbar switch".

Jag har kollat upp UV2000 igen och det verkar vara lite olika bud. Föregångaren till UV2000 hade i alla fall fat tree topology, dvs hierarkier med olika lager av switchar.
http://clusterdesign.org/fat-trees/

Här står att UV2000 består av ett rack som består av flera IRU, dvs 8 compute blades i varje IRU. Dessa 8 blades är kopplade inuti en IRU enhet genom en 3D enhanced hypercube. Och varje sådan IRU enhet är kopplade samman i en cross bar interconnect, dvs en vanlig matris. Så det är alltså en matris med massa IRU enheter.
http://www.theplatform.net/2015/03/05/balancing-scale-and-sim...

Men här står det nåt på sidan 8 längst ned, att UV2000 med 256 sockets har "three level router topology". Jag vet inte vad det betyder, men kan det betyda tre lager av routrar eller nåt sånt, precis som föregångaren hade flera lager av hierarkiska switchar i en fat tree topology?
https://www.coursehero.com/file/p481j0/Figure-3b-256-socket-u...

detsamma står här
https://www.coursehero.com/file/p481j0/Figure-3b-256-socket-u...

I vilket fall som helst så är latensen till noder långt bort mer än 10x sämre än om man rör sig i samma enhet. T.ex. i en liten 64-socket SGI UV2000 är latensen 870 nanosekunder, dvs 10.7x sämre (sidan 4 i länken nedan). Om man skulle skala upp till 256-cpuer så skulle latensen bli mycket värre. Latensen minskar ju inte linjärt, utan värre än så. Det är därför alla stora Unix servrar stannar vid 32-cpuer.
www.adms-conf.org/2014/adms14_kissinger.pdf

Skrivet av Yoshman:

Det sagt så är det nog ingen som ens försökt hävda att man ska köra något annat än typiska HPC laster på system med 256 sockets,

Nja, jag vet flera Linux fantaster (t.ex. virt*** v***) som tror på fullaste allvar att ett HPC cluster som SGI UV2000, kan ersätta och köra scale-up enterprise arbetslaster långt bättre än stora Unix servrar. Somliga av fantasterna har sagt att stora Unix servrar är dinosaurier och snart utdöda och att framtiden är hos stora Linux x86 servrar med 100 tals sockets. När jag påpekar att UV2000 är ett kluster eftersom det enda som körs på UV2000 är HPC laster, så idiotförklarar de mig. Jag frågar då varför alla höga SAP benchmarks är med stora Unix servrar, och alla x86 benchmarks är typiskt 8-sockets och med dåliga poäng och definitivt finns inte UV2000 med bland SAP benchmarks - så får jag inget svar. Men de fortsätter trots det hävda att UV2000 skalar bättre och ersätter stora Unix servrar som SPARC och POWER. Utan några bevis eller benchmarks, eftersom det inte existerar några bra x86 affärsbenchmarks att tala om. Det är bara stora Unix servrar med 32 sockets som klarar av bra affärsprestanda, eftersom Unix skalar långt bättre än x86 eller Linux. Nu pratar jag om scale-up (dvs en stor fet server), och inte scale-out (dvs kluster). Så, jo, det finns massor av såna människor som tror att Unix servrar är dinosaurier och snart utdöda, typiskt finns de i Linux lägret.

Skrivet av Yoshman:

NUMALink som UV2000 använder har dock bland den lägsta latens du hittar för inter-socket connects idag så det är definitivt möjligt att designa en "vanliga" server med mer rimligt mängd sockets.

Visst kanske NUMALink6 ha en låg latens, men när man börjar skala upp så degraderas prestandan raskt. Med så få som 64-sockets blir latensen mer än 10x sämre. Föreställ dig då 256 sockets med kanske 4x sämre latens. Eller, som de gamla föregångarna till UV2000 som SGI hade, som skalade upp till 4096 cpuer - hur dålig tror du latensen var på ett sådant kluster? Det hade antagligen många många lager av switchar i hierarkier och latensen kröp upp mot millisekunder kanske?

Skrivet av Yoshman:

För lite verklighetscheck när man pratar om dessa system så kan man konstatera att <=4 sockets står för ~99% av alla servers som körs idag.

Möjligt, men jag pratar om high end servrar. Och SAP säger själva i en studie att ca 10% av alla deras kunder vill ha >4-sockets.

Skrivet av Yoshman:

SPARC XIfx verkar rätt cool. Men den finns ännu inte (om jag inte totalt missat något), den ska tillverkas på 20nm och ingen har lyckats tillverka kretsar med denna storlek/komplexitet på denna nod ännu. Intel (som använder 22nm för Xeon E5/E7 för tillfället) har en peak-flyttalskapacitet på 800GFLOP/s per socket (ca 750GFLOP/s har uppmätts i faktiskt program), det är andra eller tredje gången du hävdar att x86 maxar på 300-400GFLOP/s och det är fortfarande fel.

Vad jag kommer ihåg är detta första gången jag hävdar att x86 maxar på 3-400 gflops. Men strunt samma. Här står att POWER8 maxar på 384 gflops. Jag trodde inte att x86 har dubbelt så hög gflops? Har du länk?
http://www.oerc.ox.ac.uk/projects/asearch/hardware/ibm
"...see HotChips presentation above). With the cores running at 4GHz, and each core capable of 4 double precision FMA operations per cycle, the peak performance is 384 GFlops per chip. This is not as high as a top-of-the-line x86 CPU..."

Skrivet av Yoshman:

Edit: SPARC XIfx ska tydligen använda Hybrid Memory Cube också. Ännu coolare, men det finns väll inte heller i kommersiell produktion för tillfället?

Jag vet inte. Jag är mer intresserad av SPARC M7 som är en server cpu, än denna XIfx som har två starka trådar per core vilket är ju mer desktop laster. M7 fokuserar ju på genomströmning, dvs serva många klienter samtidigt, dvs en riktig server cpu.

Permalänk
Skrivet av Gender Bender:

En stark kärna är bara till en fördel tills man når smärttröskeln för vad som anses vara rimlig energiförbrukning. Vi skulle ha kunnat fortsätt att höja klockfrekvensen i stället för att börja utveckla processorer med fler kärnor, men jag tror nog att en dator skulle få svettas en hel del om man körde en processor i uppemot 20 GHz,

Jag har för mig att enligt fysikens lagar så är effektkravet = GHz * GHz * Volt
Så effekten växer alltså i kvadrat om du ökar GHz. Därför går det inte att gå över 5GHz på ett enkelt sätt.

IBM sade ju länge att deras POWER cpuer skulle gå mot 7-8GHz eller ännu snabbare. IBMs dual core POWER6 kördes ju på 5GHz och hade två trådar, dvs fyra trådar totalt. IBM sade explicit att "databaser körs bättre på få starka trådar, än många svaga trådar". Och om man vill ha många trådar, så stoppar man i många cpuer istället. Då får man både snabba och många trådar. Och därför ville IBM att deras cpuer skulle bli högre och högre klockade och siktade på 7-8GHz i nästa generation. IBM hånade SPARC T1 familjen som var "en nitlott och hade ingen framtid". IBM optimerade hela POWER för databaser, dvs hjärtat i alla affärsystem.

Samtidigt fanns den helt nya radikala SPARC T1 familjen och visade en annan väg med lägre klockade men många cores och många trådar. Så t.ex. behövdes tre IBM P470 servrar med 14 st POWER6 på 4.7 GHz för att matcha en enda Sun Niagara T5440 som har fyra st SPARC T2 cpuer på 1.6GHz i SIEBEL v8 benchmarks.

Men efter POWER6 så frångick IBM få men starka cores, och började likna SPARC mer och mer, med många och lägre klockade kärnor. T.ex. IBM POWER8 liknar ju SPARC M6 ganska mycket; både har 12 cores och 8 trådar varje kärna. Om man hade trott IBM så skulle POWER8 varit en eller två cores, med 12 GHz eller så. Men IBM insåg att det inte funkade, pga effektkraven mfl problem. Och nu är POWER ganska lik SPARC med många kärnor och många trådar. Och helt plötsligt anser IBM att det är så man ska bygga cpuer och att IBM är "revolutionerande och unika". När det i själva verket är starkt influerat av SPARC

Permalänk
Datavetare
Skrivet av MichaelJackson:

Se nedan

Jaså, jag har läst i en teknisk artikel att switcha mellan trådar tar flera hundra cykler på x86. Och att det bara är SPARC T1, T2, etc som kan switcha trådar snabbt och på så sätt dölja latens, genom att arbeta med nåt annat då tråden väntar på data från RAM. Har du länk som stödjer påståendet att x86 kan switcha snabbt? En annan studie visade att SPARC har typ 95% cpu utilization under full load, medan studier från Intel visade att en server x86 cpu, har cpu utiliation på kring 50% eller så, under full load. Om det nu stämmer som du säger, att x86 kan gömma latens, så borde Intelstudien visat att en server x86 cpu har en cpu utilization på kring 90% precis som SPARC. Så något är fishy.

SPARC T1 var ju kanske 10x snabbare än x86 på trådade server laster, trots att den var klockad på typ 1.2GHz med totalt 256KB cpu cache, och Xeon x86 var klockad på 2.5GHz och cpu cache på flera MB. Så därför var det möjligt att SPARC T1 krossade en x86, pga 95% cpu utilization medan x86 hade 50% cpu utilization. Så något är fishy. Hur kan SPARC T1 vara 10x snabbare än x86 om de döljer lika mycket latens genom snabb trådswitchning?

Jag ser minst två sätt hur man kan förklara att SPARC T1 är 10x snabbare än x86 på vissa trådade serverlaster.
1) Du har fel, x86 tar flera hundra cyckler att switcha tråd, precis som jag läst och kan alltså inte dölja latens. Och det är därför SPARC T1 är 10x snabbare än x86.
2) x86 kan switcha snabbt, men eftersom SMT bara har två trådar så kan inte mycket latens döljas och därför är SPARC T1 över 10x snabbare på vissa laster.

I båda dessa fall har du fel. Så har du länkar? Det låter inte troligt att x86 kan dölja latens, för då borde x86 ha cpu utilization på 95% precis som SPARC T1, och då finns inte en chans att SPARC T1 var 10x snabbare, eftersom x86 har mer än dubbelt så bra specar (dubbla GHz, dubbla cache storleken = 4x bättre spec)

Jag har kollat upp UV2000 igen och det verkar vara lite olika bud. Föregångaren till UV2000 hade i alla fall fat tree topology, dvs hierarkier med olika lager av switchar.
http://clusterdesign.org/fat-trees/

Här står att UV2000 består av ett rack som består av flera IRU, dvs 8 compute blades i varje IRU. Dessa 8 blades är kopplade inuti en IRU enhet genom en 3D enhanced hypercube. Och varje sådan IRU enhet är kopplade samman i en cross bar interconnect, dvs en vanlig matris. Så det är alltså en matris med massa IRU enheter.
http://www.theplatform.net/2015/03/05/balancing-scale-and-sim...

Men här står det nåt på sidan 8 längst ned, att UV2000 med 256 sockets har "three level router topology". Jag vet inte vad det betyder, men kan det betyda tre lager av routrar eller nåt sånt, precis som föregångaren hade flera lager av hierarkiska switchar i en fat tree topology?
https://www.coursehero.com/file/p481j0/Figure-3b-256-socket-u...

detsamma står här
https://www.coursehero.com/file/p481j0/Figure-3b-256-socket-u...

I vilket fall som helst så är latensen till noder långt bort mer än 10x sämre än om man rör sig i samma enhet. T.ex. i en liten 64-socket SGI UV2000 är latensen 870 nanosekunder, dvs 10.7x sämre (sidan 4 i länken nedan). Om man skulle skala upp till 256-cpuer så skulle latensen bli mycket värre. Latensen minskar ju inte linjärt, utan värre än så. Det är därför alla stora Unix servrar stannar vid 32-cpuer.
www.adms-conf.org/2014/adms14_kissinger.pdf

Nja, jag vet flera Linux fantaster (t.ex. virt*** v***) som tror på fullaste allvar att ett HPC cluster som SGI UV2000, kan ersätta och köra scale-up enterprise arbetslaster långt bättre än stora Unix servrar. Somliga av fantasterna har sagt att stora Unix servrar är dinosaurier och snart utdöda och att framtiden är hos stora Linux x86 servrar med 100 tals sockets. När jag påpekar att UV2000 är ett kluster eftersom det enda som körs på UV2000 är HPC laster, så idiotförklarar de mig. Jag frågar då varför alla höga SAP benchmarks är med stora Unix servrar, och alla x86 benchmarks är typiskt 8-sockets och med dåliga poäng och definitivt finns inte UV2000 med bland SAP benchmarks - så får jag inget svar. Men de fortsätter trots det hävda att UV2000 skalar bättre och ersätter stora Unix servrar som SPARC och POWER. Utan några bevis eller benchmarks, eftersom det inte existerar några bra x86 affärsbenchmarks att tala om. Det är bara stora Unix servrar med 32 sockets som klarar av bra affärsprestanda, eftersom Unix skalar långt bättre än x86 eller Linux. Nu pratar jag om scale-up (dvs en stor fet server), och inte scale-out (dvs kluster). Så, jo, det finns massor av såna människor som tror att Unix servrar är dinosaurier och snart utdöda, typiskt finns de i Linux lägret.

Visst kanske NUMALink6 ha en låg latens, men när man börjar skala upp så degraderas prestandan raskt. Med så få som 64-sockets blir latensen mer än 10x sämre. Föreställ dig då 256 sockets med kanske 4x sämre latens. Eller, som de gamla föregångarna till UV2000 som SGI hade, som skalade upp till 4096 cpuer - hur dålig tror du latensen var på ett sådant kluster? Det hade antagligen många många lager av switchar i hierarkier och latensen kröp upp mot millisekunder kanske?

Möjligt, men jag pratar om high end servrar. Och SAP säger själva i en studie att ca 10% av alla deras kunder vill ha >4-sockets.

Vad jag kommer ihåg är detta första gången jag hävdar att x86 maxar på 3-400 gflops. Men strunt samma. Här står att POWER8 maxar på 384 gflops. Jag trodde inte att x86 har dubbelt så hög gflops? Har du länk?
http://www.oerc.ox.ac.uk/projects/asearch/hardware/ibm
"...see HotChips presentation above). With the cores running at 4GHz, and each core capable of 4 double precision FMA operations per cycle, the peak performance is 384 GFlops per chip. This is not as high as a top-of-the-line x86 CPU..."

Jag vet inte. Jag är mer intresserad av SPARC M7 som är en server cpu, än denna XIfx som har två starka trådar per core vilket är ju mer desktop laster. M7 fokuserar ju på genomströmning, dvs serva många klienter samtidigt, dvs en riktig server cpu.

Teoretiskt peak FLOPS per cykel och kärna för Haswell är
4 (4 DP per AVX-register) * 2 (FMA) * 2 (2 FMA-ALUs) = 16DP per cykel och kärna

Xeon E5 2699v3 har 18 kärnor, maximal frekvens när alla kärnor är aktiv är 2.8GHz -> 18 * 2.8 * 16 = 806GFLOPS. I Linpack (som kan utnyttja FMA till väldigt nära 100% effektivitet) så går det att nå >700FLOPS i praktiken.

Du förstår uppenbarligen överhuvudtaget inte hur SMT fungerar så blir ingen vettig diskussion. Du säger att SPARC T1/T2 skulle vara bra på något sätt, det är i princip en barrel processor, att den byter tråd varje cykel är för att den måste. Barrel processors är den enklaste/minst effektiva varianten av SMT, så det är inget positivt!

Intels variant av SMT kör båda trådarna samtidigt, finns därför ingen motsvarighet till T1/T2 byte mellan trådar. Hur mycket varje tråd avancerar på Intel beror på vilka ALU-enheter som finns tillgängliga och huruvida data för instruktionerna finns tillgängligt, ovan på det finns heuristik där instruktioner som varit lägst in-flight får högre prioritet och den tråd som fått mindre "retired" instruktioner på sistone får också en boost så båda trådarna i snitt får lika mycket CPU-kraft.

Det var inte det jag refererade till när jag sa att latensen mellan trådar är i princip noll, jag refererade till latens för att leverera data från en tråd till en annan. Det är väldigt dyrt mellan "fysiska" kärnor p.g.a. av något känt som cache line bouncing. Alla trådar i samma fysiska CPU-kärna delar L1-cache så därför har man inget cache-line-bouncing problem.

Vad det gäller kontextswitch mellan trådar (d.v.s. byte av OS-tråd på CPU-tråd) så finns det nog ingen RISC, definitivt inte SPARC, som gör det billigare än x86. SPARC ska i det läget spara/ladda ett helt nytt registerhjul ("S" i SPARC) medan x86 kan skriva ut/spara tillbaka hela registerbanken med två instruktioner.

Den studie du tidigare refererar till kring CPU-utilization när du skulle visa SPARCs/Solaris överlägsenhet var mot P4! Ja, P4 sög som server, faktum är att Nehalem är den första "riktiga" server CPU som Intel någonsin gjort på x86. Tidigare Xeons var desktop CPUer med större cache och senare fler CPU-kärnor. Dagens Xeon E5/E7 skiljer på rätt många punkter från desktop-versionerna.

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:

Teoretiskt peak FLOPS per cykel och kärna för Haswell är
4 (4 DP per AVX-register) * 2 (FMA) * 2 (2 FMA-ALUs) = 16DP per cykel och kärna

Xeon E5 2699v3 har 18 kärnor, maximal frekvens när alla kärnor är aktiv är 2.8GHz -> 18 * 2.8 * 16 = 806GFLOPS. I Linpack (som kan utnyttja FMA till väldigt nära 100% effektivitet) så går det att nå >700FLOPS i praktiken.

Vad teorin säger kan man inte räkna med. Har du länkar som visar 700 gflops? Jag googlade förut på x86 och hittade inget vettigt. Jag hittade bara POWER8 siffran.

Skrivet av Yoshman:

Du förstår uppenbarligen överhuvudtaget inte hur SMT fungerar så blir ingen vettig diskussion. Du säger att SPARC T1/T2 skulle vara bra på något sätt, det är i princip en barrel processor, att den byter tråd varje cykel är för att den måste. Barrel processors är den enklaste/minst effektiva varianten av SMT, så det är inget positivt!

Jag har för mig att SPARC T1/T2 byter tråd när den vill det, dvs när den får en cache miss. Inte att den byter varje cykel.

Skrivet av Yoshman:

Vad det gäller kontextswitch mellan trådar (d.v.s. byte av OS-tråd på CPU-tråd) så finns det nog ingen RISC, definitivt inte SPARC, som gör det billigare än x86. SPARC ska i det läget spara/ladda ett helt nytt registerhjul ("S" i SPARC) medan x86 kan skriva ut/spara tillbaka hela registerbanken med två instruktioner.

Så den tekniska artikeln på djup detaljnivå som jag läste förrut, stämmer inte när den påstod att det tog flera hundra cykler att byta tråd för en x86? Har du länkar? Jag kan försöka hitta artikeln jag läste igen, men det var längesen, men jag ska googla lite. Men om du redan är säker på detta, så kanske du kan visa länk?

Men varför har SPARC T1/T2 ca 95% cpu utilization och x86 har maximalt 50% under full load - om nu x86 är snabbare på att switcha trådar? Kan det bero på att x86 bara har två trådar och när en tråd stallar, och den switchar, så kanske även andra tråden stallar snart, och då är båda trådarna upptagna med att fetcha data från RAM, dvs det tar väldigt lång tid och därför har en x86 endast 50% cpu utilization under server work loads? Självklart har en x86 som kör desktop laster mycket högre cpu utilization. Det är när den kör server workloads och den servar många klienter som data aldrig kan få plats i cpu cachen, så cpun måste ut till RAM hela tiden. Om tusen klienter ska servas, som alla gör olika saker, så går det aldrig att cache all deras data i en cpu cache.

Medan en 8 core och 64 trådars SPARC T1/T2 alltid har en tråd redo för exekvering. Är det därför som en 1.6GHz SPARC cpu kunde vara 10x snabbare än en x86 på 3GHz?

Skrivet av Yoshman:

Den studie du tidigare refererar till kring CPU-utilization när du skulle visa SPARCs/Solaris överlägsenhet var mot P4! Ja, P4 sög som server, faktum är att Nehalem är den första "riktiga" server CPU som Intel någonsin gjort på x86. Tidigare Xeons var desktop CPUer med större cache och senare fler CPU-kärnor. Dagens Xeon E5/E7 skiljer på rätt många punkter från desktop-versionerna.

P4? Det kommer jag inte alls ihåg. Det var en studie från Intel som visade att en server x86 cpu idlar 50% av tiden under full load. Men det är ju självklart, hur skulle en cpu kunna cacha 1000 användares data? Det är ju omöjligt. Det går ju bara att cacha en liten arbetslast, t.ex desktop arbetslaster som kan köras i en tight for loop. Alla cpuer har ju detta problem, det är omöjligt att cacha 1000 klienters data i cpu cachen. T.ex. Fujitsu M10-4S SPARC server som har topp SAP benchmarks, kan serva 153.000 samtidiga SAP användare. Och alla dessa användare gör helt olika saker, så det går aldrig att cacha detta. Så man måste ut till RAM hela tiden. Och det gäller även idag, en cpu kan inte cacha allt, utan måste ut till RAM. Så man måste maskera detta på något sätt, t.ex. genom enorma cpu caches, jag har för mig att nån IBM cpu hade 96MB cpu cache. Men ändå, det går inte att få in tusen tals klienters data i 96MB RAM, därför att du även måste få in SAP, databasen, kernel, etc etc. Du måste alltid ut till RAM om du kör server laster. Punkt. Det spelar ingen roll om du kör dagens Xeon E7v3 eller POWER8 eller SPARC M7.

Men visst, även om det nu vore P4, så måste man tänka på att SPARC T1/T2 var inte heller några bra cpuer idag. Du säger att P4 är dålig idag, men T1/T2 är också dåliga idag. Men visst var det så att P4 var bättre på desktop laster, med tunga beräkningar. SPARC T1/T2 var ju bra på hög genomströmning med att serva många klienter med enkla jobb. Där var den 10x snabbare eller så.

Permalänk
Datavetare
Skrivet av MichaelJackson:

Vad teorin säger kan man inte räkna med. Har du länkar som visar 700 gflops? Jag googlade förut på x86 och hittade inget vettigt. Jag hittade bara POWER8 siffran.

POWER8 siffran är teoretiskt max: 2 (2 DP per vektorregister) * 2 (FMA) * 2 (2st FMA-ALUs per kärna) = 8DP per cykel och kärna.

Snabbaste "scale-out" (vilket rimligen är vad man vill ha för HPC) är S824, den finns att tillgå som 8 kärnor @ 4.15GHz eller 12 kärnor @ 3.52GHz, . 12 kärnor ger högre teoretisk FLOPS, det blir 3.52*12*8 = 338GFLOPS, frågan är om det går att köra en POWER8 idag med teoretisk max på 384GLOPS (skulle vara 12 kärnor @ 4.0GHz).

Finns en variant med 12 kärnor och 4.0GHz, E880, kostar antagligen som en mindre lands BNP men visar i alla fall att man kan köpa 12 kärnor @ 4.0GHz. Hittar inga Linpack mätningar på någon av dessa, hittar bara POWER7+ mätningar och den modeller verkar nå ca 90% av teoretiskt max (Linpack skalar i princip linjärt över kärnor och även över sockets).

Agner Fog har visat att det han kallar "reciprocal throughput" är 0.5 för alla FVMADDxxx instruktioner på Haswell, det betyder att det rent praktiskt är möjligt att nå det teoretiskt GFLOPS värdet. I praktiken innehåller instruktionsströmmen annat än bara FVMADDxxx instruktioner, finns folk som bara genom att bygga & köra de varianter av LinPack som finns öppet tillgängliga för Linux kan nå 80% av teoretiskt max.

Den körning jag hittade är ca 1 år gammal, man ser att Ivy Bridge ligger i princip på 100% av sitt teoretiskt max (max 8DP per cykel och kärna där då FMA stöd kom med Haswell). Rätt säker att man idag skulle få bättre resultat idag då man haft tid att jobbat lite mer med att optimera för FMA.[/quote]

Skrivet av MichaelJackson:

Jag har för mig att SPARC T1/T2 byter tråd när den vill det, dvs när den får en cache miss. Inte att den byter varje cykel.

Så den tekniska artikeln på djup detaljnivå som jag läste förrut, stämmer inte när den påstod att det tog flera hundra cykler att byta tråd för en x86? Har du länkar? Jag kan försöka hitta artikeln jag läste igen, men det var längesen, men jag ska googla lite. Men om du redan är säker på detta, så kanske du kan visa länk?

Antag att du har rätt kring SPARC T1/T2, vad skulle då hända om en tråd råkar köra något som bara jobbar mot register? Den tråden skulle aldrig "stalla" och ingen annan tråd skulle få köra. T1/T2 delar upp aktiva trådar i två uppsättningar, en som innehåller trådar som är "stallad" och en som innehåller trådar som kan köra, man växlar mellan trådarna i den senare uppsättningen varje cykel. Går att hitta i tekniskt dokumentation om T1/T2, men går också och läsa på wiki för T1

"Each core is a barrel processor, meaning it switches between available threads each cycle. When a long-latency event occurs, such as cache miss, the thread is taken out of rotation while the data is fetched into cache in the background. Once the long-latency event completes, the thread is made available for execution again."

Angående latens på x86, ett par hundra cykler låter rimligt för att byta OS-tråd. Men att byta OS-tråd är inte samma sak som SMT, x86 och PowerPC är de CPUer jag jobbat med som är snabbast på att byta mellan OS-trådar. Just detta är en SPARCs akilleshälar, det är betydligt dyrare där p.g.a. registerhjulet.

Skrivet av MichaelJackson:

Men varför har SPARC T1/T2 ca 95% cpu utilization och x86 har maximalt 50% under full load - om nu x86 är snabbare på att switcha trådar? Kan det bero på att x86 bara har två trådar och när en tråd stallar, och den switchar, så kanske även andra tråden stallar snart, och då är båda trådarna upptagna med att fetcha data från RAM, dvs det tar väldigt lång tid och därför har en x86 endast 50% cpu utilization under server work loads? Självklart har en x86 som kör desktop laster mycket högre cpu utilization. Det är när den kör server workloads och den servar många klienter som data aldrig kan få plats i cpu cachen, så cpun måste ut till RAM hela tiden. Om tusen klienter ska servas, som alla gör olika saker, så går det aldrig att cache all deras data i en cpu cache.

Medan en 8 core och 64 trådars SPARC T1/T2 alltid har en tråd redo för exekvering. Är det därför som en 1.6GHz SPARC cpu kunde vara 10x snabbare än en x86 på 3GHz?

Det är så mest för du sväljer det SUN/Oracle skriver helt utan att kritisk ifrågasätta vad man faktiskt ger siffror på, medan du förutsätter att allt Intel skriver om x86 är fel och alla skitkastande rykte är rätt

SPARC T1/T2 är en single issue(!) design med 4 trådar på kärna. För att nå 95% "CPU utilization" som SUN definierade det måste man nå en IPC på 0.95. Har inget problem med den definitionen och är lite imponerad om P4 faktiskt når 50%, skulle ha gissat på lägre.

SPARC T1 lanserades 2005, P4 var fortfarande den aktuella modellen då Core2 lanserades 2006. Men då T2 lanserades 2007 och efterföljaren lanserades 2010 skulle jag ändå hävda att Core2 var konkurrent under majoriteten av tiden. Låt oss titta på Core2, det är en quad-issue design, för att nå 95% ska den ha en IPC på 3.8. Finns inte en sportmössa att den ens är nära en sådan IPC, men sett till utfört arbete per kärna räcker det faktiskt att Core2 har en effektivitet på 25% för att matcha T1/T2 (Core2 var i.o.f.s högre klockad, men hade färre kärnor).

Det du skriver är i någon korrekt, men i praktiken irrelevant. Det som spelar roll är hur fort CPUn kan köra program. Det fanns definitivt saker SPARC T1/T2 kunde köra snabbare än Xeon Core2, men det var extremt smala nischer. I praktiken ligger Core2 på en IPC runt 2.0 (samma 50% effektivitet som P4, men P4 var bara dual-issue så Core2 utför ungefär dubbelt så mycket per cykel).

I Nehalem stoppade man in SMT och tack vare det kan man nu nå väsentligt över 50% av teoretiskt kapacitet, är dock inga 95%. Spelar mindre roll då teoretiskt max sedan Nehalem är 5 x86 instruktioner per cykel.

Skrivet av MichaelJackson:

P4? Det kommer jag inte alls ihåg. Det var en studie från Intel som visade att en server x86 cpu idlar 50% av tiden under full load. Men det är ju självklart, hur skulle en cpu kunna cacha 1000 användares data? Det är ju omöjligt. Det går ju bara att cacha en liten arbetslast, t.ex desktop arbetslaster som kan köras i en tight for loop. Alla cpuer har ju detta problem, det är omöjligt att cacha 1000 klienters data i cpu cachen. T.ex. Fujitsu M10-4S SPARC server som har topp SAP benchmarks, kan serva 153.000 samtidiga SAP användare. Och alla dessa användare gör helt olika saker, så det går aldrig att cacha detta. Så man måste ut till RAM hela tiden. Och det gäller även idag, en cpu kan inte cacha allt, utan måste ut till RAM. Så man måste maskera detta på något sätt, t.ex. genom enorma cpu caches, jag har för mig att nån IBM cpu hade 96MB cpu cache. Men ändå, det går inte att få in tusen tals klienters data i 96MB RAM, därför att du även måste få in SAP, databasen, kernel, etc etc. Du måste alltid ut till RAM om du kör server laster. Punkt. Det spelar ingen roll om du kör dagens Xeon E7v3 eller POWER8 eller SPARC M7.

Men visst, även om det nu vore P4, så måste man tänka på att SPARC T1/T2 var inte heller några bra cpuer idag. Du säger att P4 är dålig idag, men T1/T2 är också dåliga idag. Men visst var det så att P4 var bättre på desktop laster, med tunga beräkningar. SPARC T1/T2 var ju bra på hög genomströmning med att serva många klienter med enkla jobb. Där var den 10x snabbare eller så.

SUN hade totalt fel i att cache var onödigt, till och med Oracle erkänner detta och fokus på senare SPARC-modeller därifrån har varit stenhårt på just cache. Problemet för alla konkurrenter till Intel är att Intel ligger lite i en klass för sig just nu vad det gäller design på cache och prefetchers, sett till teoretisk bandbredd och övrig teoretisk kapacitet borde Xeon E5/E7 vara totalt chanslös mot POWER8 och senaste SPARC men i praktiken är det relativt jämt i absolut prestanda men Intel har mindre än halva strömförbrukningen så deras perf/W är totalt överlägsen.

Tror du får fundera hur korrekt ditt uttalande om att IBM/POWER närmat sig Oracle/SPARC i POWER8. Det är en design som maximalt kan ha 12 kärnor, det är en 8-issue (12 pipelines internt) som kan köras i runt 4GHz. Var ser du att det inte är en design som inte stenhårt fokuserar på extremt starka, men inte supermånga kärnor? Visst kan man köra 8 trådar per kärna, bl.a. AnandTech har testat denna CPU och konstaterat att mer än 4 trådar hjälper bara i extremt specifika fall, ungefär samma fall där SPARC T1/T2 fungerade bra.

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:

Den körning jag hittade är ca 1 år gammal, man ser att Ivy Bridge ligger i princip på 100% av sitt teoretiskt max (max 8DP per cykel och kärna där då FMA stöd kom med Haswell). Rätt säker att man idag skulle få bättre resultat idag då man haft tid att jobbat lite mer med att optimera för FMA

Jag hänger inte riktigt med här. Den länken du visar angående att Xeon Haswell når 788 gflops, är ju när han benchar två stycken Xeon Haswell proppar samtidigt.
https://www.pugetsystems.com/labs/articles/Xeon-E5-v3-Haswell...

Kan du posta en annan länk som visar att en enda Xeon når runt 700 gflops? Jag menar, POWER8 som ska vara väldigt snabb, når bara runt 384 gflops. Och IBM påstår att POWER8 är flera gånger snabbare än x86. Så då borde x86 nå mindre gflops än en POWER8?

Skrivet av Yoshman:

Angående latens på x86, ett par hundra cykler låter rimligt för att byta OS-tråd. Men att byta OS-tråd är inte samma sak som SMT, x86 och PowerPC är de CPUer jag jobbat med som är snabbast på att byta mellan OS-trådar.

Ok, så du menar att det kan vara så att när SPARC T1/T2 byter tråd, så går det långsamt om den byter OS-trådar? Det låter rimligt. Så poängen med SPARCs snabbhet är alltså att den kan maskera mycket mer latens genom att ha många fler trådar att switcha mellan. x86 har bara två trådar att switcha mellan och när de stallar, så får x86 vänta ofta. Det låter rimligt.

Skrivet av Yoshman:

Det är så mest för du sväljer det SUN/Oracle skriver helt utan att kritisk ifrågasätta vad man faktiskt ger siffror på, medan du förutsätter att allt Intel skriver om x86 är fel och alla skitkastande rykte är rätt

Den här studien var inte från Sun. Det var några forskare från nåt universitet har jag för mig. Jag borde sparat artikeln när jag läste den förrut. Och artikeln dröjde med att komma ut, SPARC T1/T2 hade funnit något/några år, innan den började få uppmärksamhet.

Men se på det så här, om jag verkligen sväljer allt som Sun/Oracle skriver, så räcker det med att du motbevisar med länkar/benchmarks/etc så ändrar jag mig. Genast. Det är inte svårare än så att få mig att ändra ståndpunkt. Bevisa att jag har fel. Bevisa även att Sun/Oracle har fel, så kommer jag ändra åsikt, även där. Det är det som är skönt att diskutera med matematiker, det spelar ingen roll hur många timmar man diskuterar, men bevisar du med hårda fakta/länkar så ändrar en matematiker omedelbart ståndpunkt. Simple as that. Det tar några sekunder bara, så tycker jag exakt som du.

Däremot vet jag att man kan visa Linux fantaster (och även dig) hur många länkar som helst som de/du omedelbart avfärdar. Jag har t.ex. visat dem flera länkar om hur bloatad Linux kernel är, enligt vad Linus Torvalds säger - och alla Linux fantaster avfärdar genast Linus Torvalds som mindre vetande. Erhm??? Jag menar, finns det någon mer trovärdig källa om Linux än Linus? Nej, och ändå avfärdas han, trots att han gång på gång i flera olika intervjuer säger att Linux kernel är bloatad. O_o

T.ex. anser du ju att Linux TCP IP stack är helt överlägsen allt annat på marknaden. Och ifall jag visar dig såna här länkar (många av dessa kommentarer säger att Linux stack är inte alls vidare bra) så kommer du omedelbart avfärda länken eftersom "Facebook inte kan så mycket om högprestanda nätverkstrafik". Det går liksom inte att få dig att ändra ståndpunkt, oavsett hur många länkar man visar, från Linus Torvalds eller Gud själv. Alla bevis avfärdas utav dig. Men jag sväljer alla bevis.
http://bsd.slashdot.org/story/14/08/06/1731218/facebook-seeks...

Skrivet av Yoshman:

SUN hade totalt fel i att cache var onödigt,

Cache är inte _onödigt_, det är mycket bra. Men mindre viktigt på serverlaster än på desktops, eftersom alla data inte får plats i cachen. Det som är viktigt är att minska latensen, det kan göras mindre bra med cache. Det är bättre att dölja latens med många trådar. En vanlig desktop cpu med få starka trådar och stor cache, når 50% cpu utilization på server loads. En SPARC T1 når 95% cpu utilization på server loads med mycket liten cache. Vilket är bäst, cache eller trådar? Det är helt omöjligt att nå 95% cpu utilization med stor cache. Men det går att nå med trådar.

Idag har Oracle många trådar, SPARC M7 kommer att ha 256 trådar. Hur förbättrar man prestanda härnäst? Jo, genom att gå tillbaka till de gamla sätten; öka cachen. Men om man sysslar med servrar, så är många trådar bättre än stor cache. Så bara för att Sun/Oracle börjat addera cache efter att först ha ökat antalet trådar, så betyder det inte att Sun/Oracle tycker det du säger.

Skrivet av Yoshman:

Tror du får fundera hur korrekt ditt uttalande om att IBM/POWER närmat sig Oracle/SPARC i POWER8. Det är en design som maximalt kan ha 12 kärnor, det är en 8-issue (12 pipelines internt) som kan köras i runt 4GHz. Var ser du att det inte är en design som inte stenhårt fokuserar på extremt starka, men inte supermånga kärnor?

Man kan lägga sin Watt budget på två olika sätt:
1) en enda core som skruvar upp GHz tills kärnan ensam slukar 250 Watt. Det kanske blir 8-10 GHz?
2) många cores/många trådar som tillsammans slukar 250 watt.

IBM pratade om att 1) var framtiden och att 2) var dåligt, och hånade Suns SPARC T1. Tycker du att POWER8 är mer lik 1) eller 2)? Tycker du att POWER8 är lik en sådan design som IBM menade var framtiden för cpuer? Eller gick IBM kanske över till många cores/många trådar design, med sin POWER8 som har 8-12 cores och 96 trådar, precis som SPARC M6 också har 8 cores och 96 trådar? Jag fattar inte att du verkligen tycker på riktigt, att POWER8 är mer lik en single core cpu med två trådar på 8-10 GHz?

Permalänk
Datavetare
Skrivet av MichaelJackson:

Jag hänger inte riktigt med här. Den länken du visar angående att Xeon Haswell når 788 gflops, är ju när han benchar två stycken Xeon Haswell proppar samtidigt.
https://www.pugetsystems.com/labs/articles/Xeon-E5-v3-Haswell...

Kan du posta en annan länk som visar att en enda Xeon når runt 700 gflops? Jag menar, POWER8 som ska vara väldigt snabb, når bara runt 384 gflops. Och IBM påstår att POWER8 är flera gånger snabbare än x86. Så då borde x86 nå mindre gflops än en POWER8?

WTF...
Linpack skalar linjärt med kärnor och frekvens på samma design. Ta 5930K siffrorna, dela med 6 (antal kärnor) och med 3.5 (frekvens), multiplicera 18 (antal kärnor i E5 2699v3) och 2.8 (frekvens) = 700GFLOPS

Det enda man egentligen behöver visa är att det går att köra 2 FMA per cykel, vilket är exakt vad Agner Fog gjort (reciprocal throughput 0.5). Då har man visat att det är praktiskt möjligt att nå 800Gbit/s eftersom kärnorna är helt oberoende om data ligger i L2 (för peak FLOPS är det något alla utgår från).

Skrivet av MichaelJackson:

Ok, så du menar att det kan vara så att när SPARC T1/T2 byter tråd, så går det långsamt om den byter OS-trådar? Det låter rimligt. Så poängen med SPARCs snabbhet är alltså att den kan maskera mycket mer latens genom att ha många fler trådar att switcha mellan. x86 har bara två trådar att switcha mellan och när de stallar, så får x86 vänta ofta. Det låter rimligt.

Visst se det så, i praktiken är det inte så det fungerar.

Skrivet av MichaelJackson:

Den här studien var inte från Sun. Det var några forskare från nåt universitet har jag för mig. Jag borde sparat artikeln när jag läste den förrut. Och artikeln dröjde med att komma ut, SPARC T1/T2 hade funnit något/några år, innan den började få uppmärksamhet.

Men se på det så här, om jag verkligen sväljer allt som Sun/Oracle skriver, så räcker det med att du motbevisar med länkar/benchmarks/etc så ändrar jag mig. Genast. Det är inte svårare än så att få mig att ändra ståndpunkt. Bevisa att jag har fel. Bevisa även att Sun/Oracle har fel, så kommer jag ändra åsikt, även där. Det är det som är skönt att diskutera med matematiker, det spelar ingen roll hur många timmar man diskuterar, men bevisar du med hårda fakta/länkar så ändrar en matematiker omedelbart ståndpunkt. Simple as that. Det tar några sekunder bara, så tycker jag exakt som du.

Om du är den jag är rätt säker på att du är så, nej du har blivit överbevisad av så många personer på olika forum och du hävdar fortfarande att SPARC är konkurrenskraftig med Xeon och POWER på något relevant sätt. Finns smala nischer där SPARC fungerar, men de var ju uppenbarligen för smala med tanke på hur försäljningen skjunker och Oracle drog proppen ur allt under top-of-the-line (den lär inte heller leva 10 år till).

Skrivet av MichaelJackson:

Däremot vet jag att man kan visa Linux fantaster (och även dig) hur många länkar som helst som de/du omedelbart avfärdar. Jag har t.ex. visat dem flera länkar om hur bloatad Linux kernel är, enligt vad Linus Torvalds säger - och alla Linux fantaster avfärdar genast Linus Torvalds som mindre vetande. Erhm??? Jag menar, finns det någon mer trovärdig källa om Linux än Linus? Nej, och ändå avfärdas han, trots att han gång på gång i flera olika intervjuer säger att Linux kernel är bloatad. O_o

T.ex. anser du ju att Linux TCP IP stack är helt överlägsen allt annat på marknaden. Och ifall jag visar dig såna här länkar (många av dessa kommentarer säger att Linux stack är inte alls vidare bra) så kommer du omedelbart avfärda länken eftersom "Facebook inte kan så mycket om högprestanda nätverkstrafik". Det går liksom inte att få dig att ändra ståndpunkt, oavsett hur många länkar man visar, från Linus Torvalds eller Gud själv. Alla bevis avfärdas utav dig. Men jag sväljer alla bevis.
http://bsd.slashdot.org/story/14/08/06/1731218/facebook-seeks...

Har väl inte ens nämnt Linux i denna diskussion innan?

Varför bygger man numera Telecom systemen på standard Linux (notera standard Linux, företag som Ericsson och Nokia lägger stor vikt vid att det ska vara kernel.org kärnor) om stacken inte är i världsklass? Säg något system som lägger mer tryck på nätverket än moderna Telecom-system?

Varför dominerar Linux i "molnet" där 10Gbit/s är vardagsmat och man kör redan 40 och även 100Gbit/s?

Peka på något annat OS som kan skicka minsta möjliga Ethernet-ram storlek i 10Gbit/s genom standardstacken per CPU-kärna. Finns "trick" likt vad DX12 kommer bli för grafik som kan dubbla till tredubbla den siffran, det är också för Linux...

Går det att göra saker bättre? Självklart.
Finns det saker andra stackar gör bättre? Självklart, men det börjar bli rätt smala nischer numera och ingen (statiskt sett) använder BSD till något på serversidan idag.

Skrivet av MichaelJackson:

Cache är inte _onödigt_, det är mycket bra. Men mindre viktigt på serverlaster än på desktops, eftersom alla data inte får plats i cachen. Det som är viktigt är att minska latensen, det kan göras mindre bra med cache. Det är bättre att dölja latens med många trådar. En vanlig desktop cpu med få starka trådar och stor cache, når 50% cpu utilization på server loads. En SPARC T1 når 95% cpu utilization på server loads med mycket liten cache. Vilket är bäst, cache eller trådar? Det är helt omöjligt att nå 95% cpu utilization med stor cache. Men det går att nå med trådar.

Idag har Oracle många trådar, SPARC M7 kommer att ha 256 trådar. Hur förbättrar man prestanda härnäst? Jo, genom att gå tillbaka till de gamla sätten; öka cachen. Men om man sysslar med servrar, så är många trådar bättre än stor cache. Så bara för att Sun/Oracle börjat addera cache efter att först ha ökat antalet trådar, så betyder det inte att Sun/Oracle tycker det du säger.

Man kan lägga sin Watt budget på två olika sätt:
1) en enda core som skruvar upp GHz tills kärnan ensam slukar 250 Watt. Det kanske blir 8-10 GHz?
2) många cores/många trådar som tillsammans slukar 250 watt.

Har du sett beräknad strömförbrukning för high-end SPARC-systemen? Går att uppskatta på Oracles site, man hamnar rätt snabbt på >1500W redan vid 2-4 sockets.

Intelsystem går knappt att få över 600W med 4 sockets.

Om server == databasserver så har du en poäng, men finns rätt mycket annat som körs på servers. Något som blir allt vanligare är att man har TB med RAM och har rubbet i minne, där har SPARC-designen inte en chans mot Xeon/POWER då latens mot RAM må vara hög men den är åtskilliga tiopotenser lägre än mot extern I/O.

Och åter igen, denna skala är något som fraktion av en procent av alla servers har. Designar man enbart för det segmentet är man snart utslagen. I mer normal skala är SPARC CPUerna chanslösa mot Xeon/POWER då de har för lite, för långsam (latens) cache och för dålig enkeltrådprestanda.

Skrivet av MichaelJackson:

IBM pratade om att 1) var framtiden och att 2) var dåligt, och hånade Suns SPARC T1. Tycker du att POWER8 är mer lik 1) eller 2)? Tycker du att POWER8 är lik en sådan design som IBM menade var framtiden för cpuer? Eller gick IBM kanske över till många cores/många trådar design, med sin POWER8 som har 8-12 cores och 96 trådar, precis som SPARC M6 också har 8 cores och 96 trådar? Jag fattar inte att du verkligen tycker på riktigt, att POWER8 är mer lik en single core cpu med två trådar på 8-10 GHz?

Ge dig, finns ingen som lyckats gjort en CPU på 8-10GHz. Det man försökte med SPARC var väldigt många kärnor/trådar (var ju extremt antal 2005-2007, idag är det inte lika extremt men idag har Intel 18 kärnor medan man hade 4 på den tiden) med väldigt låg frekvens (var länge <2GHz). IBM försökte och lyckades nå 5GHz med POWER6, vad som har hänt är att båda insett att de hade fel men tycker du inte 12 kärnor, 4GHz och 8-wide är närmare vad IBM initialt försökte med än 8 kärnor (redan 2005), <2GHz och 1-wide?

Runt samma tidpunkt hade ju Cavium system med 16 (väldigt klena) kärnor och man hade en konkurrent, Raza (som inte längre finns) med 4 kärnor + 4 trådar vilket är lite åt samma håll som SUN. Skillnande att båda dessa designer hade, för sin tid, väldigt mycket L2-cache och I/O var direktkopplat dit (likt vad Intel gjorde i Sandy Bridge med DDIO).

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:

WTF...
Linpack skalar linjärt med kärnor och frekvens på samma design. Ta 5930K siffrorna, dela med 6 (antal kärnor) och med 3.5 (frekvens), multiplicera 18 (antal kärnor i E5 2699v3) och 2.8 (frekvens) = 700GFLOPS

Det enda man egentligen behöver visa är att det går att köra 2 FMA per cykel, vilket är exakt vad Agner Fog gjort (reciprocal throughput 0.5). Då har man visat att det är praktiskt möjligt att nå 800Gbit/s eftersom kärnorna är helt oberoende om data ligger i L2 (för peak FLOPS är det något alla utgår från).

Tyvärr, jag är inte övertygad. Jag vet flera fall där man extrapolerar på liknande sätt och får radikalt andra resultat i verkligheten. Om vi tänker till lite, kan ditt resonemang vara rimligt? Är det konsistent om vi tittar från annat håll? Reality check.

Antag att en 5930K med 6-cores drar 150 watt. Om du drar ihop 3 stycken såna här cpuer så får du 18 cores och 350 Watt.

Antag att den dära 18 core Xeon E5 2699v3 du pratar om, också drar 150 watt.

Nu påstår du att en 150 Watt Xeon E5 cpu ger lika mycket prestanda som 350 Watt 5930K. Jag tror inte på detta. Om Intel får 350 watt budget att leka med, så blir prestandan enormt mycket större än om Intel får 150 watt budget. Rimligtvis är en av de 18 kärnorna i E5 mycket klenare än en av de sex kärnorna i 5930K. Mao, så kan du inte tro att en Xeon E5 motsvarar tre st 5930K. Visst, watt siffrorna kanske inte stämmer exakt, men jag hoppas du inser att något är fishy i ditt resonemang?

Visst, om Xeon E5 faktiskt drog 350 Watt, och varje 5930K drog 150 Watt, så är din teori konsistent och det låter trovärdigt att det bara är att dra ihop 18 st individuella 5930K kärnor. Men nu är det antagligen en logisk lucka när du benchar två st x86 cpuer och inte en enda x86 cpu.

Teori är en sak, praktik en annan. Det enklaste vore om du visade benchmarks där en enda x86 når runt 700 gflops. Då har du övertygat mig och jag tycker som du. För som det ser ut nu, enligt din länk, så ligger den snabbaste x86 på 394 gflops vilket är mycket bra, men långt ifrån 700 gflops. Jag gissar även att alla cpuer som benchmarkades ligger på kring 150 watt styck. Mao, det är svårt att öka prestandan mera eftersom watt budgeten är maxad, oavsett om du har få starka cores eller många svaga cores. Mao, just nu verkar det som att ifall Intel får 150 Watt att leka med, så kommer Intel upp i endast 394 gflops. Inte mera. Sen tror jag det spelar mindre roll om det är få starka kärnor eller många svaga kärnor - slutresultatet blir detsamma: ~400 gflops från Intel är max. Och det är bättre än POWER8 på 384 gflops, så det är inte fy skam. Jag är imponerad utav x86 faktiskt.

Skrivet av Yoshman:

Om du är den jag är rätt säker på att du är så, nej du har blivit överbevisad av så många personer på olika forum och du hävdar fortfarande att SPARC är konkurrenskraftig med Xeon och POWER på något relevant sätt.

Jag tror fortfarande att SPARC är konkurrenskraftig med Xeon och POWER. Tror inte du det?
-SPARC XIfx når 1100 gflops. POWER8 når 384 gflops. x86 når 400(?).
-SPARC M7 har 32 cores, 256 trådar, adresserar 2 TB RAM, gör SQL queries 120 GB/sek, stoppar heartbleed attacker och andra pekarfel, krypterar och dekomprimerar data i realtid, etc etc.

Den största 32-socket SPARC M7 servern kommer detta år, har 1024 cores, 8192 trådar, 64TB RAM. Den största x86 business scale-up servern hade fram till nyligen 8-sockets.

Jag vet inte riktigt, men... du tycker att SPARC laggar? Speciellt som SPARC dubblar prestanda varje år, medan x86 ökar prestandan typ 10% varje år. Oracle har släppt fem cpuer på fyra år. Servrarna är dubbelt så snabba, varje generation, ibland flera gånger snabbare varje generation. Om man dubblar varje generation, och alla andra ökar 10% så till slut måste man bli snabbast. Eller hur? Sant är att Sun hade stora problem, men Oracle satsar mer pengar på FoU än Sun någonsin gjort. Därför kan SPARC dubbla prestandan varje generation.

Skrivet av Yoshman:

Finns smala nischer där SPARC fungerar, men de var ju uppenbarligen för smala med tanke på hur försäljningen skjunker och Oracle drog proppen ur allt under top-of-the-line (den lär inte heller leva 10 år till).

Som du vet minskar Unix marknaden och har gjort det flera år. Men Oracles stora affärsservrar ökar kraftigt. Varje år. Oracle gör en Apple; tillverkar hårdvara, cpu, OS, databas, middleware, etc etc. Så dessa system är mycket optimerade att köra affärssystem och databaser. Och gör det mycket snabbare än en ihopplockad x86 eller POWER.

Dessutom är det mycket politik. T.ex. på mitt stora företag sade cheferna helt plötsligt "nu slutar vi köpa Sun prylar, order från högsta chefen". Och senare sade de samma sak om HP. Sun hade väldigt bra OS och hårdvara, t.ex. ZFS, DTrace, etc - men om företag vägrar köpa så blir det svårt.

Skrivet av Yoshman:

Har väl inte ens nämnt Linux i denna diskussion innan?

Varför bygger man numera Telecom systemen på standard Linux (notera standard Linux, företag som Ericsson och Nokia lägger stor vikt vid att det ska vara kernel.org kärnor) om stacken inte är i världsklass? Säg något system som lägger mer tryck på nätverket än moderna Telecom-system?

Varför dominerar Linux i "molnet" där 10Gbit/s är vardagsmat och man kör redan 40 och även 100Gbit/s?

Peka på något annat OS som kan skicka minsta möjliga Ethernet-ram storlek i 10Gbit/s genom standardstacken per CPU-kärna. Finns "trick" likt vad DX12 kommer bli för grafik som kan dubbla till tredubbla den siffran, det är också för Linux...

Går det att göra saker bättre? Självklart.
Finns det saker andra stackar gör bättre? Självklart, men det börjar bli rätt smala nischer numera och ingen (statiskt sett) använder BSD till något på serversidan idag.

Det var precis det här jag menade.

Jag visar länk när Facebook säger att Linux stack är inte alls lika bra som FreeBSD, och i kommentarerna skriver massa människor att FreeBSDs stack är helt överlägsen, etc etc - och genast avfärdar du länken som att Facebook inte vet vad de sysslar med. Och att Linux stack är mycket bättre därför att fler kör det OSet. Precis som Windows körs mer än Linux, då måste Windows vara det bästa OSet.

Det spelar ingen roll hur många länkar jag visar, om du har bestämt dig, så har du och det går inte att ändra på dig. Inte ens om Linus Torvalds ringde dig och sade att stacken suger och att han kopierat allt från FreeBSD skulle du ändra dig. Du skulle avfärda honom direkt. Jag vet hur du funkar.

Som tur är, funkar jag inte så. Om Solaris utvecklarna skulle alla säga att Solaris blivit dåligt och att Linux är bättre och att flera OS utvecklare säger så, skulle jag ändra mig. Då skulle jag börja supporta Linux och överge Solaris. Jag gilllar bara den bästa tekniken, jag har bytt läger flera gånger förrut. Plan9 verkar vara det häftigaste OSet, men jag tror inte det skalar vidare bra på affärsservrar.

Jag har inte blivit överbevisad på något forum, du får gärna PMa mig om du vet någon tråd. Jag hittar fel i deras resonemang (som i ditt), eller så postar de inte relevanta länkar. Om jag verkligen skulle bli överbevisad, skulle jag genast ändra åsikt. Det har hänt flera gånger. Jag har påstått något, och någon har visat länkar som säger motsatsen, och då har jag genast slutat säga så och tackat personen. T.ex såg jag en blog med Oracles stora ZFS servrar mot NetApp, och jag citerade bloggen och förklarade att NetApp hade dåliga prestanda i det fallet. Som alltid postar jag även länken, så att man vet att jag inte hittar på. En NetApp människa läste bloggen och förklarade att bloggen var fel. Jag tackade honom och slutade citera bloggen och skrev även på Oracle bloggen att det var fel och att han borde sluta skriva så. Matematiker söker bara sanningen. Så, om du visar trovärdiga länkar, så tycker jag som du. Jag _måste_ tycka som du, annars är jag inte matematiker. Jag har inget annat val om jag bekänner mig till sanningen.

Skrivet av Yoshman:

Har du sett beräknad strömförbrukning för high-end SPARC-systemen? Går att uppskatta på Oracles site, man hamnar rätt snabbt på >1500W redan vid 2-4 sockets.

Intelsystem går knappt att få över 600W med 4 sockets.

Om server == databasserver så har du en poäng, men finns rätt mycket annat som körs på servers. Något som blir allt vanligare är att man har TB med RAM och har rubbet i minne, där har SPARC-designen inte en chans mot Xeon/POWER då latens mot RAM må vara hög men den är åtskilliga tiopotenser lägre än mot extern I/O.

Och åter igen, denna skala är något som fraktion av en procent av alla servers har. Designar man enbart för det segmentet är man snart utslagen. I mer normal skala är SPARC CPUerna chanslösa mot Xeon/POWER då de har för lite, för långsam (latens) cache och för dålig enkeltrådprestanda.

SPARC är chanslösa mot x86 och POWER? Jag tycker specarna säger annorlunda? Och SPARC har flera världsrekord idag. Nu pratar jag affärssystem. När det gäller kluster dominerar Linux och x86 stort.

Skrivet av Yoshman:

Ge dig, finns ingen som lyckats gjort en CPU på 8-10GHz. Det man försökte med SPARC var väldigt många kärnor/trådar (var ju extremt antal 2005-2007, idag är det inte lika extremt men idag har Intel 18 kärnor medan man hade 4 på den tiden) med väldigt låg frekvens (var länge <2GHz). IBM försökte och lyckades nå 5GHz med POWER6, vad som har hänt är att båda insett att de hade fel men tycker du inte 12 kärnor, 4GHz och 8-wide är närmare vad IBM initialt försökte med än 8 kärnor (redan 2005), <2GHz och 1-wide?

Poängen är att samtidigt med SPARC T1 sade IBM att en enda stark core är framtiden. Och att SPARC T1 suger, pga den har så många klena cores att en databas inte skulle köras bra på en SPARC T1 (och det är ju sant). Så därför är framtiden en enda stark core på skyhög GHz. Detta var vad IBM sade och hånade SPARC T1. Och som jag ser det, så har IBM övergett denna syn till att göra som Sun gjorde först med commoditycpu: istället för att höja GHz, så höjde Sun antalet cores. Sen följde alla andra efter. Men du håller inte med om detta? Du anser att IBMs cpuer inte alls har många kärnor med många trådar idag? Att IBM fortfarande är inne på ensam-stark-kärna spåret? Att IBM inte alls liknar SPARC mer och mer?

Permalänk
Datavetare
Skrivet av MichaelJackson:

Tyvärr, jag är inte övertygad. Jag vet flera fall där man extrapolerar på liknande sätt och får radikalt andra resultat i verkligheten. Om vi tänker till lite, kan ditt resonemang vara rimligt? Är det konsistent om vi tittar från annat håll? Reality check.

Antag att en 5930K med 6-cores drar 150 watt. Om du drar ihop 3 stycken såna här cpuer så får du 18 cores och 350 Watt.

Antag att den dära 18 core Xeon E5 2699v3 du pratar om, också drar 150 watt.

Nu påstår du att en 150 Watt Xeon E5 cpu ger lika mycket prestanda som 350 Watt 5930K. Jag tror inte på detta. Om Intel får 350 watt budget att leka med, så blir prestandan enormt mycket större än om Intel får 150 watt budget. Rimligtvis är en av de 18 kärnorna i E5 mycket klenare än en av de sex kärnorna i 5930K. Mao, så kan du inte tro att en Xeon E5 motsvarar tre st 5930K. Visst, watt siffrorna kanske inte stämmer exakt, men jag hoppas du inser att något är fishy i ditt resonemang?

Visst, om Xeon E5 faktiskt drog 350 Watt, och varje 5930K drog 150 Watt, så är din teori konsistent och det låter trovärdigt att det bara är att dra ihop 18 st individuella 5930K kärnor. Men nu är det antagligen en logisk lucka när du benchar två st x86 cpuer och inte en enda x86 cpu.

Teori är en sak, praktik en annan. Det enklaste vore om du visade benchmarks där en enda x86 når runt 700 gflops. Då har du övertygat mig och jag tycker som du. För som det ser ut nu, enligt din länk, så ligger den snabbaste x86 på 394 gflops vilket är mycket bra, men långt ifrån 700 gflops. Jag gissar även att alla cpuer som benchmarkades ligger på kring 150 watt styck. Mao, det är svårt att öka prestandan mera eftersom watt budgeten är maxad, oavsett om du har få starka cores eller många svaga cores. Mao, just nu verkar det som att ifall Intel får 150 Watt att leka med, så kommer Intel upp i endast 394 gflops. Inte mera. Sen tror jag det spelar mindre roll om det är få starka kärnor eller många svaga kärnor - slutresultatet blir detsamma: ~400 gflops från Intel är max. Och det är bättre än POWER8 på 384 gflops, så det är inte fy skam. Jag är imponerad utav x86 faktiskt.

Jag tror fortfarande att SPARC är konkurrenskraftig med Xeon och POWER. Tror inte du det?
-SPARC XIfx når 1100 gflops. POWER8 når 384 gflops. x86 når 400(?).
-SPARC M7 har 32 cores, 256 trådar, adresserar 2 TB RAM, gör SQL queries 120 GB/sek, stoppar heartbleed attacker och andra pekarfel, krypterar och dekomprimerar data i realtid, etc etc.

Den största 32-socket SPARC M7 servern kommer detta år, har 1024 cores, 8192 trådar, 64TB RAM. Den största x86 business scale-up servern hade fram till nyligen 8-sockets.

Jag vet inte riktigt, men... du tycker att SPARC laggar? Speciellt som SPARC dubblar prestanda varje år, medan x86 ökar prestandan typ 10% varje år. Oracle har släppt fem cpuer på fyra år. Servrarna är dubbelt så snabba, varje generation, ibland flera gånger snabbare varje generation. Om man dubblar varje generation, och alla andra ökar 10% så till slut måste man bli snabbast. Eller hur? Sant är att Sun hade stora problem, men Oracle satsar mer pengar på FoU än Sun någonsin gjort. Därför kan SPARC dubbla prestandan varje generation.

Som du vet minskar Unix marknaden och har gjort det flera år. Men Oracles stora affärsservrar ökar kraftigt. Varje år. Oracle gör en Apple; tillverkar hårdvara, cpu, OS, databas, middleware, etc etc. Så dessa system är mycket optimerade att köra affärssystem och databaser. Och gör det mycket snabbare än en ihopplockad x86 eller POWER.

Dessutom är det mycket politik. T.ex. på mitt stora företag sade cheferna helt plötsligt "nu slutar vi köpa Sun prylar, order från högsta chefen". Och senare sade de samma sak om HP. Sun hade väldigt bra OS och hårdvara, t.ex. ZFS, DTrace, etc - men om företag vägrar köpa så blir det svårt.

Det var precis det här jag menade.

Jag visar länk när Facebook säger att Linux stack är inte alls lika bra som FreeBSD, och i kommentarerna skriver massa människor att FreeBSDs stack är helt överlägsen, etc etc - och genast avfärdar du länken som att Facebook inte vet vad de sysslar med. Och att Linux stack är mycket bättre därför att fler kör det OSet. Precis som Windows körs mer än Linux, då måste Windows vara det bästa OSet.

Det spelar ingen roll hur många länkar jag visar, om du har bestämt dig, så har du och det går inte att ändra på dig. Inte ens om Linus Torvalds ringde dig och sade att stacken suger och att han kopierat allt från FreeBSD skulle du ändra dig. Du skulle avfärda honom direkt. Jag vet hur du funkar.

Som tur är, funkar jag inte så. Om Solaris utvecklarna skulle alla säga att Solaris blivit dåligt och att Linux är bättre och att flera OS utvecklare säger så, skulle jag ändra mig. Då skulle jag börja supporta Linux och överge Solaris. Jag gilllar bara den bästa tekniken, jag har bytt läger flera gånger förrut. Plan9 verkar vara det häftigaste OSet, men jag tror inte det skalar vidare bra på affärsservrar.

Jag har inte blivit överbevisad på något forum, du får gärna PMa mig om du vet någon tråd. Jag hittar fel i deras resonemang (som i ditt), eller så postar de inte relevanta länkar. Om jag verkligen skulle bli överbevisad, skulle jag genast ändra åsikt. Det har hänt flera gånger. Jag har påstått något, och någon har visat länkar som säger motsatsen, och då har jag genast slutat säga så och tackat personen. T.ex såg jag en blog med Oracles stora ZFS servrar mot NetApp, och jag citerade bloggen och förklarade att NetApp hade dåliga prestanda i det fallet. Som alltid postar jag även länken, så att man vet att jag inte hittar på. En NetApp människa läste bloggen och förklarade att bloggen var fel. Jag tackade honom och slutade citera bloggen och skrev även på Oracle bloggen att det var fel och att han borde sluta skriva så. Matematiker söker bara sanningen. Så, om du visar trovärdiga länkar, så tycker jag som du. Jag _måste_ tycka som du, annars är jag inte matematiker. Jag har inget annat val om jag bekänner mig till sanningen.

SPARC är chanslösa mot x86 och POWER? Jag tycker specarna säger annorlunda? Och SPARC har flera världsrekord idag. Nu pratar jag affärssystem. När det gäller kluster dominerar Linux och x86 stort.

Poängen är att samtidigt med SPARC T1 sade IBM att en enda stark core är framtiden. Och att SPARC T1 suger, pga den har så många klena cores att en databas inte skulle köras bra på en SPARC T1 (och det är ju sant). Så därför är framtiden en enda stark core på skyhög GHz. Detta var vad IBM sade och hånade SPARC T1. Och som jag ser det, så har IBM övergett denna syn till att göra som Sun gjorde först med commoditycpu: istället för att höja GHz, så höjde Sun antalet cores. Sen följde alla andra efter. Men du håller inte med om detta? Du anser att IBMs cpuer inte alls har många kärnor med många trådar idag? Att IBM fortfarande är inne på ensam-stark-kärna spåret? Att IBM inte alls liknar SPARC mer och mer?

Du förutsätter att både POWER8 och en SPARC CPU som än inte ens kan köpas når upp till 100% av sina teoretiska max. Du vägrar acceptera att Intels CPU kan hålla den frekvens som man specificerar, nämn en enda Intel modell som inte kan hålla sin utlovade frekvens om man har rekommenderad kylare. Jag har ingen E5 2699v3 så kan inte mäta, men 2.8GHz är 80% av 3.5GHz och strömförbrukningen är allt annat än linjär mot frekvens. Sedan drar Intels CPUer mindre än TDP, vad TDP säger är att Intel garanterat att CPUn fungerar som utlovat om den har minst den kapaciteten på kylningen. Har du mer kylning håller den ofta högre frekvenser, men alla siffror här är nu med de utlovade frekvenserna.

<edit>varför inte använda SweC som referens angående strömförbrukning då de testat bl.a. 5930k. Till att börja med har den CPUn TDP på 140W, så där har du 5 extra W för E5 2699v3 (den har en TDP på 145W). Sedan visade deras mätning att CPUn dra ca 105W mer vid last från väggen vilket då även innefattar förluster i nätaggregat. De har säkert rätt bra kvalité på sitt nätagg, så säg 100W då. "idle-förbrukningen" för Haswell är ungefär en 1/20 av IvyBridge, d.v.s det är mindre än 1W.

2699v3 kan då använda ~45W mer och hålla sig inom TDP (genomsnittseffekten kan inte vara högre än TDP) + att den kör på 80% av frekvensen</edit>

E5 2699v3 har väl slagit varenda "rekord" (avskyr det uttrycket) som finns kring rå ALU-prestanda per socket för existerande produkter, möjligen kan POWER8 komma förbi i något som har med heltal att göra och där Intel inte kan använda AVX.

Du har ju 4770, 5930k, 5960X och 2687v3. Alla olika varianter av Haswell, olika frekvenser och olika antal kärnor. Notera att alla har exakt samma prestanda räknat per kärna och MHz. Är det då inte rimligt att anta att det också gäller E5 2699v3?

Angående Linux: tycker inte det är relevant att diskutera, är bara titta vad de stora spelarna använder. Telecom körde väldigt mycket SPARC/Solaris en gång i tiden för det var bäst, de bytte för alternativen gick förbi. Länken du gav går till slashdot som i sin tur länkar till en redan borttagen artikel. Men jag har redan läst den och den handlar om IPv6 stöd och de standarder som FaceBook behöver. Just IPv6 är en väldigt speciellt sak, den vanligaste test-suite:en för att verifiera att din IPv6 implementation är korrekt (IPv6 Ready) är skriven av BSD-folk så alla tester den innehåller använder BSD som referens. Klart andra stackar laggar på den punkten, ställ upp BSD och Linux i ett prestanda/skalbarhets-test och se vem som vinner...

För det jag (och Telcom-bolagen, är själv inte inom den branschen) jobbar med är inte det viktigaste att ha den senaste utan att prestanda och skalbarhet finns. För 10 år sedan fanns den inte, idag gör den det. Intel i Shannon/Irland har via forskningsprojekt visat att det är fullt möjligt att bygga back-bone routers med standard x86 servers och Linux, så helt värdelöst är i alla fall inte OSet.

SPARC ser bra ut i specarna, skrev det innan: tittar man på specarna, t.ex. bandbredd och tillgänglig I/O-kapacitet så borde Intel vara chanslösa. POWER och SPARC är som amerikanska muskelbilar, massor med hästkrafter men de kan bara hävda sig på mot europeiska sportbilar med mindre turboladdade motorer är kvartsmilen som går rakt fram. Intel har i det hänseendet en design mer lik europeiska sportbilar, d.v.s. det finns områden där den inte "vinner" men den "vinner" i majoriteten av alla användarfall som folk ställs inför.

Gillar du läsa världsrekord, läs detta om Haswell E5. Haswell E7 hittar du här. Har inte ens orkat titta på dem, är inget jag jobbar med så är inte superintressant. Upp till 4 socket E5 är vad det jag håller på med sträcker sig till, men majoriteten är 2 sockets och mycket är i andra änden men små ARMs.

Och ditt svammel om att "SPARC dubblar varje år Intel ökar med 10%" är rätt tröttsamt. Du jämför då desktop x86 mot det SPARC system som kostar summor de flesta inte visste fanns. Jämför utvecklingen på det värsta Intel kan ställa upp, från Nehalem när Intel på allvar började designa "riktiga" servers fram till Haswell har prestanda ökat många hundratals procent. SPARC och POWER är idag totalt irrelevant på allt Intel kan möta med Xeon E5, de är varken konkurrenskraftiga på perf/pris eller perf/W.

För att vända på det: hur mycket har enkeltrådprestanda ökat på SPARC? Den har ökat en del, men det kommer i stort sett uteslutande från att man skruvat upp klockfrekvensen från <2GHz till att idag börja närma sig 4GHz. Utöver det är det i nivå med Intels 10% per år och då har man ändå inte i närheten av Intels IPC (teoretiskt max för senaste Oracle SPARC-designen är IPC på 2.0, Haswell har i praktiken över detta i väldigt många fall och ett teoretiskt max på 5.0).

Vad SPARC/POWER kan konkurrera med är Xeon E7 och de ytterst få saker denna plattform inte kan nå utan extra "glue-logic". Så ja, ur alla rimliga sätt att se det så lagga SPARC (och i viss mån även POWER). Det borde inte vara förvånande för någon, alla dessa företag bygger så stora kretsar som är tekniskt rimligt för sin server CPUer. Intel ligger flera tillverknings noder före så rena fysiska gränser borde ge en vink om att de har massor med fördelar, vad man främst använt det till är maximera perf/W.

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

@MichaelJackson: sa att jag skulle ducka Linux, men kunde inte hålla mig från att försöka hitta lite om varför Facebook ändå kör Linux om de på något sätt anser BSD bättre. BSD har sämre HW stöd än Linux, men är knappast ett problem för FB datacenter, de har resurser att skriva de drivare som behövs.

https://lwn.net/Articles/608954/

"Chris Mason started off the session by noting that, at his employer (Facebook), Linux is used anywhere that it is faster than FreeBSD — which, he said, is everywhere. Facebook tends to keep its working sets in RAM, so its workloads tend to be CPU-, memory-, or network-bound. Performance is an important concern there, so the company maintains extensive metrics of how its systems and applications are performing. "

Kan heller inte hitta att någon använder BSD i system som kräver "carrier grade", d.v.s minst 99.999% tillgänglighet. Finns färdiga distributioner för Linux som kör med väldigt specifika user-lands (vilket är ett krav oavsett OS om man ska nå GC) men kärnan är kernel.org (plus möjligen lite extra drivare för speciell HW).

Men detta är off-topic i en tråd som handlar om Intel CPUer, bra om man i alla fall håller sig till att diskutera just CPUer.

Edit: har också sagt att där Linux tidigare legat efter AIX/Solaris är disk I/O, det har väldigt länge varit extremt skalbart för CPU-bundna saker och sedan 2.6.32-2.6.38 gjorde Google massor som lyfte skalbarheten på stacken. Notera vad FB säger om vilka arbetslaster som är vikta för dem.

Senaste åren har man lyft prestanda rejält även för övrig I/O, men när jag ser incheckningar där benchmarks visar att det nu går x60 snabbare på 8-sockets maskiner med 12 kärnor per socket så har alltid min första tanke varit: det var inte speciellt optimalt innan... Å andra sidan fanns inte sådana x86 system för 5 år år sedan, så var lite svårt att hitta flaskhalsarna då.

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:

Du förutsätter att både POWER8 och en SPARC CPU som än inte ens kan köpas når upp till 100% av sina teoretiska max. Du vägrar acceptera att Intels CPU kan hålla den frekvens som man specificerar

Som du vet, en matematiker vägrar ingenting som det finns bevis för. Om du verkligen kan visa benchmarks på en singel x86 cpu som når 700 GFlops så ändrar jag självklart åsikt. Men som du gör nu, visa två x86 cpuer som tillsammans når 700 Gflops och dra slutsatsen att en enda x86 cpu når samma siffra är ju inte riktigt rätt. Det hoppas jag du inser? Det enklaste är att du visar benchmarks för en enda cpu. Jag har dock aldrig sett siffror högre än några 100 gflops för en ensam x86, och jag är intresserad av cpuer och påläst om ämnet. Jag hade reagerat kraftigt om jag sett x86 gflops närmare 1000, ja tom över 500 gflops hade jag reagerat på och kommit ihåg det. Och under alla åren har jag aldrig sett det. Så därför blir jag fundersam när du påstår att en x86 klarar av 700 gflops. Det bör backas upp med benchmarks, eller ett logiskt resonemang som håller ihop. Och det resonemang du presenterat håller inte ihop.

Ett av skälen att SPARC och POWER är snabbare än x86, är att såna här Enterprise servercpuer har mycket högre TDP att leka med. De kanske rör sig kring... 250 Watt? Jag tror att om x86 också fick 250 Watt skulle x86 prestera mycket bättre, ja, kanske t.om 700 gflops? Fujitsu SPARC XIfx når nu 1100 gflops, men det är en cpu fokuserad på enkeltrådad prestanda, inte genomströmning som Oracle SPARC M7 gör. Men det viktiga är watt budgeten. Unix Enterprise server cpuer som sitter i stora servrar som väger ett ton, har mycket bättre kylning och man bryr sig inte hur mycket watt de slukar. Om även x86 fick samma lösa tyglar skulle x86 göra bättre ifrån sig. Men det är märkligt att tro att en 150 Watt cpu kan hålla jämna steg med 250 Watt cpuer.

Om du inte kan presentera gflops benchmarks runt 700 gflops så föreslår jag du slutar påstå det. När jag inte kan bevisa något påstående (eller kan presentera ett vettigt resonemang), eller om jag blir motbevisad, så slutar jag genast påstå det. Annars skulle folk tro det vara FUD, och det vore inte bra. I min värld når x86 runt 400 gflops, eftersom den siffran finns det faktiskt bevis för. Om man inte kan bevisa något (antingen genom ett vettigt resonemang eller benchmarks) så kanske det inte är sant och det vore vanskligt att påstå det vara sant.

Sen har du rätt i att varken SPARC XIfx eller SPARC M7 finns att köpa än, men i alla fall SPARC M7 kommer detta år. Och dessa cpuer kommer vara flera ggr snabbare än allt annat på marknaden. Inte 50% snabbare eller så, utan flera ggr snabbare.

Angående facebook och Linux. Det är väl känt att Linux presterar bra på små laster, men har problem att skala uppåt. Någon gammal Unix admin sade att när de benchar olika OS så är ofta Linux snabbast men vissa trådar kan ta lång tid på sig. Linux är opålitligt sade han. Dvs, det hackar och klarar inte stor last, men flera trådar trådar är snabbare än andra OS, och somliga trådar tar lång tid på sig. Medan t.ex. Solaris är aningen långsammare, men jämnare, alla trådar är ungefär lika snabba och man kan skala uppåt och köra mycket stora laster och allt går ungefär lika snabbt och körtiden är predikterbar (vilket är mycket viktigt i Enterprise). Typ som att Linux är en racerbil och det går snabbt med liten last, och i jobbiga uppförsbackar storknar Linux. Men Solaris är som en långsammare lastbil med stor last som kör i jämn takt, uppförsbacke eller ej. Solaris är mer designat för genomströmning och stora laster. Om du har en algoritm som är designad för små laster, så kan du ha små konstanter och en O(n^2) kan vara snabbare än en O(n logn) algoritm för små laster. Men när du ökar lasten tillräckligt mycket så drar O(nlogn) algoritmen ifrån. Precis samma sak gäller för Linux och Solaris. Detta var vad han sade. Och han föredrog HP-UX, det var den bästa Unixet sade han.

Och som du vet är det olika design och algoritmer för små eller stora laster. Linux hade fram till något år sedan sedan maximalt 8-socket servrar, vilket är små laster. Det fanns inte behov för stora laster på Linux. Solaris har länge haft 64 socket servrar. För decennier sedan fanns det även 144 socket server. Det blir en helt annan design på operativsystemet när man måste förbereda sig för såna enorma laster. T.ex. Solaris minneshantering skrevs nyss om för att hantera 64 TB RAM på ett effektivt sätt, nu skalar Solaris till flera 100 TB. Den största Linux servern har väl 6 TB RAM? Nu pratar jag en stor fet scale-up server, och inga stora kluster som SGI UV2000. Om det fanns krav på Linux att hantera 64 TB RAM i en enda stor scale-up server, skulle även Linux tvingas skriva om sin minneshantering.

Det är väl först nyligen som Linux hanterade over commitment utav RAM lite bättre? När Linux startar en process så lovar Linux bort allt RAM som processen begär - även om RAM inte räcker till. Och sedan när RAM tar slut, började förrut Linux döda processer på måfå för att frigöra RAM. Jag vet inte om Linux kunde t.om döda init processen, eller databasen eller affärssystemet? Detta är bara ett av skälen att Unix sysadmins säger att Linux är instabilt. (Solaris lovar inte bort mer RAM till en process, än vad som finns i servern).
http://unix.stackexchange.com/questions/153585/how-oom-killer...
http://opsmonkey.blogspot.se/2007/01/linux-memory-overcommit....

Facebook har många små x86 servrar för skale-out kluster laster, så då passar Linux utmärkt. Om facebook istället hade en last som kan bara köras på enda server, dvs scale-up, så måste du gå till 32 eller 64-socket servrar. Och då funkar inte Linux längre.

Men i Facebook artikeln jag länkade till är det flera kommentarer som säger att FreeBSD stacken är överlägsen Linux, och tydligen sker mycket nätverksforskning på FreeBSD just av detta skäl. Speciellt som artikeln handlar om att facebook vill öka Linux prestandan till samma nivå som FreeBSD. Har för mig att några kommentarer säger att Solaris stack är snabbast när det gäller massiv genomströmning. Här verkar det vara folk som kör Solaris på nätverksswitchar, apropås att folk använder Linux till olika nätverkssaker.
http://www.tomsitpro.com/articles/server-switch-pluribus-hype...

Permalänk
Datavetare
Skrivet av MichaelJackson:

Som du vet, en matematiker vägrar ingenting som det finns bevis för. Om du verkligen kan visa benchmarks på en singel x86 cpu som når 700 GFlops så ändrar jag självklart åsikt. Men som du gör nu, visa två x86 cpuer som tillsammans når 700 Gflops och dra slutsatsen att en enda x86 cpu når samma siffra är ju inte riktigt rätt. Det hoppas jag du inser? Det enklaste är att du visar benchmarks för en enda cpu. Jag har dock aldrig sett siffror högre än några 100 gflops för en ensam x86, och jag är intresserad av cpuer och påläst om ämnet. Jag hade reagerat kraftigt om jag sett x86 gflops närmare 1000, ja tom över 500 gflops hade jag reagerat på och kommit ihåg det. Och under alla åren har jag aldrig sett det. Så därför blir jag fundersam när du påstår att en x86 klarar av 700 gflops. Det bör backas upp med benchmarks, eller ett logiskt resonemang som håller ihop. Och det resonemang du presenterat håller inte ihop.

Ett av skälen att SPARC och POWER är snabbare än x86, är att såna här Enterprise servercpuer har mycket högre TDP att leka med. De kanske rör sig kring... 250 Watt? Jag tror att om x86 också fick 250 Watt skulle x86 prestera mycket bättre, ja, kanske t.om 700 gflops? Fujitsu SPARC XIfx når nu 1100 gflops, men det är en cpu fokuserad på enkeltrådad prestanda, inte genomströmning som Oracle SPARC M7 gör. Men det viktiga är watt budgeten. Unix Enterprise server cpuer som sitter i stora servrar som väger ett ton, har mycket bättre kylning och man bryr sig inte hur mycket watt de slukar. Om även x86 fick samma lösa tyglar skulle x86 göra bättre ifrån sig. Men det är märkligt att tro att en 150 Watt cpu kan hålla jämna steg med 250 Watt cpuer.

Om du inte kan presentera gflops benchmarks runt 700 gflops så föreslår jag du slutar påstå det. När jag inte kan bevisa något påstående (eller kan presentera ett vettigt resonemang), eller om jag blir motbevisad, så slutar jag genast påstå det. Annars skulle folk tro det vara FUD, och det vore inte bra. I min värld når x86 runt 400 gflops, eftersom den siffran finns det faktiskt bevis för. Om man inte kan bevisa något (antingen genom ett vettigt resonemang eller benchmarks) så kanske det inte är sant och det vore vanskligt att påstå det vara sant.

Sen har du rätt i att varken SPARC XIfx eller SPARC M7 finns att köpa än, men i alla fall SPARC M7 kommer detta år. Och dessa cpuer kommer vara flera ggr snabbare än allt annat på marknaden. Inte 50% snabbare eller så, utan flera ggr snabbare.

Angående facebook och Linux. Det är väl känt att Linux presterar bra på små laster, men har problem att skala uppåt. Någon gammal Unix admin sade att när de benchar olika OS så är ofta Linux snabbast men vissa trådar kan ta lång tid på sig. Linux är opålitligt sade han. Dvs, det hackar och klarar inte stor last, men flera trådar trådar är snabbare än andra OS, och somliga trådar tar lång tid på sig. Medan t.ex. Solaris är aningen långsammare, men jämnare, alla trådar är ungefär lika snabba och man kan skala uppåt och köra mycket stora laster och allt går ungefär lika snabbt och körtiden är predikterbar (vilket är mycket viktigt i Enterprise). Typ som att Linux är en racerbil och det går snabbt med liten last, och i jobbiga uppförsbackar storknar Linux. Men Solaris är som en långsammare lastbil med stor last som kör i jämn takt, uppförsbacke eller ej. Solaris är mer designat för genomströmning och stora laster. Om du har en algoritm som är designad för små laster, så kan du ha små konstanter och en O(n^2) kan vara snabbare än en O(n logn) algoritm för små laster. Men när du ökar lasten tillräckligt mycket så drar O(nlogn) algoritmen ifrån. Precis samma sak gäller för Linux och Solaris. Detta var vad han sade. Och han föredrog HP-UX, det var den bästa Unixet sade han.

Och som du vet är det olika design och algoritmer för små eller stora laster. Linux hade fram till något år sedan sedan maximalt 8-socket servrar, vilket är små laster. Det fanns inte behov för stora laster på Linux. Solaris har länge haft 64 socket servrar. För decennier sedan fanns det även 144 socket server. Det blir en helt annan design på operativsystemet när man måste förbereda sig för såna enorma laster. T.ex. Solaris minneshantering skrevs nyss om för att hantera 64 TB RAM på ett effektivt sätt, nu skalar Solaris till flera 100 TB. Den största Linux servern har väl 6 TB RAM? Nu pratar jag en stor fet scale-up server, och inga stora kluster som SGI UV2000. Om det fanns krav på Linux att hantera 64 TB RAM i en enda stor scale-up server, skulle även Linux tvingas skriva om sin minneshantering.

Det är väl först nyligen som Linux hanterade over commitment utav RAM lite bättre? När Linux startar en process så lovar Linux bort allt RAM som processen begär - även om RAM inte räcker till. Och sedan när RAM tar slut, började förrut Linux döda processer på måfå för att frigöra RAM. Jag vet inte om Linux kunde t.om döda init processen, eller databasen eller affärssystemet? Detta är bara ett av skälen att Unix sysadmins säger att Linux är instabilt. (Solaris lovar inte bort mer RAM till en process, än vad som finns i servern).
http://unix.stackexchange.com/questions/153585/how-oom-killer...
http://opsmonkey.blogspot.se/2007/01/linux-memory-overcommit....

Facebook har många små x86 servrar för skale-out kluster laster, så då passar Linux utmärkt. Om facebook istället hade en last som kan bara köras på enda server, dvs scale-up, så måste du gå till 32 eller 64-socket servrar. Och då funkar inte Linux längre.

Men i Facebook artikeln jag länkade till är det flera kommentarer som säger att FreeBSD stacken är överlägsen Linux, och tydligen sker mycket nätverksforskning på FreeBSD just av detta skäl. Speciellt som artikeln handlar om att facebook vill öka Linux prestandan till samma nivå som FreeBSD. Har för mig att några kommentarer säger att Solaris stack är snabbast när det gäller massiv genomströmning. Här verkar det vara folk som kör Solaris på nätverksswitchar, apropås att folk använder Linux till olika nätverkssaker.
http://www.tomsitpro.com/articles/server-switch-pluribus-hype...

Om du förstår hur en CPU fungerar så borde du kunna acceptera att eftersom Agner Fog visat att det är möjligt att skriva ett program kan köra två st FMA per cykel när man kör en lång sekvens av FMA-instruktioner så har man bevisat att CPU-arkitekturen är kapabel att nå 2 (FMA) * 4 (DP per instruktion) * frekvens * antal kärnor FLOPS.

Om du saknar den insikten borde du i alla fall ha tillräckligt mycket förståelse för att inse att om fyra modeller med olika frekvens, olika stor L3-cache och olika antal kärnor uppvisa i det närmaste identisk FLOPS / (kärna * frekvens) så borde det med all rimlighet vara en väldigt bra approximation att bara räkna om detta för E5 2699v3.

Om du inte acceptera något av dessa får du fortsätta övertyga dig själv om att jag har fel, det ändrar ändå inget i hur det faktiskt ligger till. Annars får du nog Googla själv efter någon som har en sådan CPU och som publicerat lämplig benchmark. Men snabba på, "snart" (att referera till framtida produkter är tydligen inget problem) får då gräva efter siffror som kan matcha Skylake Xeon E5, den har dubbla flyttalskapacitet per kärna och cykel mot Haswell (AVX512) och målet är 28-kärnor per socket.

Vet inte viken definition man ska använda för att BSD stacken ska vara överlägsen Linux, finns säkert någon. IPv6 conformance skulle kunna vara en sådan definition, Tahi-projektet då den viktigaste test-suiten, IPv6 ready, utvecklas av denna grupp på BSD. Linux laggar typiskt Tahi lite granna, men frågan är om det har någon praktisk betydelse då Linux ändå klara alla tester som krävs för senaste IPv6 ready logon.

Sett till hastighet, skalbarhet, antal finesser och virtualisering (både via hypervisor och via OS-level virtualisering) är Linux TCP/IP-stack bättre än BSD. Disk I/O må länge ha varit en akilleshäl för Linux, nätverks I/O har länge varit en styra och på senare år har jag svårt att se något OS som matchar Linux här.

Telecom-bolagen har under lägre tid använt Linux (de använde Solaris för 15 år sedan), Cisco använder i allt större utsträckning Linux för switchar (trots att man har sitt eget IOS), Juniper använder Linux i switchar. Så vilka relevanta spelar finns kvar som skulle köra Solaris? Om du utvecklat programvara för en switch skulle du också inse att TCP/IP-stacken är totalt irrelevant för en switch, den utför operationer på lagrer 2, IP är lager 3 och TCP/UDP/SCTP m.fl. är lager 4.

När man använder Linux för switchar har man endera in-kernel moduler som utför något väldigt nära drivers, eller mer vanligt på senare tid är att man kör hela funktionen i user-land via Linux UIO (user-mode drivers, DPDK är ett sådant exempel för Intel-system, ODP är en annan variant som är tänkt att passa alla typer av system).

Visst, 8-socket är ett "litet" system. x86/Linux dominerar dagens datacenter, god tvåa är x86/Windows. Vilka är dessa gigantiska system som får dagens datacenter att framstå som "små"?

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 MichaelJackson:

Som du vet, en matematiker vägrar ingenting som det finns bevis för. Om du verkligen kan visa benchmarks på en singel x86 cpu som når 700 GFlops så ändrar jag självklart åsikt. Men som du gör nu, visa två x86 cpuer som tillsammans når 700 Gflops och dra slutsatsen att en enda x86 cpu når samma siffra är ju inte riktigt rätt. Det hoppas jag du inser? Det enklaste är att du visar benchmarks för en enda cpu. Jag har dock aldrig sett siffror högre än några 100 gflops för en ensam x86, och jag är intresserad av cpuer och påläst om ämnet. Jag hade reagerat kraftigt om jag sett x86 gflops närmare 1000, ja tom över 500 gflops hade jag reagerat på och kommit ihåg det. Och under alla åren har jag aldrig sett det. Så därför blir jag fundersam när du påstår att en x86 klarar av 700 gflops. Det bör backas upp med benchmarks, eller ett logiskt resonemang som håller ihop. Och det resonemang du presenterat håller inte ihop.

Jag har inte ens sett NÅGON CPU, alls, nå 10Ghz på kisel. Så upp till bevis då

Permalänk
Datavetare
Skrivet av MichaelJackson:

Som du vet, en matematiker vägrar ingenting som det finns bevis för. Om du verkligen kan visa benchmarks på en singel x86 cpu som når 700 GFlops så ändrar jag självklart åsikt.

Du skriver faktiskt "single x86", här har du en mätning på "single x86" från 2013 som gör 1067 GFOPS i DGEMM och 999GFLOPS i Linpack.

Innan du börjar protestera om att Xeon Phi inte räknas, kolla hur den fungerar och vad det faktisk är. Visst sitter Xeon Phi typiskt på PCIe, men det är fortfarande en separat dator som kör ett eget OS (Linux). I superdatorer och beräkningskluster använder man typisk Xeon Phi som en MPI-nod och PCIe-bussen används som ett väldigt snabbt nätverkskort.

Det du skriver om "en matematiker..." är fortfarande *bull* om du refererar till dig själv. Du hade ju inga problem att själv deklarera siffrorna på en ej lanserad SPARC och POWER8 (hittar som sagt bara mätningar på POWER7+) som "bevisade". Där använder du det teoretiska maxvärdet rakt av.

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 Paddanx:

Jag har inte ens sett NÅGON CPU, alls, nå 10Ghz på kisel. Så upp till bevis då

Inte jag heller har sett någon sådan cpu. Så vad är det jag ska bevisa? Att jag inte känner till några sådana cpuer? Eller att IBM övergav vägen med en enda högt klockad cpu, trots att IBM länge pratade om att det enda rätta är "en enda stark högt klockad kärna är bättre för databaser än flera svagare kärnor"? Att IBM ändrade från att skruva upp GHz till att följa i SPARCs fotspår och skruva upp antalet kärnor istället? Jag tror du inte riktigt hänger med i diskussionen.

Skrivet av Yoshman:

Om du förstår hur en CPU fungerar så borde du kunna acceptera att eftersom Agner Fog visat att det är möjligt att skriva ett program kan köra två st FMA per cykel när man kör en lång sekvens av FMA-instruktioner så har man bevisat att CPU-arkitekturen är kapabel att nå 2 (FMA) * 4 (DP per instruktion) * frekvens * antal kärnor FLOPS.

Om du saknar den insikten borde du i alla fall ha tillräckligt mycket förståelse för att inse att om fyra modeller med olika frekvens, olika stor L3-cache och olika antal kärnor uppvisa i det närmaste identisk FLOPS / (kärna * frekvens) så borde det med all rimlighet vara en väldigt bra approximation att bara räkna om detta för E5 2699v3.

Om du inte acceptera något av dessa får du fortsätta övertyga dig själv om att jag har fel, det ändrar ändå inget i hur det faktiskt ligger till.

Men jag har ju precis förklarat varför du tänker fel? Det handlar om wattantalet sade jag ju. Du kan inte ta en kärna som presterar på nivå X och drar 50 Watt, och sen säga att 60 kärnor måste då prestera 60 X och helt negligera att en sådan cpu skulle dra 3000 watt. Du bör hålla dig inom 150 Watt för en Xeon, vilket verkar vara vad alla Intels Xeon cpuer drar eftersom de sitter i småservrar. SPARC och POWER bör hålla sig inom... 250(?) watt eftersom de sitter i stora affärsservrar som kostar miljoner, med helt annan uppbyggnad, vattenkylning och gud vet vad.

Så återigen, du kan inte resonera så som du gör, det är logiskt fel.
-En 5930K med 6-cores drar 150 watt. Om du drar ihop 3 stycken såna här cpuer så får du 18 cores och 350 Watt.
-En 18 core Xeon E5 2699v3 du pratar om, drar också 150 watt.

Wattantalet stämmer inte. Rimligtvis är kärnorna i E5 2699v3 en tredjedel så klena som kärnorna i 5930K, eftersom de har en tredjedel så mycket kräm som kan driva kärnorna.

Som sagt, det enklaste är att du visar en benchmark på en single x86 cpu som presterar 700 gflops. Det är en väldigt hög siffra, och om det vore sant, så skulle nog Intel skryta om det och visa den siffran på alla slides som finns. Men Intel säger inget om det. Den höga siffran har jag bara hört från dig, när du slår samman två cpuer och drar slutsatsen att en ensam cpu är så snabb.

Skrivet av Yoshman:

Du skriver faktiskt "single x86", här har du en mätning på "single x86" från 2013 som gör 1067 GFOPS i DGEMM och 999GFLOPS i Linpack.

Innan du börjar protestera om att Xeon Phi inte räknas, kolla hur den fungerar och vad det faktisk är. Visst sitter Xeon Phi typiskt på PCIe, men det är fortfarande en separat dator som kör ett eget OS (Linux). I superdatorer och beräkningskluster använder man typisk Xeon Phi som en MPI-nod och PCIe-bussen används som ett väldigt snabbt nätverkskort.

Så du hittar ingen Xeon general purpose cpu som kommer över 400 gflops i benchmarks? Jag hade en lång diskussion med en snubbe som trodde på fullaste allvar att en GPU kunde ersätta en CPU. En Xeon Phi är inte en general purpose cpu som kan driva en affärsserver, det tror jag även du inser.

Jag föreslår fortfarande att du slutar påstå att x86 når över 400 gflops, eftersom du inte kan visa benchmarks på det.

Skrivet av Yoshman:

Det du skriver om "en matematiker..." är fortfarande *bull* om du refererar till dig själv. Du hade ju inga problem att själv deklarera siffrorna på en ej lanserad SPARC och POWER8 (hittar som sagt bara mätningar på POWER7+) som "bevisade". Där använder du det teoretiska maxvärdet rakt av.

Jag håller med om att varken Oracle SPARC M7 eller Fujitsu SPARC XIfx är lanserade än, och därför är det orättvist att jämföra befintliga cpuer med kommande. Du har helt rätt där. Det kan mycket väl vara så att x86 är bland de snabbare cpuerna idag.

Min poäng är dock att när du säger att x86 är den snabbaste och bästa arkitekturen ("ingen som kommer i närheten av x86 IPC", etc) så kanske det inte stämmer? Intels nya cpuer är typ 10% snabbare för varje generation trots överlägsen IPC. SPARC är 100% snabbare för varje generation trots en dålig IPC. Fortsätter det så här så är SPARC klart snabbast snart. Men vänta nu, snart kommer M7 och XIfx, och då blir SPARC flera ggr snabbare än allt annat. Och sen kommer M8 året efter och Fujitsus nästa cpuer. Intel har inte mycket att komma med. Vilket är märkligt. Med en överlägsen IPC borde ju x86 vara överlägsen än allt annat på marknaden? Eller, kan det vara så att IPC inte är det viktigaste för prestandan, det kanske krävs massa annat också? SPARC har saker som den är bra på, annars skulle de cpuerna inte vara så snabba.

Däremot ser AMDs nya Zen cpu att vara ett monster som kanske kan matcha SPARC. När den har en inbyggd beräkningsdel APU som ger 4000 gflops, och med 100 GB/sek, så är den inte att leka med. Då ligger SPARC XIfx i lä, och Xeon Phi. Det är intressant att XIfx ligger på 1100 gflops utan en inbyggd beräkningsdel. Jag tror inbyggda APUer är framtiden. AMD har en guldsits där. Nvidia kan inte tillverka x86 cpuer. Det är bara Intel och AMD som kan det. Och AMD har överlägset kunnande i grafikkretsar, så framtida AMD cpuer med inbyggd APU kommer vara överlägsna Intels cpuer eftersom Intel inte kan så mycket om grafikkretsar. Framtida AMD cpuer kommer vara homogena, både CPU och APU kan köra data lite varstans ifrån i minnet. Idag kan CPUn bara köra data från visst RAM, och GPUn från annat RAM. Men i framtiden kan du mixa, och APUn kan obehindrat komma åt och köra datat från vilket RAM som helst.
http://www.fudzilla.com/news/processors/38402-amd-s-coherent-...

Något jag reagerade väldigt starkt på, är dock följande om Skylake. NSA har fått en gräddfil in till våra datorer, som inte går att undvika. Man måste köra open source cpuer, som MIPS eller nåt annat som Richard Stallman gör. När RMS surfar, så skriver han in en websida som ett program laddar ned som text, och websidan mailas till RMS konto. Alla tyckte han är extremt nojig, men kanske är han inte helt korkad?

Citat:

SGX is the defining uArch feature of Skylake, or, as Intel call it, the 'tock' ...

The question is, why is this ignored in a pathological manner on all 'technology enthusiast' sites, like this one ?

Long story short, for those without the time or technical inclination to read the programming reference:

This abomination can execute arbitrary code in encrypted memory that even the OS can't see ( any OS, you don't get away with it on Linux/*BSD ) with a complex set of certificates and keys managed by Intel and their 'partners'. This is the most abject for of DRM ever devised since you can't get rid of it short of etching crap on a 14nm die which requires tools of astronomical costs.

Basically they added a new kind of 'context switch' instruction, like the one to switch from user mode to kernel mode, but which switches the execution unit into a mode that is totally opaque to the OS - the OS can, at best, observe that the CPU is wasting cycles doing 'something' - along with private/encrypted paths to encrypted memory unavailable to the OS ( never mind user space ).

There are encrypted IO paths to various devices, for example to the display driver which, by the way, on Linux is a binary blob - contrary to Intel's previous open sourcess-ness in this matter - because the driver and the SGX enabled apps can talk to each other and, for example, grab screenshots and send them to the network driver without your OS having any idea about it.

Since this happens totally outside the OS, there is no way an 'antivirus' solution could help you, this is way beyond rootkits (which are inserted in the kernel and still detectable by OS) or firmware exploits, since the computation and the data are encrypted and opaque.

The SGX specs have been open on Intel's developer site for quite some months, yet nobody is talking about this. You are all up in arms about Snowden, cybersecurity and such, yet this blatant mother of all DRMs is flying under the radar ...

Permalänk
Medlem
Skrivet av MichaelJackson:

Inte jag heller har sett någon sådan cpu. Så vad är det jag ska bevisa? Att jag inte känner till några sådana cpuer? Eller att IBM övergav vägen med en enda högt klockad cpu, trots att IBM länge pratade om att det enda rätta är "en enda stark högt klockad kärna är bättre för databaser än flera svagare kärnor"? Att IBM ändrade från att skruva upp GHz till att följa i SPARCs fotspår och skruva upp antalet kärnor istället?

Du själv började rambla om det:

Skrivet av MichaelJackson:

Man kan lägga sin Watt budget på två olika sätt:
1) en enda core som skruvar upp GHz tills kärnan ensam slukar 250 Watt. Det kanske blir 8-10 GHz?
2) många cores/många trådar som tillsammans slukar 250 watt.

IBM pratade om att 1) var framtiden och att 2) var dåligt, och hånade Suns SPARC T1. Tycker du att POWER8 är mer lik 1) eller 2)? Tycker du att POWER8 är lik en sådan design som IBM menade var framtiden för cpuer? Eller gick IBM kanske över till många cores/många trådar design, med sin POWER8 som har 8-12 cores och 96 trådar, precis som SPARC M6 också har 8 cores och 96 trådar? Jag fattar inte att du verkligen tycker på riktigt, att POWER8 är mer lik en single core cpu med två trådar på 8-10 GHz?

Sen säger du själv:

Skrivet av MichaelJackson:

Som du vet, en matematiker vägrar ingenting som det finns bevis för. Om du verkligen kan visa benchmarks på en singel x86 cpu som når 700 GFlops så ändrar jag självklart åsikt.

Så... varför jämför du med en CPU som inte finns, inte kan nå 8-10Ghz. Därför säger jag jag tror dig när där finns bevis på det. För tills dess kan du bara spekulera om allt gällande denna CPU i dessa hastigheter. Inget kan visas, bevisas eller anses vara fakta. Inget.

Men du har säkert rätt i en sak:

Skrivet av MichaelJackson:

Jag tror du inte riktigt hänger med i diskussionen.

Därför du slutade prata logiskt för typ 1,5 sida sedan...
Jag förstår dock vad @Yoshman säger.

Permalänk
Skrivet av Paddanx:

Du själv började rambla om det:

Sen säger du själv:
Så... varför jämför du med en CPU som inte finns, inte kan nå 8-10Ghz. Därför säger jag jag tror dig när där finns bevis på det. För tills dess kan du bara spekulera om allt gällande denna CPU i dessa hastigheter. Inget kan visas, bevisas eller anses vara fakta. Inget.

Men du har säkert rätt i en sak:
Därför du slutade prata logiskt för typ 1,5 sida sedan...
Jag förstår dock vad @Yoshman säger.

Hmm... Jag tror inte min poäng var tillräckligt tydlig. Jag försöker förklara igen, så ska vi se om jag fortfarande är otydlig.

IBM har länge påstått att enda sättet att göra hög presterande cpuer är att använda 1-2 starka kärnor på hög klockfrekvens. Och att Sun/Oracles sätt med många klenare kärnor är helt fel väg att gå, eftesrom databaser körs bäst på starka kärnor/cpuer med hög klockfrekvens. IBM menar alltså att det är bättre att använda få starka cpuer än många klenare - pga databaser. Därför gjorde IBM sina dual core POWER6 cpuer på 5GHz och däromkring, och hånade SPARC Niagara med många klenare kärnor. På den tiden var det helt galet att ha 8 cores i en cpu, vilket SPARC hade. Idag har alla det.

IBM: 1-2 uberstarka cores är bäst, SPARCs många svagare cores är skit.
SPARC: många klenare cores är bäst.

Om nu IBM hade rätt, dvs att single-dual core starka cpuer är enda sättet att göra bra cpuer istället för många klenare cores vilket är helt värdelöst - varför är då POWER8 mer lik en SPARC M6 med 12-cores? POWER8 har också 12-cores. POWER8 borde väl rimligen ha 1-2 cores kring 8-10 GHz, eftersom IBM påstod att sådan design är överlägsen SPARCs design (dvs många klenare cores än en enda stark core).

När man tittar på IBMs nya cpuer, så har de faktiskt många klenare cores. Precis den vägen som SPARC slog in på för decennier sedan. Så min poäng är att IBM trash talkar sina konkurrenter, och sen när IBM gör exakt samma sak långt senare - så är IBMs design helt plötsligt det bästa som finns. Så, mao, man kan inte lita på vad IBM säger. IBM var ju faktiskt först med att FUDa i systematisk skala, utav alla företag:
https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt#Def...

Förrut pratade IBM mycket om hur snabba deras cpuer var, POWER7 var så snabb och IBM postade benchmarks över hela internet och skröt om hur viktigt det är med höga prestanda. Nu när Oracle köpte upp Sun och storsatsar på SPARC och är snabbast i världen, så vad säger IBM då när Oracle posta benchmarks överallt? "Prestanda är inte så viktigt, vi förstår inte varför Oracle pratar om höga prestanda, eftesrom ingen kund bryr sig om höga prestanda. Prata om höga prestanda är så 2000-tal och helt omodernt idag". Så höga prestanda är viktigt när IBM har rekordet, och när någon annan tar kronan så är prestanda helt oviktigt? Eh? Låt mig gissa, om IBM skulle få tillbaka prestandakronan (svårt när Oracle ökar 100% varje generation och IBM och Intel ökar 20% varje generation) så skulle prestanda helt plötsligt bli det viktigaste igen.

http://blogs.wsj.com/digits/2013/03/27/ibm-fires-back-at-orac...
"[Oracle SPARC high performance] was a frozen-in-time discussion,” Parris said in an interview Wednesday. “It was like 2002–not at all in tune with the market today." Companies today, Parris argued, have different priorities than the raw speed of chips."