Skrivet av Lezziter:
"Sensationshungrig" är väl att ta i, att få till en rubrik som inte är fyra kilometer lång är inte alltid helt lätt. Ibland blir de mindre bra, något som tydligen gäller i detta fallet enligt vissa.
Då tror du fel.
Jag håller med om att det är svårt att få till en passande rubrik, och jag har full förståelse att det inte alltid blir rätt. Men jag syftar t.ex. på denna textrad, inte på rubriken:
"Vad system med IBM:s värstingprocessor kommer att kosta och när de finns tillgängliga för slutkunder är ännu okänt"
Artikeln pratar om att IBM bara sysslar med serversystem. Om man pratar om VÄRSTINGPROCESSOR bland high end serversystem, så låter det som att det är en av de snabbaste processorerna. Visst kan man tolka det på olika sätt, men det är en rimlig tolkning tycker jag. Det är en annan sak om man pratar om värstingcpuer i Mobiltelefon sammanhang. Då skulle ingen tro att det är en av de snabbaste cpuerna som existerar, möjligen en av de snabbaste cpuerna som används bland mobiler. Men pratar man om värstingcpuer bland highend servrar, så är förleds man ju tro att det är en av de snabbaste i världen. Vilket inte alls stämmer. Text som denna, i kombination med rubriken blir ju lite tvetydig att tolka då?
Skrivet av deadleus:
Det är svårt att jämföra processorer över olika arkitekturer och prestanda handlar mycket om implementering och ändamål.
Teoretiskt max i beräkningskraft.
Nehalem på 3.33Ghz har 12-14 Gflops per core
Power6 från 2008 har på 18-19 Gflops per core
Power7 från 2010 har 33 Gflops per core
Real-world prestanda går att läsa ut i Linpack, där resultaten är likvärdiga.
Ja, IBM har släppt benchmarks för sina POWER cpuer. Det är absolut inga som helst problem att släppa såna benches. Men IBM vägrar släppa benchmarks för sina Mainframe cpuer. IBM använder annorlunda prestandamått för sina Mainframes som ingen annan använder. Allt i syfte att man inte ska förstå hur kassa CPUerna är. Varför kan inte IBM bara kompilera om SPECint_2006 eller FOLDING etc för Mainframes och publicera resultaten? Nej, "det är för svårt att jämföra mellan olika arkitekturer, etc" - skitsnack. Hur svårt är det att bara att kompilera om benchmarks på en Mainframe??? Mainframes har COBOL, Java, och C kompilatorer, C++ etc. Det är inte för svårt att kompilera om benchmarks som är plattformsoberoende. Men IBM vägrar. Och ingen funderar på varför det är så?
När det gäller siffrorna på POWER6 core och 18-19 Gflops, så tror jag nog säkert det stämmer. Men det är känt att POWER6 fick långt ifrån sina teoretiska resultat. I praktiken uppnåddes typ hälften av POWER6 teoretiska resultat. Det kan man se på t.ex. Linpack, som du nämner.
Ibm power7 details emerge - The Inquirer
"Yes, POWER6 was inefficient in Linpack and similar benchmarks for HPC - roughly 60 per cent achievable out of theoretical peak is really bad for a modern CPU"
IBM Power 7 @ HotChips - Beyond3D Forum
"Also IBM really needs POWER7 to be very good. POWER6 is not very impressive despite its crazy specifications. For example, a 4 CPU POWER6 4.2GHz machine... performs similar to a 2 CPU Nehalem 2.93GHz machine ... in TPC-C. Although POWER6 is older but Intel is closing very fast and that really worries IBM."
På SAP benchmarks ser vi att AMD Opterons är snabbare än 5GHz POWER6
http://www.hpcwire.com/offthewire/Sun-Microsystems-Sets-Recor... ew-x64-Server-78779357.html
Åtta st AMD Opterons borde vara 2x snabbare än fyra POWER6 om båda cpuerna är lika snabba. Men nej, Opterons är nästan 3x snabbare än fyra POWER6, mao Opterons är snabbare än POWER6.
Som jag sagt tidigare i tråden: visst har POWER6 fina siffror i teorin, men i praktiken så blir det pannkaka. Det beror på bl.a. dess djupa pipeline. Alla högt klockade cpuer har djup pipeline, som t.ex. Pentium 4.
En serverCPU kör massa olika program, och alla dessa program kan inte få plats i cachen. Inte heller kan man cacha alla hundratals klienters data och trådar. Så cachen kommer att swappa ut och in massa data hela tiden. Om du gör det, på en djup pipeline så blir cpun straffad extra hårt. Den får vänta på data hela tiden från RAM. "Cachen thrashar". Och eftersom pipen är djup så tar det extra lång tid innan cpun kan börja jobba med datat från RAM.
Det visar sig i studier från Intel, att en x86 server väntar ca 50-60% av tiden på data från RAM - under full load. Under max load, så väntar en typisk x86 server på data ca 50-60% av tiden. En x86 server idlar 50-60% av tiden, när man belastar den till 100%.
Varför händer detta? Jo, cpuerna är skitsnabba medan RAM inte är lika snabbt. Skillnaden mellan RAM och CPU är skitstor. RAM hinner inte med CPUn, så CPUn får vänta på data väldigt mycket. En 2-3GHz CPU som paras ihop med 1 GHz RAM är ingen bra kombination. CPUn väntar hela tiden, ca 50% av tiden under full load - säger Intel. Vad tror du händer om man är så dum att man parar ihop 5GHz CPU med 1GHz RAM? Jo, då väntar CPUn kanske 70-80% av tiden!
Ju högre klockad CPU, desto mer får den vänta på RAM vid cachemiss. En POWER6 som ligger på kring 5GHz idlar antagligen 75% av tiden - under max load. En x86 på 2GHz idlar 50%, så det är rimligt att en 5GHz cpu idlar 75%. Visst får du jättebra prestanda om all data ligger i cache så man slipper vänta på långsamt RAM, men det händer aldrig i praktiken. Det händer bara i teorin.
Sen får vi inte glömma att Nehalem har upp till 8 cores. POWER6 har 2 cores - som aldrig ligger nära teoretisk max pga POWER6 är för högt klockad. Skillnaden mellan RAM och CPU är för stor. En 2GHz x86 har inte så stor skillnad mellan RAM och CPU, så det är en bättre kombo - den idlar mindre.
En 2GHz x86 som idlar 50% gör bara arbete under 1GHz av tiden. Så en x86 på 2GHz motsvarar egentligen en 1GHz cpu som aldrig idlar. En POWER6 på 5GHz som idlar 75% av tiden motsvarar egentligen en 1.25GHz cpu som aldrig idlar.
Det säger sig självt att det är korkat att para ihop en extremt klockad cpu med långsamt minne. Det är bara att tänka efter lite.
Detta är skälet till att en POWER6 aldrig kommer nära dess teoretiska prestanda i praktiken. Det är för stor skillnad mellan RAM och CPU, vilket syns i t.ex. Linpack.
Att cpuer idlar 50% eller mer under full load, är ett känt problem som det talas tyst om bland cpu tillverkare. Därför har man stora cache minnen, och komplex prefetch logik för att all data ska ligga i cachen och man ska slippa gå ut i RAM. Enda sättet att slippa cachemissar helt, är om processorn är synsk. Det GÅR inte att undvika cachemissar. Det kommer alltid att hända. Ingen cpu tillverkare har lyckats lösa detta gamla problem. Förutom SUN.
SUNs nya revolutionerande Niagara cpu idlar kanske 5-10% under full load. Detta är otroligt bra och ingen har kommit nära detta resultat tidigare. Knepet SUN använder är följande: SUN försöker inte undvika cachemissar. De kommer alltid att inträffa. Så varför ens försöka undvika dem? Istället har Niagara massa kärnor, just nu har den 8 kärnor (vilket var helt galet många förr i tiden, då hade alla max dual cores och ingen körde med så många som 8 kärnor). Och varje kärna har 8 trådar. Så fort det blir en cachemiss på en tråd, så switchar Niagara tråd och jobbar vidare med annan tråd. Att switcha tråd tar en klockcykel. Detta är unikt. När andra cpuer ska switcha tråd så tar det grymt lång tid. Så Niagara väntar aldrig på data, den jobbar alltid för fullt.
Därför kan en 1.4GHz Niagara enkelt knäcka Nehalem-EX eller POWER6 eller whatever, på just sin nisch: köra många lätta trådar. Niagara suger på enkeltrådade saker. Varje tråd är klen. Niagara har inte heller stor cache eller komplex prefetch logik, den skiter i att försöka undvika cachemissar. Därför är Niagara liten strömsnål cpu. SUN försökte för längesen designa en sval strömsnål cpu med grymma prestanda. De lyckades: Niagara.
Niagara är som en långsam buss som tar 100 passagerare. En IBM POWER6 eller Nehalem är som en snabb porsche som tar 2 passagerare. Om du ska transportera 10000 passagerare, vem blir klar först? Niagara knäcker på stora workloads.
Nu har alla börjat ta efter Niagara, 8 kärnor och t.om. flera. Förr i tiden var det ingen som gjorde så. Det var helt galet av SUN. T.ex. IBM bashade SUNs Niagara och hånade den "Niagara har för liten cache, den har för långsamma cores, framtiden är att köra få snabba cores som POWER6 dual core på 5GHz därför att om du kör tung last så behöver du snabba cores. Muahahahaha". Och nu kommer IBM med sina nya cpuer, med många kärnor och många trådar. Fast nu är det förstås det bästa som finns i världen och IBM har kommit på något revolutionerande: använd många kärnor som är lite lägre klockade för att få ned strömförbrukningen. Oj! Stoppa pressarna. IBM har kommit på något nytt och unikt!
För några år sen släppte SUN en produkt: en container full med datorer. De tänkte: alla gör så små datorer som möjligt. Vi tänker tvärtom. Vilken är den största dator man kan göra? Jo, Black Box. Nu har IBM släppt något nytt och revolutionerande: en container full med datorer! Tadaa!
För några år sen släppte SUN en produkt där man kan köra massa olika x86, Niagara, SPARC racks och köra Solaris för att styra alla. Nyligen har IBM släppt något liknande för sin Mainframe: den kontrollerar racks med POWER AIX, Linux, etc - detta är helt revolutionerande säger IBM. SUN har gjort det många år. Skillnaden är att SUN använder Solaris för att styra alla, och IBM använder massa olika OS.
Nu kommer Niagara T3 snart. Den kommer ha 16 kärnor och 8 trådar, dvs 128 trådar. Senare kommer en Niagara med 256 trådar. Oracle som köpt SUN, kommer släppa en Solaris maskin med 16.384 trådar och 64TB RAM. Detta låter som sjukt många trådar, men alla kommer snart ha lika många trådar. Det lät sjukt när Niagara kom, med 8 kärnor och 8 trådar = 64 trådar. Men snart har alla det. Oracle har länge haft sin SunT5440 med 256 trådar. Nu släpper snart IBM sina nya unix servrar med upp... till 256 eller är det 512 trådar. Lite löjligt hur IBM kopierar SUN. Precis som Apple kopierar MS.
Skrivet av -=Mr_B=-:
Och du baserar hela din argumentation på prestanda, medan faktum är att för alla som använder huvudet är det fullständigt uppenbart att referensen "snabbast" är till högsta massproducerade klockfrekvensen.
Se ovan. Vi har olika tolkningar. Jag anser min tolkning vara lika relevant som din tolkning. Eller är det bara din tolkning som räknas?
Citat:
Nu får du väll i alla fall erkänna en brist i ditt resonemang. En CPU har definitivt en motsvarighet till vridmoment. Det är precis därför du får olika prestanda på olika arkitekturer, vid en given klockfrekvens. Hade inte CPU'erna levererat olika prestanda vid samma frekvens hade resten av ditt resonemang varit helt värdelöst, eftersom den CPU det talas om är den högst klockade serieproducerade CPU'n.
Kan du utveckla? Hur menar du? Jag har läst kurser i sånt här på KTH. Jag har skrivit emulatorer för olika cpuer. Ge mig detaljer, du behöver inte vara rädd för att bli för teknisk. Exakt vad är det som motsvarar "vridmoment" och på vilket sätt?
Citat:
Dina inpass i den här tråden är präglade av en vilja att försöka lyfta fram dig som en auktoritet på området, och sen slänger du fram fullständigt vansinniga påståenden. Grattis.
Tackar. Men som sagt, jag är hyfsat påläst när det gäller CPUer. Jag säger inte att jag är en auktoritet, men jag tror jag har djupare kunskaper i cpuer än flera personer här. Det är ju bara att tänka efter själv?
Denna Z196 cpu ger 650 MIPS. En Nehalem-EX ger 400 MIPS när du kör mjukvaruemulering. Emulering är ju 5-10ggr långsammare. Vilken CPU är snabbast? Är jag helt ute och cyklar, menar du? "vansinniga påståenden"?
Citat:
Jag måste säga att jag tyckte rubriken var rätt bra. Mitt mångordiga exempel var valt just för att visa att det krävdes en löjlig massa text för att på ett annat sätt säga samma sak. Jag skulle rent av vilja gå så långt att jag säger att efter att ha läst artikeln måste man avsiktligt missförstå, för att inte fatta referensen.
Återigen, jag anser inte att du har tolkningsföreträde. Min tolkning är inte helt fel, tycker jag.
Citat:
Alltså, man har avsiktligt pissat revir i den här tråden, och förstört den för de som eventuellt velat föra en vettig diskussion runt CPU'n. Kul. Tack Saddam.
B!
Varsågod.
Om du har några TEKNISKA invändningar mot det jag säger, så får du gärna komma med dem. Visst får du tycka att jag är tråkig som drar massa beräkningar som visar att detta strömslukande härke är långsamt, men om du har några sakliga eller tekniska invändningar så är du välkommen att presentera dem. Du får tycka vad du vill om min tekniska sakframställan "tråkig", "vansinniga påståenden", whatever. Men om du inte har något tekniskt att tillföra så är det mest bara åsikter om min framställan, som du luftar?