Skrivet av Yoshman:
SPARC bra som general purpose CPU, LOL.
Du inser att SPARC Niagara T1-T3 är en in-order dual issue design va? Vilka andra CPU:er har vi som har liknande teknik? Tja vi har Pentium (den första), Atom samt ARM11 och ARM Cortex A8.
Du har missat ganska mycket information om Niagara. Om du tror att det är en vanlig cpu så har du käpprakt fel. Niagara är helt unik och liknar ingen annan cpu på marknaden. Niagara är en revolution, det är inte evolution.
Varför tror du att en enda 1.6GHz Niagara är lika snabb som 13st (tretton) CELL cpuer på 3.2GHz på string pattern matching? 13st CELL, det är totalt 41.6 GHz. Hur kan en "vanlig" cpu på 1.6GHz vara lika snabb som 42GHz? Du inser inte att något är på tok på din bild av Niagara? Det finns inte en chans att en 1.6GHz ARM / Atom / Pentium kan matcha 42GHz CELL cpuer. Något är fel (på din världsbild höll jag nästan på att säga). En enda GHz för Niagara, motsvarar 26 GHz för IBM CELL.
Hur kan en enda Niagara server med fyra st 1.6GHz Niagara cpuer, matcha sex st IBM POWER servrar med totalt 14 st POWER6 cpuer på 5GHz, när vi talar SIEBEL v8 benchmarks? Dvs, Niagara använder totalt 6.4GHz, och IBM använder totalt 70GHz. En enda GHz för Niagara motsvarar 11 GHz för IBM POWER.
På vissa work loads, har Niagara varit 25x snabbare än Intel x86. Inte 25% snabbare, utan 25 GÅNGER. Företag har bytt ut sina x86 servrar mot en enda Niagara server.
Så... hur var det nu, Niagara är en helt "vanlig" in-order dual issue cpu, med prestanda i klass med ARM eller Atom eller Pentium 1, eller hur? Knappast.
Vet du på vilket sätt Niagara är unik? Inte? Låt mig då berätta. En cpu under full load, under max load, idlar ca 50% av tiden. Cpun väntar på data från RAM, cpun får cachemissar. Detta gäller ALLA cpuer, och har alltid varit så. Alla cpuer får cache missar oavsett hur stora caches. T.ex. IBM z196 Mainframe cpun på 5.26GHz har ca 200 MB = 0.2 GB cache och ändå är IBMs stordator cpuer flera ggr långsammare än en high end x86 cpu på 2,4GHz. Så att ha stora caches hjälper inte. En cpu under max load, väntar på data ca 50% av tiden. Det har alltid varit så, och detta är en väl förborgad hemlighet som cpu tillverkarna inte basunerar ut. Cpuerna har komplex pre fetch logik, enorma caches, etc - allt för att minska cachemissarna.
Men vet du hur mycket Niagara idlar under full load? 5-10%. Det är helt unikt och ingen har lyckats med detta tidigare. Aldrig förr. En Niagara väntar nästan aldrig på cache missar, den får aldrig cachemissar. Det är ett av skälen till att en 1.6GHz Niagara är 10 ggr så snabb som x86 eller IBM POWER6 cpuer. Detta är REVOLUTION. Inte evolution. Detta är unikt och ingen annan cpu kan göra detta.
Läs på lite mera om Niagara, sen kan du ju fundera på hur en Niagara kan vara lika snabb som 10 andra high end cpuer. Observera att detta gäller somliga benchmarks, inte alla benchmarks. Niagara är traditionellt ingen general purpose cpu, nej. Niagara är grymt snabb på det den är designad för. Enormt mycket snabbare än andra cpuer. Men den börjar gå mot general purpose, bli det mer och mer i kommande generationer.
Citat:
Edit: när jag ändå är igång. SPARC kommer nog aldrig kunna ha riktigt hög IPC då det är ett instruktions-set som har dålig kod-densitet, framförallt jämfört med x86 och ARM. Det betyder att givet en viss storlek på cache så kommer alltid SPARC få mer missar än x86 och ARM.
Nu tycker jag du är lite luddig här. Det är stor skillnad på SPARC och på Niagara. Pratar vi SPARC så ligger den efter andra cpuer, det är främst Fujistu som utvecklar SPARC. Inte mycket har satsats där på senare tid. Dock har nu Fujitsu ryckt upp sig och utvecklat en SPARC som sitter i världens snabbaste super dator, Fujitsu "K". Så SPARC är en general purpose.
Niagara är en nischad cpu, och kan göra somliga saker grymt mycket snabbare än andra cpuer. Men iom T4 så är niagara inte lika nischad längre. T.ex när du pratar om att "SPARC kommer få mycket cache missar": Du vet väl att Niagara har typ 256KB cache - 1MB cache, och ändå får aldrig cachemissar, den väntar på data 5-10% av tiden, då den kör full load. Jfr det med Intel och POWER som har 24-32 MB cache och ändå väntar på data 50-60% av tiden, då de kör full load. Så Niagara får inte cachemissar, men det får alla andra traditionella cpuer. Så du har fel. Vad föredrar du, en enorm cache och cachemissar hälften av tiden, eller mycket liten cache och ändå aldrig cachemissar? Niagara är okänslig för cachemissar. Varför? Jo, unik konstruktion.
Citat:
AMD, Intels och IBMs CPUer har långt mycket bättre IPC än SPARC; men de har inte alls lika många CPU-trådar.
Spelar det någon roll hur hög IPC Niagara har, om den aldrig får cachemissar? Visst kanske Intel och POWER har högre IPC, men de får ju cachemissar 50% av tiden. Vad föredrar du? Hög IPC och massa cachemissar, eller lägre IPC och aldrig cachemissar?
Citat:
SPARC T1-T4 suger som desktop CPU, den suger faktiskt på det mest utom saker som innefattar MASSOR med I/O och framförallt saker där man normalt sett har massor med samtidiga transaktioner, något SPARC hanterar väldigt bra p.g.a extremt många CPU-trådar. Databaser passar denna perfekt på denna beskrivning, vilket förklarar varför SPARC är en så bra match för Oracle
Vet du att IBM hånade Niagara och sa att Niagara är skräp. Varför? Jo, därför att Niagara har många svaga cores. Det enda raka, är att ha få starka cores. Typ 1-2 cores på 7-8GHz - det är framtiden! Det är bättre att ha en stark core, än många svaga. Hur motiverade IBM detta? Jo IBM sa: "databaser körs bäst på starka cores, därför är Niagara skit och POWER är bäst". Och som vi alla vet, är ju databaser det viktigaste systemet som finns i ett företag. Databasen är själva hjärtat i ett företag, den har all info. Utan databas, ingen verksamhet.
Senare gjorde IBM helt om, och slutade med GHz racet, och switchade om till många cores racet istället. Det race, som SUN inledde för längesen med Niagara. Niagara hade 8 cores, när alla andra hade 1-2 cores. 8 cores var helt sjukt många cores på den tiden. Senare släppte IBM cpuer som inte alls hade 1-2 cores på 7-8 GHz, utan istället hade IBM många lägre klockade cores, precis som Niagara. Som IBM hånade. Varför har inte POWER7 en enda core på 8 GHz? Nej, POWER7 har många lägre klockade cores. Men helt plötsligt är många cores, det enda raka, och IBM har gjort "något nytt och revolutionerande och innovativt". Bull shit, säger jag. När SUN gör något så var det skit, när IBM gjorde samma sak senare, så var det "innovativt och nytt"?
Så nu är ju Niagara T4 grym på att köra databaser, den är mer än dubbelt så snabb som IBM POWER7 på det enligt benchmarks. Det måste ju betyda att T4 har starka cores? Precis det du inte säger att den har?
Citat:
Det fanns en SPARC CPU som gick under namnet "Rock" som skulle få transactional memory men den CPUn såg aldrig dagens ljus. Transactional memory kan göra allt som man kan göra med "load link / store conditional" eller dubbel compare-and-swap men det möjliggör även en rad andra saker. Nu blir Haswell först med den tekniken i stället.
Fel igen. Niagara T5 kommer detta år, och den kommer ha transactional memory. T5 blir först. SUN försökte få in det i sin ROCK cpu, men den lades ned. De bästa bitarna hittar vi i kommande Niagara cpuer. Som T5. Den kommer ha 16 cores, och skala till 8 cpuer. Och den kommer knäcka. Om 3 år kommer 16.384 trådars Solaris server. Den kommer krossa.
Citat:
Så SPARC kommer bara vara bra (jämfört med x86) på saker där varje transaktion hanteras av EN tråd och man har MASSOR av sådana transaktioner. Helst ska man även göra massor med I/O och/eller använda så stora working-set att ingen cache i världen är stor nog. Åter igen, ingen general purpose CPU.
"Ingen cache i världen är stor nog". Vet du vad det låter som? Det låter som server work loads. Server work loads betjänar typiskt många 1000 klienter samtidigt, och varje klient har massa data. Ingen cache kan hålla alla klienters data. Ingen cache räcker till det. Men såna workloads är inget problem för Niagara, för Niagara får aldrig cachemissar. Niagara är alltså en server cpu, eftersom den inte behöver stor cache för att prestera bra.
IBM POWER och x86 cpuer får sin prestanda till stor av sin enorma cache. Såna här cpuer måste få in all data i sin cache för att få upp prestanda, annars suger de. Vad händer när de försöker betjäna 1000 klienter som swappar data in och ut i cachen hela tiden? Cachen thrashar och prestanda sjunker ned till 5% eller så. Mao, det är typiskt desktops det. Det är desktops som måste få in ett litet data i cachen, som cpun kan ligga och bearbeta. Typ, en liten for loop som körs gång på gång. Om det istället är många tusen klienter, så går all det datat aldrig in i cachen. Kort sagt, Intel och POWER är desktop cpus. Niagara är server cpu.
Så du säger att Niagara suger? Andra säger att den är innovativ.