AMD gör monsterprocessor med 16 kärnor, inbyggd grafikdel och HBM-minne

Permalänk
Skrivet av Yoshman:

Xeon E5 finns i varianter upp till 4-sockets, 4xxx modellerna, medan Xeon E7 finns upp till 8-sockets. Men allt över 2-sockets är extrema nischprodukter så verkar som dessa produkter inte uppdateras varje CPU-generation. Sedan gäller dessa begränsningar bara om man kör med QPI, både Intels och AMDs server CPUer kan använda 3:e-parts teknik som t.ex. NUMALink för att bygga massiva system som fortfarande är cache-koherenta. I Intel-fallet använder man typiskt Xeon E5 i stället för E7 av kostnadsskäl, t.ex. SGIs UV-serie som finns i varianter med upp till 256 CPU-sockets.

Men de här SGI servrarna med flera 100 sockets är ju rena nischprodukterna som inte går att använda till nånting vettigt, förutom vetenskapliga beräkningar. De är inte general purpose datorer, det existerar tex inga business benchmarks, ERP såsom tex SAP benchmarks, eller databas relaterade TPC benchmarks. De enda benchmarks som existerar är embarassingly parallel benchmarks, av typen klustrade beräkningar. Väldigt nischat, och inte många kommersiella företag har användning av rena beräkningsservrar. Företag vill ha general purpose servar, som faktiskt klarar av att producera SAP benchmarks och benchmarks på andra affärssystem.

Däremot verkar den här cpun trevlig, med 32 cores, och upp till 64 TB ram, som kommer om några månader. Den är bl.a. helt immun mot heartbleed. Den är inte 20% snabbare än föregångaren (som har flera rekord) utan är 3-4x snabbare.
http://www.enterprisetech.com/2014/08/13/oracle-cranks-cores-...
http://www.theinquirer.net/inquirer/news/2373412/oracle-says-...

Denna nya Zen AMD cpu verkar också kunna ge ett rejält lyft och vara mycket snabbare än tidiagre cpuer. Intels nya cpu är ju typiskt 5-10% snabbare än sin föregångare som den ersätter, vilket är ganska dåligt, om man tänker efter. Ifall du har en gammal Q6600 så finns det knappt någon anledning att köpa senaste Intel cpun idag. Överklocka lite, och du är ifatt Intels nyaste. Nej, det är ju AMD som är innovativa nu. Den här cpun lär krossa Intels cpuer.

Permalänk
Medlem

Min spontana reaktion:

Visa signatur

Räkna ut hur kraftigt nätaggregat du behöver på OuterVision Power Supply Calculator. 500W räcker för de allra flesta vanliga system. Seasonic är bäst. ;) – Elektrostatisk urladdning är ett verkligt problem.
"People who are serious about software should make their own hardware" – Alan Kay
Bojkotta maffian

Permalänk

Zen 16 cores och r9 490x ?

Visa signatur

Ursäktar för stavfel

Permalänk
Datavetare
Skrivet av MichaelJackson:

Men de här SGI servrarna med flera 100 sockets är ju rena nischprodukterna som inte går att använda till nånting vettigt, förutom vetenskapliga beräkningar. De är inte general purpose datorer, det existerar tex inga business benchmarks, ERP såsom tex SAP benchmarks, eller databas relaterade TPC benchmarks. De enda benchmarks som existerar är embarassingly parallel benchmarks, av typen klustrade beräkningar. Väldigt nischat, och inte många kommersiella företag har användning av rena beräkningsservrar. Företag vill ha general purpose servar, som faktiskt klarar av att producera SAP benchmarks och benchmarks på andra affärssystem.

Det är sant att allt över dual-socket system är extrema nischprodukter, men det är helt fel att SGIs UV-serie inte kan användas till något annat än vetenskapliga beräkningar. Faktum är att få lär använda UV-serien som beräkningskluster då bl.a. SGI själva har andra produkter just för scale-out scenarion som ger betydligt högre beräkningskraft per Watt och krona, här finns t.ex. SGI ICE.

SGI UV är specifikt utvecklad just för saker som SAP och andra tillämpningar där man behöver ett cache-koherent system med massiv mängd RAM (finns UV-system i drift med upp till 64TB RAM) och massiv mängd CPU-kärnor. Vad man typiskt vill åt i dessa system är möjligheten att ha riktigt stora databaser helt eller till stor del i RAM.

Inte heller sant att det inte finns business benchmarks på SGI UV, tvärt om har dessa system visat sig kunna prestera bättre än något IBM och Oracle kunnat uppbringa, oavsett prislapp: SGI® Altix® UV 1000 World's Most Powerful Enterprise Java Application System.

Det som är kritiskt för enterprise-applikationer är att systemet skalas vertikalt (scale-up) och SGI UV skalar just på den ledden. Den tekniska detaljen för om något är "scale-up" eller "scale-out" är huruvida man adderar mer resurser till ett enskilt system (scale-up) eller om man adderar mer resurser till en samling system (kluster av system, scale-out).

Läs den artikel du själv länkar, andra generationen av det interconnect som används i SPARC M6/M7, Bixby, stödjer både "scale-up" (cache-coherent NUMA) och "scale-out" (system som saknar cache-koherens där interconnect i praktiken är ett snabbt nätverk)

"Interestingly, the updated Bixby NUMA interconnect will allow for cache coherent links between the Sparc four-socket nodes and will also allow for non-coherent links. This will allow a big Sparc M7 machine to function as a cluster for Oracle RAC database clustering software, using the Bixby interconnect instead of 40 Gb/sec InfiniBand as the Exadata database clusters do."

Tidiga versioner av NUMALink hade relativt hög latens, något som fick det sådana system att inte riktigt vara samma sak som multisocket-system via QPI eller liknande. Jämför man första generationen Bixby med NUMALink6 (både dessa är "last-gen", fokus för NUMALink7 är just minskad latens) så har Bixby en genomsnittlig latens på ca 150ns (enligt artikel du länkade) och NUMALink6 ligger på ca 100ns. Så SGI-UV är på alla sätt ett ccNUMA-system väldigt likt vilket multisocket system som helst, fast på en helt annan skala.

Skrivet av MichaelJackson:

Däremot verkar den här cpun trevlig, med 32 cores, och upp till 64 TB ram, som kommer om några månader. Den är bl.a. helt immun mot heartbleed. Den är inte 20% snabbare än föregångaren (som har flera rekord) utan är 3-4x snabbare.
http://www.enterprisetech.com/2014/08/13/oracle-cranks-cores-...
http://www.theinquirer.net/inquirer/news/2373412/oracle-says-...

Intel har motsvarande teknik i kommande Skylake, MPX, och stöd för dessa finesser har redan integrerats i glibc och i Linux sedan 3.19.

Skrivet av MichaelJackson:

Denna nya Zen AMD cpu verkar också kunna ge ett rejält lyft och vara mycket snabbare än tidiagre cpuer. Intels nya cpu är ju typiskt 5-10% snabbare än sin föregångare som den ersätter, vilket är ganska dåligt, om man tänker efter. Ifall du har en gammal Q6600 så finns det knappt någon anledning att köpa senaste Intel cpun idag. Överklocka lite, och du är ifatt Intels nyaste. Nej, det är ju AMD som är innovativa nu. Den här cpun lär krossa Intels cpuer.

Du jämför Intel desktop med en server CPU. För skrivbordet ger det inte speciellt mycket att kliva förbi två CPU-kärnor för majoriteten, redan med Core2 hade Intel den CPU-design med bäst enkeltrådprestanda och om något har man drygat ut den ledningen idag. Att öka enkeltrådprestanda är långt svårare än att öka totala beräkningskapaciteten i en krets genom att addera kärnor.

Tittar man på utvecklingen på Xeon sedan Core2 så är dagens snabbaste Intel system (QPI-baserade) mellan 50-100 gånger snabbare (lite beroende på arbetslast) än den snabbaste Core2 baserade Xeon-systemet. Enbart införandet av DDIO i Sandy Bridge gav runt en fördubbling i många I/O-intensiva laster. Om Intel i det närmaste stått still, hur kommer det sig då att Xeon E5 v3 (Haswell) vid lansering i höstas var det snabbaste single- och dual-socket system i en lång rad enterprise benchmarks, framförallt om t.ex. SPARC Niagara ökar sin prestanda flera gånger per generation?

Att Oracle överhuvudtaget kan bygga ett system med 32-kärnor beror enbart på att SPARC S3 kärnan har mer gemensamt med AMD Jaguar och Intel Silvermont (alla 3 är relativt enkla dual-issue designer) än med IBM POWER8 (8-issue) och Intel Haswell/Broadwell (5-issue). Cavium Networks hade ett 32-kärnors MIPS-baserat system för nära nog 10 år sedan, det var möjligt då varje kärna var väldigt klen jämfört med samtida PowerPC och x86. Enkeltrådprestanda på POWER8 och Haswell är ju så långt före SPARC S3 att Oracle insett att T-serien är meningslös och man har därför skrotat den (står också i artikeln du länkat).

POWER8 har maximalt 12 kärnor, men bandbredd per socket är långt högre än både Intel Xeon E5/E7 och även än SPARC M7 (160GB/s med DDR4 jämfört med POWER8 230GB/s med DDR3!). Med den prestanda per CPU-kärna POWER8/Haswell har räcker inte bandbredden till om man skulle skala upp systemen till 32 kärnor. I Xeon fallet är det i de flesta fall ingen poäng att gå över 10/12 kärnor om målet är "enterprise"-applikationer, 18 kärnors varianten är främst riktade mot HPC där inte bandbredd utan beräkningskraft och FLOPS/W är den största flaskhalsen.

Det verkar som det behövs ungefär dubbelt så många SPARC S3 kärnor som POWER8/Haswell för att man ska ha ungefär samma beräkningskraft (givet att alla kör på ungefär samma frekvens). Så ur perspektiv som CPU-tekniknörd är SPARC Niagara en rätt ointressant CPU, det är en massa högt klockade Jaguar/Silvermont med brutal bandbredd, d.v.s. det är en microserver som är rejält "scaled-up" vilket är lite udda då typiska microserver-laster brukar fungerar bra att använda "scale-out" som är betydligt billigare än "scale-up". Som CPU är Haswell/Broadwell/POWER8 alla extremt tekniskt intressanta, Intel leder enkeltrådprestanda medan POWER8 har mer prestanda per fysiska kärna när alla 8 trådar användas fullt ut. Här får man hoppas att också Zen slår sig in och blir något som ur ingenjörssynpunkt är fascinerande att bara läsa om!

Edit: I just Oracles fall är det naturligtvis just databaser man fokuserar på, det är en arbetslast som passar en rejält uppskalad microserver (som passar väldig bra till många typer av disk-intensiva laseter) med massiv mängd RAM och bandbredd (så stora delar av databasen kan ligga cachad i RAM).

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
Visa signatur

Lead 3D Artist, Sweden
Xeon Gold 6246R, 2x Nvidia RTX A5000 24 GB + NVLink, 384 GB ECC RAM

Permalänk
Medlem

Undrar hur mycket den kommer kosta, säkert något på $13337

Visa signatur

CPU: I5 4690K @ 4.8GHZ Vcore 1,32 Temp max load: 76c | KYLARE: Phanteks PH-TC14PE MODERKORT: ASUS Z97-A | PSU: FSP Hyper 700W
MINNE:16GB HyperX Black @ 1866mhz |SSD: PNY Optima 240 GB
GRAFIK KORT: Gigabyte 970 GTX WFx3 | BURK: Phanteks Enthoo Pro, windowed edition
Ja jag vet att jag särskriver och jag skyller på engelskan!

Permalänk
Entusiast
Skrivet av Yoshman:

Det är sant att allt över dual-socket system är extrema nischprodukter, men det är helt fel att SGIs UV-serie inte kan användas till något annat än vetenskapliga beräkningar. Faktum är att få lär använda UV-serien som beräkningskluster då bl.a. SGI själva har andra produkter just för scale-out scenarion som ger betydligt högre beräkningskraft per Watt och krona, här finns t.ex. SGI ICE.

SGI UV är specifikt utvecklad just för saker som SAP och andra tillämpningar där man behöver ett cache-koherent system med massiv mängd RAM (finns UV-system i drift med upp till 64TB RAM) och massiv mängd CPU-kärnor. Vad man typiskt vill åt i dessa system är möjligheten att ha riktigt stora databaser helt eller till stor del i RAM.

Inte heller sant att det inte finns business benchmarks på SGI UV, tvärt om har dessa system visat sig kunna prestera bättre än något IBM och Oracle kunnat uppbringa, oavsett prislapp: SGI® Altix® UV 1000 World's Most Powerful Enterprise Java Application System.

Det som är kritiskt för enterprise-applikationer är att systemet skalas vertikalt (scale-up) och SGI UV skalar just på den ledden. Den tekniska detaljen för om något är "scale-up" eller "scale-out" är huruvida man adderar mer resurser till ett enskilt system (scale-up) eller om man adderar mer resurser till en samling system (kluster av system, scale-out).

Läs den artikel du själv länkar, andra generationen av det interconnect som används i SPARC M6/M7, Bixby, stödjer både "scale-up" (cache-coherent NUMA) och "scale-out" (system som saknar cache-koherens där interconnect i praktiken är ett snabbt nätverk)

"Interestingly, the updated Bixby NUMA interconnect will allow for cache coherent links between the Sparc four-socket nodes and will also allow for non-coherent links. This will allow a big Sparc M7 machine to function as a cluster for Oracle RAC database clustering software, using the Bixby interconnect instead of 40 Gb/sec InfiniBand as the Exadata database clusters do."

Tidiga versioner av NUMALink hade relativt hög latens, något som fick det sådana system att inte riktigt vara samma sak som multisocket-system via QPI eller liknande. Jämför man första generationen Bixby med NUMALink6 (både dessa är "last-gen", fokus för NUMALink7 är just minskad latens) så har Bixby en genomsnittlig latens på ca 150ns (enligt artikel du länkade) och NUMALink6 ligger på ca 100ns. Så SGI-UV är på alla sätt ett ccNUMA-system väldigt likt vilket multisocket system som helst, fast på en helt annan skala.

Intel har motsvarande teknik i kommande Skylake, MPX, och stöd för dessa finesser har redan integrerats i glibc och i Linux sedan 3.19.

Du jämför Intel desktop med en server CPU. För skrivbordet ger det inte speciellt mycket att kliva förbi två CPU-kärnor för majoriteten, redan med Core2 hade Intel den CPU-design med bäst enkeltrådprestanda och om något har man drygat ut den ledningen idag. Att öka enkeltrådprestanda är långt svårare än att öka totala beräkningskapaciteten i en krets genom att addera kärnor.

Tittar man på utvecklingen på Xeon sedan Core2 så är dagens snabbaste Intel system (QPI-baserade) mellan 50-100 gånger snabbare (lite beroende på arbetslast) än den snabbaste Core2 baserade Xeon-systemet. Enbart införandet av DDIO i Sandy Bridge gav runt en fördubbling i många I/O-intensiva laster. Om Intel i det närmaste stått still, hur kommer det sig då att Xeon E5 v3 (Haswell) vid lansering i höstas var det snabbaste single- och dual-socket system i en lång rad enterprise benchmarks, framförallt om t.ex. SPARC Niagara ökar sin prestanda flera gånger per generation?

Att Oracle överhuvudtaget kan bygga ett system med 32-kärnor beror enbart på att SPARC S3 kärnan har mer gemensamt med AMD Jaguar och Intel Silvermont (alla 3 är relativt enkla dual-issue designer) än med IBM POWER8 (8-issue) och Intel Haswell/Broadwell (5-issue). Cavium Networks hade ett 32-kärnors MIPS-baserat system för nära nog 10 år sedan, det var möjligt då varje kärna var väldigt klen jämfört med samtida PowerPC och x86. Enkeltrådprestanda på POWER8 och Haswell är ju så långt före SPARC S3 att Oracle insett att T-serien är meningslös och man har därför skrotat den (står också i artikeln du länkat).

POWER8 har maximalt 12 kärnor, men bandbredd per socket är långt högre än både Intel Xeon E5/E7 och även än SPARC M7 (160GB/s med DDR4 jämfört med POWER8 230GB/s med DDR3!). Med den prestanda per CPU-kärna POWER8/Haswell har räcker inte bandbredden till om man skulle skala upp systemen till 32 kärnor. I Xeon fallet är det i de flesta fall ingen poäng att gå över 10/12 kärnor om målet är "enterprise"-applikationer, 18 kärnors varianten är främst riktade mot HPC där inte bandbredd utan beräkningskraft och FLOPS/W är den största flaskhalsen.

Det verkar som det behövs ungefär dubbelt så många SPARC S3 kärnor som POWER8/Haswell för att man ska ha ungefär samma beräkningskraft (givet att alla kör på ungefär samma frekvens). Så ur perspektiv som CPU-tekniknörd är SPARC Niagara en rätt ointressant CPU, det är en massa högt klockade Jaguar/Silvermont med brutal bandbredd, d.v.s. det är en microserver som är rejält "scaled-up" vilket är lite udda då typiska microserver-laster brukar fungerar bra att använda "scale-out" som är betydligt billigare än "scale-up". Som CPU är Haswell/Broadwell/POWER8 alla extremt tekniskt intressanta, Intel leder enkeltrådprestanda medan POWER8 har mer prestanda per fysiska kärna när alla 8 trådar användas fullt ut. Här får man hoppas att också Zen slår sig in och blir något som ur ingenjörssynpunkt är fascinerande att bara läsa om!

Edit: I just Oracles fall är det naturligtvis just databaser man fokuserar på, det är en arbetslast som passar en rejält uppskalad microserver (som passar väldig bra till många typer av disk-intensiva laseter) med massiv mängd RAM och bandbredd (så stora delar av databasen kan ligga cachad i RAM).

Vad är skillnaden på gamla T-serien och den nya(?) W-serien? Var inte T-serien också bara en stor hög rätt klena kärnor med som kunde köra många trådar per kärna vilket var praktiskt för just Oracles databaser?

Visa signatur

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

Permalänk
Entusiast
Skrivet av Fakkahe:

Undrar hur mycket den kommer kosta, säkert något på $13337

Xeon Phi är faktiskt inte så svindyra som man kan tro. De ligger på 15 000-30 000 kr plus moms ungefär. Beroende lite på modell. De är billigare än Nvidias Tesla som kan gå på över 70 000 kr plus moms för K80 som typ är ett Titan X. K40 som typ är ett Titan Black går på strax över 40 000 kr plus moms.

Visa signatur

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

Permalänk
Datavetare
Skrivet av Zotamedu:

Vad är skillnaden på gamla T-serien och den nya(?) W-serien? Var inte T-serien också bara en stor hög rätt klena kärnor med som kunde köra många trådar per kärna vilket var praktiskt för just Oracles databaser?

T1-T5 kan i stort sätt jämföras med Xeon E5/E7 med QPI i vilken "skala" de siktar in sig på. Denna serie hade maximalt 16 kärnor per CPU-krets och skalade upp till 8 CPU-sockets, tittade man i prislistan såg man nästan bara dual-socket system vilket också pekar på att man siktade på samma kunder som kör dual-socket Xeon E5. När Xeon E5 v2 lanserades (Ivy Bridge, innehöll den första 12-kärniga Xeon modellen) blev nog hela T-serien i praktiken osäljbar då man kunde få samma prestanda i T-seriens "paradgrenar" för mindre pengar och lägre TDP.

Det man har kvar är M-serien som skalar till långt mycket större system. I kommande M7 blir det 32 kärnor per CPU-krets och det ska gå att skala upp till minst 32-sockets, 2TB RAM per socket etc. D.v.s. detta är samma typ av system som SGI UV siktar mot. Läser man om typiska användare av SGI UV hittar man t.ex. PayPal som verkar ha ett sådant system med ett par TB RAM som används som del i betalsystemet så man kör en gigantisk in-memory databas (dock inte fullt bestyckat till 64TB RAM, finns bara några enstaka sådana system i hela världen enligt SGI). Det handlar alltså om servers för många miljoner USD, men det är extremt få som säljs totalt sett.

Oracle har även stoppat in en hel del "acceleratorer" i HW i M-serien för att snabba upp databaslaster, vilket man också pushar hårt. Så ur den synvinkeln är den serien överhuvudtaget inte "general-purpose", det är specialdesignad HW för att köra Oracles databasprogramvara i gigantisk skala. Vet inte hur stor denna marknad är, men känns ändå som att nischar man sig så pass specifikt så borde man kunna få ihop något som är klart snabbare än vad IBM/Intel/AMD
kan erbjuda med system som är betydligt mer generella.

Rent microarkitekturmässigt är det samma CPU-design i T4,T5,M6 och M7, det är en design man kallar "S3" (kanske fila lite på namnen...).

Skrivet av Zotamedu:

Xeon Phi är faktiskt inte så svindyra som man kan tro. De ligger på 15 000-30 000 kr plus moms ungefär. Beroende lite på modell. De är billigare än Nvidias Tesla som kan gå på över 70 000 kr plus moms för K80 som typ är ett Titan X. K40 som typ är ett Titan Black går på strax över 40 000 kr plus moms.

Intel faktiskt en drive innan jul där man sålde ut en av de enklare modellerna för $200. Missade tyvärr helt denna drive, för $200 hade det varit värt att köpa ett bara för att leka med

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:

Det är sant att allt över dual-socket system är extrema nischprodukter, men det är helt fel att SGIs UV-serie inte kan användas till något annat än vetenskapliga beräkningar. Faktum är att få lär använda UV-serien som beräkningskluster då bl.a. SGI själva har andra produkter just för scale-out scenarion som ger betydligt högre beräkningskraft per Watt och krona, här finns t.ex. SGI ICE.

SGI UV är specifikt utvecklad just för saker som SAP och andra tillämpningar där man behöver ett cache-koherent system med massiv mängd RAM (finns UV-system i drift med upp till 64TB RAM) och massiv mängd CPU-kärnor. Vad man typiskt vill åt i dessa system är möjligheten att ha riktigt stora databaser helt eller till stor del i RAM.

Inte heller sant att det inte finns business benchmarks på SGI UV, tvärt om har dessa system visat sig kunna prestera bättre än något IBM och Oracle kunnat uppbringa, oavsett prislapp: SGI® Altix® UV 1000 World's Most Powerful Enterprise Java Application System.

Det som är kritiskt för enterprise-applikationer är att systemet skalas vertikalt (scale-up) och SGI UV skalar just på den ledden.

Men dessa båda benchmarks du länkar till, är ju klustrade HPC benchmarks. SAP HANA är en klustrad RAM databas. Kan du visa några affärssystem benchmarks som inte är klustrade, eller databas benchmarks som inte är klustrade? Nej, såna existerar inte på SGIs beräkningsservrar.

SPECjbb
http://www.itjungle.com/tfh/tfh071210-story02.html
some interesting clusters from ScaleMP, 3Leaf Systems, and Silicon Graphics.

http://www.scalemp.com/media-hub-item/scalemp-raises-the-bar-...
“ScaleMP is a leader in the High-Performance Computing space and will now, with this latest SPECjbb result, further raise the bar for commercial application performance and innovation,”

http://www.c0t0d0s0.org/archives/5937-BlueToTheBone,-Sun,-SGI...
You have to take into consideration, that SPECjbb2005 (configured with multiple JVMs) is one of the problems of the "embarrassingly parallel" class. You can scale it by running multiple copies. At the end they configured 128 JVMs. That's strange, exactly the number of blades. Thus given a resonable well working memory affinity logic (the reason why you need the ProPack in addition to the Linux on the system) the application didn't have to use the NUMAlink between the blades. The JVMs are working independent from each other, so no communication between the the nodes, too.

SAP Hana
SAP Hana är ju en klustrad databas. Från din egen länk:
To scale up the HANA system, you have to manage a cluster and partition the data across the nodes and this can impact performance and can make it tougher to manage.
Monolitisk mjukvara är alltid snabbare än klustrad mjukvara. Om du kör en klustrad databas på 64TB RAM eller en stor Unix server på 64TB RAM så är det ingen match mellan dem. En klustrad databas har stora problem med att upprätthålla dataintegritet, etc.

Här är det några som diskuterar scale-out system (dvs kluster) mot scale-up system, typ som IBM POWER8, Oracle SPARC, etc - dvs stora Unix servrar.
https://news.ycombinator.com/item?id=8175726
>Still don't understand why businesses buy [big SPARC M7 servers] instead of scaling-out [SGI 256-socket clusters]. Cost? Complexity?

>I'm not saying that Oracle hardware or software is the solution, but "scaling-out" is incredibly difficult in transaction processing. I worked at a mid-size tech company with what I imagine was a fairly typical workload, and we spent a ton of money on database hardware because it would have been either incredibly complicated or slow to maintain data integrity across multiple machines.

>Generally it's just that it's really difficult to do it right. Sometime's it's impossible. It's often loads more work (which can be hard to debug). Furthermore, it's frequently not even an advantage. Have a read of https://research.microsoft.com/pubs/163083/hotcbp12%20final.... Remember corporate workloads frequently have very different requirements than consumer.

Sen står det i länken jag postade, att SPARC M7 har en omdesignad kärna, inte S3, utan den heter S4 och är mycket kraftfullare. Så blanda inte in S3 cores när man pratar om SPARC M7. Ett av designbesluten till IBMs POWER6 cpu, var att "databaser körs bäst på starka trådar, därför har POWER6 få men starka trådar, dvs den är till främst för databaser, eftersom det är bättre med få starka trådar än många svaga". Så SPARC M7 som är designad för databaser, har alltså inte svaga trådar, utan tvärtom har den starka trådar (och kärnor).

Faktum kvarstår, Intels senaste cpuer är typiskt 5-10% snabbare för varje ny generation. IBM POWER8 är 2x snabbare än POWER7. Det är en rejäl prestanda förbättring det. Och jag hoppas AMD Zen cpu också blir minst dubbelt så snabb. Intel är ju sämst i klassen när det gäller innovation och förbättringar. Det går inte att överklocka en POWER7 lite och hålla jämna steg med IBMs senaste POWER8 cpu. Antagligen kommer du inte heller kunna överklocka AMDs gamla cpuer och hålla jämna steg med Zen cpun. Men ta en gammal Q6600 och överklocka den lite, och du är ikapp Intels senaste cpu. Det suger ju getp-ng utav Intel. Hur många generationer gammal är Q6600?

Permalänk
Medlem

Kan man använda en sådan här processor för att spela eller skulle det bara vara onödigt?

Visa signatur

There is grandeur in this view of life, with its several powers, having been originally breathed into a few forms or into one; and that whilst this planet has gone cycling on according to the fixed law of gravity, from so simple a beginning endless forms most beautiful and most wonderful have been, and are being, evolved.

Permalänk
Medlem

Det är skillnad på ett single-image system och ett kluster med höghastighetsnätverk – det förstnämnda kan köra ett OS på de där 256 socklarna. Fujitsu brukar kunna bygga både stora single-image system och mindre klusternoder på SPARC (varför jag säger Fujitsu är för att de gör sin egen SPARC64-cpu och dessutom säljer systemen under eget varumärke) medan Oracle nöjer sig traditionellt med scale-out. JVM är för övrigt inte klustrad, Hana kan köras på både kluster och single-image system och det finnas andra IMDB som tar nytta av single-image system också. In-memory databaser är ju bara en tillämpning. Det är såklart fortfarande ett scale-upsystem även om du kör flera instanser av en applikation.

Att Zen skulle vara mycket snabbare än Intel är inte ett rimligt antagande. Det är ju inget de behöver vara. Däremot är det inget mindre generationsskifte det handlar om på samma grundarkitektur – Intel bygger fortfarande vidare på Nehalem. Så vi bör givetvis kunna vänta oss mer än 5-10% jämfört med Steamroller. Teoretisk prestanda kommer gå upp mycket mer än siffrorna i vanliga benchmarks tack vare ny FPU och andra mikroarkitekturförändringar. Vid flertrådat bör det vara mycket bättre också. Dubbelt så hög IPC skulle göra den snabbare än Intel med marginal, men skillnaden mellan Power7 och Power8 är inte bara IPC utan siffran IBM ger är 60% snabbare. Samtidigt går IBM från 8 till 12 kärnor. Riktigt det ser vi inte. Intel är riktigt starka och redan med Nehalem kunde de tävla mot mid-rangesystemen på POWER och SPARC. En dual-core Intel för bärbara är snabbare än C2Q för dito så nog är det inte så dåligt som du vill ge det ett sken av.

Permalänk
Datavetare
Skrivet av MichaelJackson:

Men dessa båda benchmarks du länkar till, är ju klustrade HPC benchmarks. SAP HANA är en klustrad RAM databas. Kan du visa några affärssystem benchmarks som inte är klustrade, eller databas benchmarks som inte är klustrade? Nej, såna existerar inte på SGIs beräkningsservrar.

SPECjbb
http://www.itjungle.com/tfh/tfh071210-story02.html
some interesting clusters from ScaleMP, 3Leaf Systems, and Silicon Graphics.

http://www.scalemp.com/media-hub-item/scalemp-raises-the-bar-...
“ScaleMP is a leader in the High-Performance Computing space and will now, with this latest SPECjbb result, further raise the bar for commercial application performance and innovation,”

http://www.c0t0d0s0.org/archives/5937-BlueToTheBone,-Sun,-SGI...
You have to take into consideration, that SPECjbb2005 (configured with multiple JVMs) is one of the problems of the "embarrassingly parallel" class. You can scale it by running multiple copies. At the end they configured 128 JVMs. That's strange, exactly the number of blades. Thus given a resonable well working memory affinity logic (the reason why you need the ProPack in addition to the Linux on the system) the application didn't have to use the NUMAlink between the blades. The JVMs are working independent from each other, so no communication between the the nodes, too.

SAP Hana
SAP Hana är ju en klustrad databas. Från din egen länk:
To scale up the HANA system, you have to manage a cluster and partition the data across the nodes and this can impact performance and can make it tougher to manage.
Monolitisk mjukvara är alltid snabbare än klustrad mjukvara. Om du kör en klustrad databas på 64TB RAM eller en stor Unix server på 64TB RAM så är det ingen match mellan dem. En klustrad databas har stora problem med att upprätthålla dataintegritet, etc.

Här är det några som diskuterar scale-out system (dvs kluster) mot scale-up system, typ som IBM POWER8, Oracle SPARC, etc - dvs stora Unix servrar.
https://news.ycombinator.com/item?id=8175726
>Still don't understand why businesses buy [big SPARC M7 servers] instead of scaling-out [SGI 256-socket clusters]. Cost? Complexity?

>I'm not saying that Oracle hardware or software is the solution, but "scaling-out" is incredibly difficult in transaction processing. I worked at a mid-size tech company with what I imagine was a fairly typical workload, and we spent a ton of money on database hardware because it would have been either incredibly complicated or slow to maintain data integrity across multiple machines.

>Generally it's just that it's really difficult to do it right. Sometime's it's impossible. It's often loads more work (which can be hard to debug). Furthermore, it's frequently not even an advantage. Have a read of https://research.microsoft.com/pubs/163083/hotcbp12%20final.... Remember corporate workloads frequently have very different requirements than consumer.

Är inte expert på databaser, jobbar med OS-kärnor och middleware, men huvudpoängen var bara:
SGI-UV är inte ett kluster, det är ett ccNUMA-system precis som multisocket-system byggt på QPI, Bixby, HyperTransport etc. Jämför man NUMALink 6 med Bixby v1 så ger det förra ett system mer likt en massivt multicore krets då det absolut kritiska är kommunikationslatensen vilken är 50% högre i Bixby. Latensmässigt så ligger NUMALink 6 på ungefär samma nivå som QPI när detta används i 2/4-socket system (är något högre latens vid 8 sockets).

  • Scale-up: en cache-koherent adressrymd där skalning betyder mer resurser till en och samma OS-instans.

  • Scale-out: ett kluster med av flera icke cache-koherenta adressrymder där man typiskt kör OpenMPI eller liknande över hela systemet. Denna design ger långt mer perf/$ och även mer perf/W för arbetslaster som inte behöver en OS-instans på ett cache-koherent system.

Vad man sedan kör och framförallt vilka benchmarks som görs publika är ju upp till de företag som vill lägga pengar på det, faktum kvarstår att rent tekniskt är SGI-UV ett extremt skalbart ccNUMA-system.

Skrivet av MichaelJackson:

Sen står det i länken jag postade, att SPARC M7 har en omdesignad kärna, inte S3, utan den heter S4 och är mycket kraftfullare. Så blanda inte in S3 cores när man pratar om SPARC M7. Ett av designbesluten till IBMs POWER6 cpu, var att "databaser körs bäst på starka trådar, därför har POWER6 få men starka trådar, dvs den är till främst för databaser, eftersom det är bättre med få starka trådar än många svaga". Så SPARC M7 som är designad för databaser, har alltså inte svaga trådar, utan tvärtom har den starka trådar (och kärnor).

Sant, M6 körde med S3 men inte M7. Faktum kvarstår dock att det fortfarande handlar om samma dual-issue design i botten. Det man jobbat på är omstrukturering för att kunna öka antal kärnor per sockel, öka klockfrekvensen lite till samt högre intern bandbredd (fast det resulterade i mindre L2$ per CPU-kärna). Trots jobbet med cache så är L2$ bandbredd per CPU-kärna är i S4 ungefär hälften av vad Haswell har, d.v.s. matchar Sandy/Ivy Bridge.

Skrivet av MichaelJackson:

Faktum kvarstår, Intels senaste cpuer är typiskt 5-10% snabbare för varje ny generation. IBM POWER8 är 2x snabbare än POWER7. Det är en rejäl prestanda förbättring det. Och jag hoppas AMD Zen cpu också blir minst dubbelt så snabb. Intel är ju sämst i klassen när det gäller innovation och förbättringar. Det går inte att överklocka en POWER7 lite och hålla jämna steg med IBMs senaste POWER8 cpu. Antagligen kommer du inte heller kunna överklocka AMDs gamla cpuer och hålla jämna steg med Zen cpun. Men ta en gammal Q6600 och överklocka den lite, och du är ikapp Intels senaste cpu. Det suger ju getp-ng utav Intel. Hur många generationer gammal är Q6600?

När IBM säger att POWER8 är dubbelt så snabb som POWER7 så är det upp till dubbelt så snabb, Oracle/SUN är/var mästare på att få det att låta att man fått helt fantastiska prestandaförbättringar mellan generationer och att det var i det generella fallet när det alltid handlade om upp till i väldigt specifika fall. Jämfört en Core2 baserad Xeon med E5 v3: den senare har 5-6 gånger mer bandbredd mot L3$ än vad Core2 hade mot L1, det är över 20 gånger mer bandbredd mot L1 och det per kärna. Core2 Xeon lanserades som 2-kärnig, aggregerad intern L2$-bandbredd i en 18-kärnorns E5 v3 är runt 4TB/s mot ~20GB/s i Core2 Xeon.

Intels styrka sedan Core2 är deras cache-design och den har utvecklats enormt mellan varje "tock" (ny microarkitektur). IBM/Oracle har på pappret alltid rejält mycket mer bandbredd mot RAM än Intel i sina system, är därför saker som DDIO är så kritiskt på Xeon då det tillåter en stor del av I/O-lasten att undvika äta RAM-bandbredd. Att Cavium kunde kör med 32-kärnor på dual-channel DDR2 (och senare DDR3) var p.g.a. av liknande design där väldigt mycket av I/O hanterades till största i CPU-cache. DDIO gör det möjligt att köra DMA till/från cache, något som är kritiskt i en design som har relativt få trådar kontra mängden CPU-resurser per kärna. För att göra den obligatoriska billiknelsen kring minneshierarki på dessa CPUer, Intel har en 4-cylindrig motor med rejält fet kompressor, IBM har v8:a med massiv cylindervolym.

Om man jämför samma modell av Xeon E5, 2687W (som finns som Sandy Bridge, Ivy Bridge och Haswell) så är det väldigt enkelt att hävda att 2787W v3 är dubbelt så snabb som 2789W v2 då den förra har lite mer än dubbelt så mycket L1$ och L2$-bandbredd, den har ungefär dubbelt så mycket flyttalskapacitet (i praktiken är det mer än dubbelt då intern bandbredd inte riktigt räckte till för vissa AVX-laster), dubbelt så mycket heltalskapacitet för dataparallella laster (AVX2 mot SSE3/4) etc. Och detta är när man jämför flera generationer av motsvarande modell, toppmodellerna har ju fått fler CPU-kärnor, mer L3-cache, mer RAM-bandbredd, etc för varje generation.

Hur mycket bättre tror du POWER8 är än POWER7 på benchmarks som Kraken, 3Dmark etc? Det som spelar roll i de program vi kör på skrivbordet är hur många instruktioner man kan köra per tidsenhet på en CPU-tråd. Vi såg i Haswell att cache-bandbredd, flyttalskapacitet etc i praktiken inte påverkar dessa applikationer speciellt mycket, flaskhalsen är mängden parallellism som går att extrahera ur en enskild instruktionsström och mycket pekar på att dagens CPUer är väldigt nära den teoretiska maxgränsen Frågan är om någon annan ens slår Core2 i enkeltrådprestanda (Apples Cyclon har högre IPC än Core2, men inte tillräckligt mycket högre för att matcha Core2 vid 2.5-3GHz), att man ändå lyckats öka enkeltrådprestanda rätt mycket fram till Sandy Bridge är imponerande.

Edit (kollade upp lite vad IBM hävdar): IBM hävdar inte en "upp till" dubbla enkeltrådprestanda i POWER8 mot POWER7, vad man säger är att POWER8 kan ha "upp till" 2-2.5 gånger så hög prestanda per CPU-socket som tidiga POWER7. Då har man ökat antal CPU-kärnor från 8 till 12, antal trådar per kärna från 4 till 8 samt issue-width från 6 till 8. Enkeltrådprestanda per kärna uppskattas kliva upp med upp till 1.6 gånger enligt wikipedia.

Jämför det med 3D-rendering och andra beräkningsintensiva laster där man i praktiken får ungefär en fördubbling av prestanda per CPU-kärna mellan Ivy Bridge -> Haswell förutsatt att AVX och FMA (enbart Haswell) används. Issue-width är lurigt att jämföra mellan RISC och CISC, det är 5 x86 instruktioner men internt så gick IvyBridge från max 6 micro-ops per cykel till 8 micro-ops per cykel i Haswell (d.v.s. väldigt snarlikt POWER7->POWER8 då micro-ops är väldigt lik typiska RISC-instruktioner).

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

Vad det gäller JVM så är ju detta vad vi vet. (Altix 4700 är en annan maskin än just den Yoshman länkade)

Köra mer än en nod gör skillnad, även med bara en JVM. 128 JVMs där är ju 4 per socket eller 8 per blad för övrigt.

Citat:

Altix UV 1000 championed its nearest competitors in two important metrics: ultimate throughput (Business Operations per second or BOPS) and Single Java Virtual Machine (JVM) performance. Complete SPECjbb2005 results are posted at www.spec.org.

  • SGI Altix UV 1000, with 256 cores and 128 JVMs, beat ScaleMP, its nearest competitor, by 82 percent in Java performance with throughput of 12,665,917 BOPS using Oracle JRockit.

  • SGI Altix UV 1000, with 256 cores, beat Fujitsu/Sun, its nearest competitor, by 60 percent with a single Oracle Java HotSpot JVM performance of 2,818,350 BOPS.

In addition, SGI Altix UV 1000 with only 48 cores running a single Oracle Java HotSpot JVM attained 1,080,399 BOPS, the smallest configuration that achieved a throughput higher than a million BOPS.

https://www.sgi.com/company_info/newsroom/press_releases/2010...

HANA på UV säger de detta om.

Citat:

MILPITAS, CA — October 16, 2014 — SGI (NASDAQ: SGI), a global leader in high performance solutions for compute, data analytics, and data management and an SAP® global technology partner, today introduced SGI® UV™ for SAP HANA®. It is a purpose-built, in-memory computing appliance for growing environments running the SAP HANA platform. SAP-certified and available today as a 4- or 8-socket single-node system with up to 6 terabytes (TB) of in-memory computing, SGI's new appliance is designed to enable the largest enterprises to achieve real-time operations and business breakthroughs with SAP HANA at extreme scale, helping to lower cost of ownership, while providing business continuity.

SGI UV for SAP HANA utilizes a unique scale-up, single-node architecture designed to deliver performance at unprecedented platform capacities. The simplicity of a single-node will allow enterprises to run applications free from the overhead of clustered appliances and reduce installation time—there are no cluster nodes, cluster network, or SAN to configure and administer. And there will not be a need for database partitioning or re-balancing I/O when increasing the size of the SGI appliance. Operational costs are reduced, high availability is streamlined, and capacity can be increased seamlessly with near-linear performance.

https://www.sgi.com/company_info/newsroom/press_releases/2014...

Tittar man på deras press-releaser så ser man att Skoda exempelvis kör både ICE X kluster och UV 2000 och båda främst används för CFD, men anledningen att köpa ett UV-system är såklart cache-koherent minne eller att du har väldigt mycket minne i samma system. I fall där kluster är bättre erbjuder de ju detta. Bland annat med Infiniband.

Permalänk
Medlem
Skrivet av MatsSvensson:

2017?
Så den kommer att sitta i flygande bilar och robotbetjänter?

Enligt Doc Emmet Brown och McFly så skulle detta komma redan 2015... jag letar fortfarande efter flygande taxibilarna.

OnT: AMD behöver kapitalet, så det är bra om de kan göra en bra server CPU.
Med tanke på att många grova beräkningar kan göras på GPU betydligt snabbare än CPUn, så är detta nog en bra sak, om man kan trycka in några av dessa i ett beräkningskluster.

Ang spelarna här, om AMD får kapitalet från dessa, så kanske de kan trycka ut en mer spel-inriktad CPU. Och ärligt, jag hade gärna sett en kompetent AMD APU med riktig grafikkortsprestanda även till enklare spelmaskiner.

Varför lägga ut pengar på en i5a (som med DX12 knappt behövs) och ett litet diskret GPU kort (tänk 960-630 eller 260x-235 GPUer), när du kan köpa en APU och få kanske prestandan av ett 280/770 kort eller mer med 4+ kärnor som fungerar kanon med DX12 och även kan dela minnet som konsolerna kan och få ut mer prestanda.
Kan bli rätt bra deal för allt low-mid end inom alla PC. Kanske tom kan konkurrera bra mot mid-high end.

Permalänk
Skrivet av Petterk:

Det är skillnad på ett single-image system och ett kluster med höghastighetsnätverk – det förstnämnda kan köra ett OS på de där 256 socklarna.

Det är inte så stor skillnad mellan dem. T.ex. ScaleMP som blir slagen utav SGI UV1000 på SPECjbb i din länk, är ju ett kluster. ScaleMP kör vSMP, dvs virtuell SMP, dvs det är en hypervisor som körs ovanpå ett kluster. Hypervisorn lurar Linux kernel till att ScaleMP är en enda stor scale-up maskin, men i själva verket är det ett kluster med massa små noder. Och då kan man köra en single image Linux kernel på ScaleMP beräkningsklustret. ScaleMP är ju "leader within High Performance Computing" som de själva säger. Dvs, HPC är ju beräkningskluster. Och ingen kan köra monolitisk mjukvara på HPC kluster. Det skulle bli urdåliga prestanda, pga monolitisk affärssystem branchar koden jättemycket, och latensen mellan noderna långt ifrån varandra i ett kluster skulle ställa till det. Det enda som kan köras på ScaleMP, är embarassingly parallel mjukvara, dvs kod där det är endast lite kommunikation mellan noderna, typ som SETI@home, eller SPECjbb, etc - dvs beräkningar där man portionerar ut lite beräkningar mellan varje nod, och sen när man är klar med beräkningarna så sammanställer man alla data. Så kommunikationen minimeras. Men i ett stort affärssystem som SAP (inte Hana) så kommuniceras det mycket, och det går inte att göra på ett distribuerat system med noder utspridda långt bort, med dålig topologi.

Idealt ska varje CPU ha minst en direktkanal till varje annan CPU. Så om du har 2, 4 eller 8 st cpuer, så kan det se ut så här:
http://regmedia.co.uk/2012/09/03/oracle_sparc_t5_coherency.jp...
Vi ser att med 2 cpuer, så är det 4 direktkanaler mellan cpuerna. Och med 8 cpuer så är det 28 direktkanaler mellan cpuerna. Föreställ dig ormboet av direktkanaler ifall du har 16 eller 32 cpuer! Det blir mycket komplicerat och rörigt att få ordning på det. Enligt kombinatorik så behöver du n! / 2*(n-2)! direktkanaler med n cpuer. Så med 32 cpuer skulle du ha 496 direktkanaler mellan varje cpu. Men helst ska du ha flera direktkanaler så du får upp bandbredden ordentligt. Det är inte lätt att bygga en stor scale-up server med så många kanaler som 496 stycket. Det man gör istället i praktiken, är att man grupperar ihop cpuerna, så att man kanske har 8 st grupper om 4 cpuer i varje. Också har man en fet kanal mellan varje 4-grupp cpuer. Som den här IBM POWER8 servern med fyra cpuer.
http://2eof2j3oc7is20vt9q3g7tlo5xe.wpengine.netdna-cdn.com/wp...
Men idealt är att varje cpu ska vara kopplad till varandra. Så det borde gå många fler pilar ut från denna 4-grupp av POWER8 cpuer, totalt borde det vara 120 pilar (eftersom POWER8 skalar upp till 16 cpuer maximalt, och då blir det 120 direktkanaler mellan varje cpu). Så vi ser att POWER8 kommer ha problem med scale-up. Den skalar inte så väl, ju fler cpuer vi lägger till, desto sämre blir kommunikationen mellan varje cpu. Och 16 cpuer är maxgränsen för IBMs största POWER8 server som heter E880.

Om du då har 256 cpuer som alla är kopplade till varandra, så behöver du nästan 35,000 direktkanaler mellan alla cpuer. Och det inser man att det funkar inte. Så SGI och ScaleMP tar ordentliga genvägar. De har stora grupper, inte om 4 cpuer i varje, utan mycket större grupper, och hierarkier av cpu grupper. Och då blir bandbredden mellan varje cpu blir mycket dålig, t.ex. om cpu nr 67 ska kommunicera massivt med cpu nr 239, så finns inte tillräckligt många kanaler, speciellt som alla andra cpuer ska samsas. Kommunikationen mellan 67 och 239 får ta massa omvägar, ut på de stora breda motorvägarna. Och till slut kan kommunikationen ta in på smågator för att nå fram till nr 239. Så de stora motorvägarna har gott om bandbredd, men latensen får även stryka på foten, och det är ju latensen som är viktig när det gäller monolitisk mjukvara. Du kan få god bandbredd eller dålig latens, eller tvärtom. Du kan inte få båda samtidigt.

Så man inser varför det blir stora problem att köra monolitisk mjukvara på något som har fler cpuer än 16 (som IBM också anser i E880). När du har stora motorvägar mellan grupper av cpuer, så blir det många omvägar. Om istället varje cpu är kopplade till varandra så blir det mycket snabbare, och du kan köra monolitisk mjukvara upp till typ 16 cpuer (som IBM tycker). Men inte mycket större scale-up servrar än så kan du bygga effektivt. Det är helt uteslutet att du skulle kunna bygga en effektiv scale-up server med 64 cpuer eller 96 cpuer eller större. Allt som är större än så, är någon form av fusk inblandat, så det blir stora grupper av cpuer och latensen mellan noder långt ifrån varandra blir dålig. Dvs, vi har ett kluster i praktiken. Och det märker man på att dessa stora SGI och ScaleMP servrar, aldrig kör scale-up benchmarks. Tex. finns det inga SAP, TPC, etc benchmarks på dem. Och nu när vi förstår mer om problematiken om kopplingarna mellan cpuerna, så inser vi varför de aldrig kan köra scale-up monolitisk mjukvara. Sen kan man förstås skriva distribuerad mjukvara till den, såsom t.ex. SAP Hana klustrade databaser. Men de kan aldrig konkurrera med en scale-up maskin. Om du har en 32 cpu scale-out server vs en 32 cpu scale-up server så kommer alltid scale-up servern vinna.

Dessutom, om man läser lite om SGIs servrar, dvs Altix, UV1000, UV2000, etc - så har de alla en MPI enhet. MPI används endast inom klustrade beräkningar. Scale-out saker. T.ex. IBM E880 har ju ingenting för att underlätta MPI trafik därför att E880 är inte någon scale-out server. MPI används endast inom klustrade vetenskapliga beräkningar. Det finns ingen databas eller monolitisk mjukvara som använder sig av MPI. Ska du börja använda MPI så måste du skriva om affärssystemen så de blir klustrade, och genast börjar du få problem med lås, synkronisering, rollback, etc.

Citat:

Hana kan köras på både kluster och single-image system och det finnas andra IMDB som tar nytta av single-image system också. In-memory databaser är ju bara en tillämpning. Det är såklart fortfarande ett scale-upsystem även om du kör flera instanser av en applikation.

Om du inte kör Hana som ett kluster, så får du stanna vid 8 cpuer. Det går inte större konfigurationer med single node. Vill du gå över 8 cpuer, så måste du köra kluster. Och då blir prestandan relativt sämre, än en stor single node konfiguration.

Från PetterKs länk:
Hana SAP-certified and available today as a 4- or 8-socket single-node system with up to 6 terabytes (TB) of in-memory computing,

SGI UV for SAP HANA utilizes a unique scale-up, single-node architecture designed to deliver performance at unprecedented platform capacities. The simplicity of a single-node will allow enterprises to run applications free from the overhead of clustered appliances and reduce installation time—there are no cluster nodes, cluster network, or SAN to configure and administer. And there will not be a need for database partitioning or re-balancing I/O when increasing the size of the SGI appliance.

Citat:

Att Zen skulle vara mycket snabbare än Intel är inte ett rimligt antagande. Det är ju inget de behöver vara. Däremot är det inget mindre generationsskifte det handlar om på samma grundarkitektur – Intel bygger fortfarande vidare på Nehalem.

Jomen Zen kommer vara mycket snabbare än AMDs föregångare tror jag. Jag tror inte det är möjligt att överklocka Zens föregångare, och nå upp till Zen prestanda. Men det kan du göra med Intels Q66600. Vad säger det dig om Intels cpuer? När en gammal generation cpu är lika snabb som de senaste? Då är det inte vidare lyckat? Men hur ska man t.ex. matcha Zens beräkningsdel, med föregångscpun? Jag tror Zen kommer att vara mycket snabbare än allt Intel har, speciellt om man börjar använda grafikdelen. Intel kan inte matcha det.

Skrivet av Yoshman:

Är inte expert på databaser, jobbar med OS-kärnor och middleware, men huvudpoängen var bara:
SGI-UV är inte ett kluster, det är ett ccNUMA-system precis som multisocket-system byggt på QPI, Bixby, HyperTransport etc. Jämför man NUMALink 6 med Bixby v1 så ger det förra ett system mer likt en massivt multicore krets då det absolut kritiska är kommunikationslatensen vilken är 50% högre i Bixby. Latensmässigt så ligger NUMALink 6 på ungefär samma nivå som QPI när detta används i 2/4-socket system (är något högre latens vid 8 sockets).

Visst, det låter bra det du säger. Men kan du presentera någon ickle klustrad benchmark som kör monolitisk mjukvara (inte klustrad databas SAP Hana, för klustrade databaser har massa andra problem som jag inte vill gå in på)? Nej, såna existerar inte. Om du läser runt lite, så ser du att alla kunder kör någon form av klustrad mjukvara. Och om du läst det ovan om cpuer som vill ha många datakanaler, så inser du varför ingen kör monolitisk mjukvara som branchar mycket på kluster. Kluster kan köra mjukvara som inte branchar mycket, som inte kommunicerar mycket mellan cpuer - typ Hana. Ingen kör typ TPC eller SAP eller nåt sånt, på dessa nischade beräkningsservrar. Jag läste om några andra som försökt spara pengar och slippa köpa en stor Unix server med 16cpuer, så de började utveckla egen transaktionsintensiv mjukvara över ett tight kluster. Förhoppningen var att de skulle skala upp och få grymma prestanda och sälja det med stor förtjänst, eftersom det inte fanns något sådan mjukvara på marknaden. De spenderade mycket tid och pengar, men det blev väldigt knöligt till slut med alla lås, rollback vid ej commit, dataintegritet, etc etc. Det slutade med att de köpte en stor Unix server istället. Det var mycket svårare än de trodde när de började grotta ned sig i detaljer. Översiktligt verkade det enkelt och straightforward, men detaljerna dödade hela projektet. Det finns en anledning att det fortfarande inte finns någon bra klustrad mjukvara inom just det transaktionsintensiva segmentet, än idag. Om det vore enkelt skulle alla göra det, och det skulle inte finnas någon marknad för stora dyra Unix servrar.

Citat:

Frågan är om någon annan ens slår Core2 i enkeltrådprestanda (Apples Cyclon har högre IPC än Core2, men inte tillräckligt mycket högre för att matcha Core2 vid 2.5-3GHz), att man ändå lyckats öka enkeltrådprestanda rätt mycket fram till Sandy Bridge är imponerande.

Har du kollat IBMs POWER8? Just POWER skryter med att ha bäst trådad prestanda av alla.

Skrivet av Petterk:

Vad det gäller JVM så är ju detta vad vi vet. (Altix 4700 är en annan maskin än just den Yoshman länkade)

SGI Altix är föregångaren till UV1000 och UV2000. Det är samma server, med vissa förbättringar.

Citat:

Tittar man på deras press-releaser så ser man att Skoda exempelvis kör både ICE X kluster och UV 2000 och båda främst används för CFD, men anledningen att köpa ett UV-system är såklart cache-koherent minne eller att du har väldigt mycket minne i samma system. I fall där kluster är bättre erbjuder de ju detta. Bland annat med Infiniband.

Det finns en anledning till att både SGI och ScaleMP används främst för CFD och andra beräkningar - de är beräkningsservrar. De kör främst mjukvara som påminner om SETI@home. Ingen kör ERP affärssystem på SGI eller ScaleMP beräkningservrar, latensen skulle bli för dålig.

Permalänk
Datavetare
Skrivet av MichaelJackson:

Om du inte kör Hana som ett kluster, så får du stanna vid 8 cpuer. Det går inte större konfigurationer med single node. Vill du gå över 8 cpuer, så måste du köra kluster. Och då blir prestandan relativt sämre, än en stor single node konfiguration.

Diskussionen blir meninglös när du verkar ha en definition av "kluster" som skiljer sig från resten av världen. Man kan köra en databas som är designad så att den även fungerar på ett kluster på ett ccNUMA-system, men det gör inte underliggande HW till ett kluster.

Kluster är icke cache-koherent system där man har någon form av nätverk (InfiniBand, snabbt Ethernet eller liknande) mellan noderna, skalning av detta kallas "scale out".

Har man ett single-image system måste det vara cache-koherent, alla moderna multi-socket system har olika kostnad till olika delar av RAM (även SPARC). Denna typ av system kallas cache-coherent NUMA och skalning av detta kallas "scale-up".

Notera att jag inte hävdar att POWER8/SPARC M7 system är överlägsen QPI/NUMALink i vissa lägen, de två första har rejält mycket mer bandbredd mellan sockets och en sådan design är vettig då de har upp till 8 trådar per CPU-kärna -> mycket lägre prestanda per tråd -> går att hantera mycket högre latens -> är inte lika illa att ha laster där data ofta ligger på icke-lokal NUMA-nod. Designar man prestandakritisk programvara för Xeon multisocket-system är det i de flesta fall design-bug att skapa programvara som regelmässigt använder RAM från "fel" NUMA-nod (Linux-kärna har massa logik för att se till att undvika detta för applikationer som inte specifikt känner till NUMA). Kan mycket väl vara så att det finns rimliga anledningar till att just relationsdatabaser, Oracle levebröd, ofta vill dra data över NUMA-zoner och då är POWER8/SPARC M7 en bättre design. Men vi pratar i så fall om en smal nisch (gigantiska databaser) inom nischen relationsdatabas-servers, tror en CPU-tillverkare som missar just den marknaden klara sig ändå...

Använder man systemet som man typiskt programmerar högpresterande SMP-system så är latens mellan kärnor mycket viktigare bandbredd, i det läget är SGI-UV en av de bästa massiva SMP-system du hittar. Att fixa låg latens är ett svårare problem att lösa än fixa hög bandbredd, det förra är idag klart begränsat av ljusets hastighet, det senare kräver bara mer transistorer och fler ledningar.

Skrivet av MichaelJackson:

Har du kollat IBMs POWER8? Just POWER skryter med att ha bäst trådad prestanda av alla.

Och det har jag inte sagt emot, däremot har Intel bäst enkeltrådprestanda med bred marginal vilket är långt mer relevant för "vanliga" datorer och även en lång rad saker man gör på servers.

POWER8 har klart högre prestanda per fysisk kärna när den fullt ut använder alla 8 trådar, Intel är här begränsad både av 2 trådar per CPU-kärna (många CPU-trådar är ett utmärkt sätt att "gömma" load-to-use latens) och lägre bandbredd mot RAM. Fall när POWER8 effektivt använder alla CPU-trådar så kommer den dra nytta av sin brutala bandbredd mot RAM som är ca 3 gånger högre än vad Haswell baserade Xeons har.

Har inte orkat läsa igenom alla benchmarks själv, men sett en sammanställning där en 12-kärnorns POWER8 jämförs mot en 18-kärnors Xeon E5 v3. Resultatet beror väldigt mycket på last, handlar det om saker som förlitar sig på beräkningskapacitet på relativt få CPU-trådar eller där cache-hit-rate är väldigt hög så är Xeon 2-3 gånger snabbare. Handlar det om saker som sällan träffar cache och där man använder massiv mängd data från RAM så är POWER8 2-3 gånger snabbare tack vare långt fler CPU-trådar och mycket högre RAM-bandbredd.

Du får däremot svårt att hitta något du gör på din skrivbordsdator där POWER8 kan matcha Haswell, de är helt enkelt optimerade för lite olika arbetslaster. Huvudvärken för Oracle är väl att x86 är mycket billigare och för tillfället kan man inte matcha POWER8 i scenarion där massiv bandbredd är en fördel, ser inte ut att man gör det med kommande M7 heller.

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

Hopplöst tydligen. Så vitt jag ser så är SGI UV 300H single-node upp till 32 processorer med NUMA. Det betyder två chassin/blad med 4P vardera i den certifierade lösningen. Ett sådant system fungerar inte utan NUMAlink. De kallar ibland dessa system super-node.

Med den definitionen blir ett system med en processor med t.ex. en 16-kärnor AMD som kör MCM ett kluster även om du så sitter och lirar Far cry på den. Där kör du en NUMA-aware Hypertransportbus mellan processorerna. Trotts att de sitter på samma förpackning, i samma sockel och t.o.m. kör samma BIOS/UEFI. Du har två NUMA-zoner i en sådan processor. MPI kan du köra på alla system med fler än en tråd, men med en scale-uplösning fungerar vanliga trådar också. Du har nytta av MPI på system med delat minne också. Bandbredden mellan processorerna är inte obegränsad. Det finns mycket som är snabbare att hålla per socket och det gäller vanliga QPI och Hypertransportsystem också.

Altix 4700 är ett Itanium-system med föregående version Numalink. Du hade på UV1000 siffror på applikationer som körs i en enda instans. Sen är vSMP en hybrid, men andra scale-outlösningar oavsett om det är x86, Power, Sparc eller något annat kan inte köra SSI. Tekniskt sett är inte vSMP ett och samma system heller. De löser det hela i mjukvara med mellanlager. Tittar du på top500.org så ser du inte ScaleMP någonstans. Däremot ser du IBM, SGI ICE X, Cray, Fujitsu o.s.v. på SPARC, POWER, x86 med både Opteron och Xeon. Samt inga scale-upsystem.

Q6600 matchar inte en 4-kärnor Haswell. En 4790K har dubbla prestandan över C2E-QX9770 i entråds Cinebench R10 exempelvis, mer än dubbla i flera trådar. Du kan inte överklocka en Kentsfield så mycket att du kan matcha. Dessutom blir du omsprungen ännu mer om du använder modern mjukvara som drar nytta av AVX. Du verkar mest vilja misstolka saker.

Permalänk
Medlem
Skrivet av MichaelJackson:

Det är inte så stor skillnad mellan dem. T.ex. ScaleMP som blir slagen utav SGI UV1000 på SPECjbb i din länk, är ju ett kluster. ScaleMP kör vSMP, dvs virtuell SMP, dvs det är en hypervisor som körs ovanpå ett kluster. Hypervisorn lurar Linux kernel till att ScaleMP är en enda stor scale-up maskin, men i själva verket är det ett kluster med massa små noder. Och då kan man köra en single image Linux kernel på ScaleMP beräkningsklustret. ScaleMP är ju "leader within High Performance Computing" som de själva säger.

http://www.spec.org/jbb2005/results/res2010q1/jbb2005-2010030...

vs

https://www.spec.org/jbb2005/results/res2010q3/jbb2005-201006...

eller flera instanser

http://www.spec.org/jbb2005/results/res2010q1/jbb2005-2010030...

Permalänk
Medlem
Skrivet av Fakkahe:

Låter för bra för att vara sant

Självfallet!
Källa: Fudzilla.

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Medlem
Skrivet av Arzei:

Låter ju lovande faktiskt. TDPn lär ju bli kul med den prestandan, men det kanske inte är den typen av kunder de är ute efter anyway.

Varför har ingen byggt "reverse hyper-threading" så att flera kärnor kan arbeta med samma tråd istället för tvärtom? Skulle ju vara ett paradigmskifte för applikationer som inte går att tråda på vettigt sätt.

Till viss del så kan man nog enkelt säga att det redan är gjort, för hur kan man annars få igenom flera instruktioner per klockcykel?

Men förstår din tanke mycket väl = 16 kärnor med "reverse hyper-threading" skulle teoretiskt då ge 16 gånger högre ips i entrådig applikation...

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Medlem
Skrivet av Fakkahe:

För detta är en indikation på att AMD håller på att utveckla en väldigt bra arkitektur

Med mycket av allt? Låter för mig som en Dr. Oetker, extra mycket av allt. Men inte smakar den bättre....

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Medlem
Skrivet av Aleshi:

Alltså, detta är identiskt med ryktet för ett par veckor sedan bara det att Fudzilla gjort en liten slide över det för att göra det mer trovärdigt. Lägg inte för mycket tilltro till detta. Det blir väldigt mycket L3 om man dessutom ska få plats med en monster GPU. Visst 14nm i all ära, men känns lite väl uppfläskat.

Källa: Fudzilla.
Så visst, dom brukar fläska på som ett ständigt skrammel av koppar på kafferep.

Fudzilla ligger i kategori skämtsidor i min webläsare...

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Medlem
Skrivet av Fakkahe:

Bulldozer va ett helt nytt koncept, SMT har bevisats att vara bättre. Tror även att AMD har lärt sig utav sina misstag.

Ja, även för marknadsavdelningen som inte förstod skillnaden.
Buldozer var ju från ingenjörernas sida endast 4-kärning med 8-trådar där varje tråd kunde nå nära 100% nyttjande även i inte stremad media.

I SMT så är det sällan att andra tråden når över 70% nyttjande, ser inte att det är så mycket bättre.
Men får dom puttsat till och ökat ips så kan det bli något, om inte så blir det väll monster med 16 kärnor som gäller även om dom aldrig blir nyttjade under prollens livstid.

I vilka normala skrivbords applikationer har man nytta av SMT?

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Medlem
Skrivet av Grönahunden:

när kommer det en Quad core som kan mäta sig mot i5/i7 ?
300TDP och 16 kärnor är ju knappast något för en spelburk ?

För att denna är avsedd för "HPC", kanske

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Datavetare

http://www.c0t0d0s0.org/archives/5937-BlueToTheBone,-Sun,-SGI...
You have to take into consideration, that SPECjbb2005 (configured with multiple JVMs) is one of the problems of the "embarrassingly parallel" class. You can scale it by running multiple copies. At the end they configured 128 JVMs. That's strange, exactly the number of blades. Thus given a resonable well working memory affinity logic (the reason why you need the ProPack in addition to the Linux on the system) the application didn't have to use the NUMAlink between the blades. The JVMs are working independent from each other, so no communication between the the nodes, too.

Har haft tid igår kväll att läsa alla dina länkar. Hur kommer det sig att Oracle/SUN envisas med att peka på resultat från SPECjbb2005 är så värdelöst?

Och sedan har faktiskt SGI-UV resultaten två väldigt olika konfigurationer beroende på om de vill jämföra sig med ScaleMP (kluster) eller Fujitsu/Sun (ccNUMA).

Som du redan klistrat in, kör man ett kluster eller ett system som är ccNUMA men med väldigt hög latens mellan NUMA-zoner (t.ex. ScaleMP) så fungerar det bara om saker är helt oberoende och därför "At the end they configured 128 JVMs". Att köra helt oberoende instanser av program är snabbare på alla typer av system, vare sig det är kluster eller ccNUMA.

Så när man vill jämföra sig med ScaleMP så kör man med samma konfiguration
SGI Altix UV 1000, with 256 cores and 128 JVMs, beat ScaleMP, its nearest competitor, by 82 percent in Java performance with throughput of 12,665,917 BOPS using Oracle JRockit.

ccNUMA är mycket dyrare och har även sämre maximal beräkningskapacitet än ett kluster och är då bara vettigt om man verkligen behöver koherens mellan CPU-kärnor och en enskild adressrymd, finns en väldigt bra anledning till varför GPUer inte är cache-koherenta över sina tusentals "kärnor", framförallt när problemet man främst vill lösa inte kräver koherens (en av de största misstagen Intel gjorde med Larrabee var att försöka bygga en cache-koherent GPU, den designen passar däremot GPGPU-området bra vilket visat sig i framgångarna för Xeon Phi).

Men SGI fattar att ska man jämföra sig med ett stort ccNUMA SPARC-system så lär man köra samma konfiguration
SGI Altix UV 1000, with 256 cores, beat Fujitsu/Sun, its nearest competitor, by 60 percent with a single Oracle Java HotSpot JVM performance of 2,818,350 BOPS.

Även om SPECjbb2005 problemet på hög nivå är "embarrassingly parallel" så betyder en enda JVM-instans att det finns interaktioner mellan alla de trådar som körs, om inte annat i form av GC. Att SGI-UV presterar bättre i en sådana konfiguration visar att deras snack om lång latens över NUMALink inte är skitsnack, 60% kanske inte ens är speciellt mycket slump utan flaskhalsen i detta fall kan mycket väl vara cache-koherensprotokollet mellan CPU-sockets som teoretiskt sett verkar vara 50% högre i Bixby v1 jämfört med NUMALink 6.

Tråden du länkade kring scale-out sa inte speciellt mycket vettigt om just det, däremot fanns bra insikt kring irrelevansens kring att hävda att RISC är bättre för scale-up p.g.a av enklare design. Var ju flera som påpekade att moderna CPU-kärnor dedikerad en väldig liten andel transistorer till själva beräkningsdelen av CPUn, så RISC/CISC är på det stora hela irrelevant ur den synpunkten. CISC har den stora fördelen att vara kompaktare (samma program tar minne utrymme), något som syns väldigt bra på ARM.

ARM har idag 3 olika instruktionsuppsättningar, "vanliga" instruktioner för 32-bitar, instruktioner för 64-bitar samt Thumb2 som är en kompakt form för 32-bitars med lite mer komplicerat format (instruktioner kan vara 2- eller 4-bytes och en del andra tricks för att få ner storleken). Väldigt ofta är Thumb2 det som presterar bäst i praktiken och t.ex. Linux (inklusive Android) kör därför Thumb2 som "normal-läge".

D.v.s. komplexare instruktioner i CISC är irrelevant givet dagens cache-storlekar och på en server CPU finns även massor med kisel för I/O som gör den delen än mer irrelevant. CISC ger kompaktare kod och därmed lägre bandbreddskrav på front-end och högre utnyttjande av I-cache. Å andra sidan är PowerPC/POWER den bästa ISA som designats, så en del tar IBM igen där men ISA betyder långt mindre än mikroarkitektur och mängd arbete som läggs på kompilatorer/JIT för en viss ISA.

Här har AMD en del att lära (de har dock problem med resurser), både Intel och IBM lägger massor med resurser på projekt som Linux-kärnan, GCC, OpenMP, OpenJDK etc för att ser till att saker man stoppas in i HW och utnyttjas i praktiken. Spelar ingen roll hur bra en APU är i teorin om det inte finns enkla sätt att använda det i praktiken.

Visa signatur

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

Permalänk
Datavetare
Skrivet av MichaelJackson:

http://www.c0t0d0s0.org/archives/5937-BlueToTheBone,-Sun,-SGI...
You have to take into consideration, that SPECjbb2005 (configured with multiple JVMs) is one of the problems of the "embarrassingly parallel" class. You can scale it by running multiple copies. At the end they configured 128 JVMs. That's strange, exactly the number of blades. Thus given a resonable well working memory affinity logic (the reason why you need the ProPack in addition to the Linux on the system) the application didn't have to use the NUMAlink between the blades. The JVMs are working independent from each other, so no communication between the the nodes, too.

Har haft tid igår kväll att läsa alla dina länkar. Hur kommer det sig att Oracle/SUN envisas med att peka på resultat från SPECjbb2005 är så värdelöst?

Och sedan har faktiskt SGI-UV resultaten två väldigt olika konfigurationer beroende på om de vill jämföra sig med ScaleMP (kluster) eller Fujitsu/Sun (ccNUMA).

Som du redan klistrat in, kör man ett kluster eller ett system som är ccNUMA men med väldigt hög latens mellan NUMA-zoner (t.ex. ScaleMP) så fungerar det bara om saker är helt oberoende och därför "At the end they configured 128 JVMs". Att köra helt oberoende instanser av program är snabbare på alla typer av system, vare sig det är kluster eller ccNUMA.

Så när man vill jämföra sig med ScaleMP så kör man med samma konfiguration
SGI Altix UV 1000, with 256 cores and 128 JVMs, beat ScaleMP, its nearest competitor, by 82 percent in Java performance with throughput of 12,665,917 BOPS using Oracle JRockit.

ccNUMA är mycket dyrare och har även sämre maximal beräkningskapacitet än ett kluster och är då bara vettigt om man verkligen behöver koherens mellan CPU-kärnor och en enskild adressrymd, finns en väldigt bra anledning till varför GPUer inte är cache-koherenta över sina tusentals "kärnor", framförallt när problemet man främst vill lösa inte kräver koherens (en av de största misstagen Intel gjorde med Larrabee var att försöka bygga en cache-koherent GPU, den designen passar däremot GPGPU-området bra vilket visat sig i framgångarna för Xeon Phi).

Men SGI fattar att ska man jämföra sig med ett stort ccNUMA SPARC-system så lär man köra samma konfiguration
SGI Altix UV 1000, with 256 cores, beat Fujitsu/Sun, its nearest competitor, by 60 percent with a single Oracle Java HotSpot JVM performance of 2,818,350 BOPS.

Även om SPECjbb2005 problemet på hög nivå är "embarrassingly parallel" så betyder en enda JVM-instans att det finns interaktioner mellan alla de trådar som körs, om inte annat i form av GC. Att SGI-UV presterar bättre i en sådana konfiguration visar att deras snack om lång latens över NUMALink inte är skitsnack, 60% kanske inte ens är speciellt mycket slump utan flaskhalsen i detta fall kan mycket väl vara cache-koherensprotokollet mellan CPU-sockets som teoretiskt sett verkar vara 50% högre i Bixby v1 jämfört med NUMALink 6. Man ser att detta resultat är mycket lägre än fallet som lämpar sig för kluster, trots lika många CPU-kärnor, något som är helt väntat (och visar varför Larrabee var en dålig design).

Tråden du länkade kring scale-out sa inte speciellt mycket vettigt om just det, däremot fanns bra insikt kring irrelevansens kring att hävda att RISC är bättre för scale-up p.g.a av enklare design. Var ju flera som påpekade att moderna CPU-kärnor dedikerad en väldig liten andel transistorer till själva beräkningsdelen av CPUn, så RISC/CISC är på det stora hela irrelevant ur den synpunkten. CISC har den stora fördelen att vara kompaktare (samma program tar minne utrymme), något som syns väldigt bra på ARM.

ARM har idag 3 olika instruktionsuppsättningar, "vanliga" instruktioner för 32-bitar, instruktioner för 64-bitar samt Thumb2 som är en kompakt form för 32-bitars med lite mer komplicerat format (instruktioner kan vara 2- eller 4-bytes och en del andra tricks för att få ner storleken). Väldigt ofta är Thumb2 det som presterar bäst i praktiken och t.ex. Linux (inklusive Android) kör därför Thumb2 som "normal-läge".

D.v.s. komplexare instruktioner i CISC är irrelevant givet dagens cache-storlekar och på en server CPU finns även massor med kisel för I/O som gör den delen än mer irrelevant. CISC ger kompaktare kod och därmed lägre bandbreddskrav på front-end och högre utnyttjande av I-cache. Å andra sidan är PowerPC/POWER den bästa ISA som designats, så en del tar IBM igen där men ISA betyder långt mindre än mikroarkitektur och mängd arbete som läggs på kompilatorer/JIT för en viss ISA.

Här har AMD en del att lära (de har dock problem med resurser), både Intel och IBM lägger massor med resurser på projekt som Linux-kärnan, GCC, OpenMP, OpenJDK etc för att ser till att saker man stoppas in i HW och utnyttjas i praktiken. Spelar ingen roll hur bra t.ex. en APU är i teorin om det inte finns enkla sätt att använda den i praktiken.

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:

Diskussionen blir meninglös när du verkar ha en definition av "kluster" som skiljer sig från resten av världen. Man kan köra en databas som är designad så att den även fungerar på ett kluster på ett ccNUMA-system, men det gör inte underliggande HW till ett kluster

Kalla det vad du vill. Microsoft kallar ju sitt Windows för Enterprise OS, men är det verkligen sant? SGI kallar ju sina beräkningskluster för SMP servrar. Men det spelar ingen roll vad de heter, marknadsföringsavdelningar kan vara lite slarviga ibland. Det enda viktiga är vad de används till. Och SGI kör endast tekniska beräkningar. Ingen kör affärssystem som SAP eller stora databaser på SGIs servrar. Detta är inget jag hittar på, utan det är SGI som säger det.
https://www.sgi.com/products/servers/uv/
SGI UV 2000 and SGI UV 20 systems are designed for compute-intensive, fast algorithm workloads such as CAE, CFD, and scientific simulations
Detta är hårt nischade produkter som konkurrerar med andra stora beräkningskluster, och de är absolut inte general purpose servrar. Om vi t.ex. tittar i SAP benchmarks här:
http://global.sap.com/campaigns/benchmark/index.epx
så hittar du inga SGI eller ScaleMP servrar. Likadant om du tittar på andra scale-up benchmarks, som TPC eller ERP affärsystem.

En enda SAP installation kan lätt kosta runt en halv miljard eller mera, vissa kostar runt miljarden. Det är mycket lönsamma och high margin. Alla vill ha en bit av kakan (jag känner SAP konsulter, SAP konsulter är mycket dyra). Och det är mycket prestige att vinna SAP benchmarks eftersom det är så mycket pengar inblandade. Om vi tittar i SAP topplistan, så är det bara scale-up servrar: IBM POWER och SPARC. Och vinnarna har alla 16 eller 32 cpuer. Det finns inga SGI servrar med 256 cpuer med. De största servrarna, har 16 eller 32 cpuer. Rekordet innehas utav en SPARC server på 40 cpuer. IBM POWER8 är också med och har bra prestanda, men den servern har bara 8 cpuer. Man undrar varför inte IBM tar deras största E880 server med 16 cpuer för SAP, kanske skulle den ge dåliga resultat. SAP skalar mycket dåligt, så att gå från 8 till 16 cpuer, kanske skulle ge bara 20% mer prestanda eller nåt sånt gissar jag - vilket inte skulle räcka till en rekordplacering. T.ex. Fujitsu som har SAP rekordet med 40 cpuer, kan skala upp till 64 cpuer - men Fujitsu postar inga såna 64 cpu resultat. Jag gissar att 64 cpuer skulle blivit endast, typ, 3% bättre vilket är dåligt, så att 40 cpuer är sweet spot. IBM tycker ju det är viktigt att vinna benchmarks, och efter att Oracle riktigt knäckt TPC rekorden slutade IBM posta TPC benchmarks. Kanske därför IBM inte postar E880 SAP resultat. Så man undrar hur en 256 cpu SGI UV2000 skulle prestera på SAP: mycket dåligt gissar jag. Annars hade SGI tagit in en 128/192/256 cpu UV2000 server och vunnit allt och lätt vunnit alla stora SAP affärer. Men så har inte skett, alla kör IBM POWER eller SPARC. Det finns inga SGI eller ScaleMP resultat. Men om du googlar lite så kanske du hittar UV2000 SAP resultat nån annanstans? Eller TPC resultat?

SGI och ScaleMP har bara ett användningsområde: klustrade arbetslaster (man kan köra parallella read only Data Warehouse analyser på kluster, men ingen kör databaser på kluster). Både SGI och ScaleMP säger att de är specialiserade på HPC beräkningsmarknaden. Så nu kanske vi kan enas om att SGI och ScaleMP båda är hårt nischade produkter (speciellt som båda säger så) och absolut inga general purpose servrar. Vad än marknadsförarna kallar det.

Citat:

Kan mycket väl vara så att det finns rimliga anledningar till att just relationsdatabaser, Oracle levebröd, ofta vill dra data över NUMA-zoner och då är POWER8/SPARC M7 en bättre design. Men vi pratar i så fall om en smal nisch (gigantiska databaser) inom nischen relationsdatabas-servers

Det är inte bara databaser som har detta problem. All kod som branchar mycket över stora servrar har samma problem. Om man kunde så skulle man vilja ersätta stora scale-up servrar med scale-out klusters, men det går inte. Just pga dessa problem. Så de är general purpose, eftersom de även klarar av att köra klustrade arbetslaster. Men visst, ett riktigt kluster med flera 100 cpuer vinner ju lätt över 32 cpuer på vetenskapliga beräkningar.

Citat:

Använder man systemet som man typiskt programmerar högpresterande SMP-system så är latens mellan kärnor mycket viktigare bandbredd, i det läget är SGI-UV en av de bästa massiva SMP-system du hittar. Att fixa låg latens är ett svårare problem att lösa än fixa hög bandbredd, det förra är idag klart begränsat av ljusets hastighet, det senare kräver bara mer transistorer och fler ledningar.

SGI-UV är ett mycket bra nischade beräkningskluster, ingen säger emot dig där. Men de duger inte för affärssystem eller general purpose syften - vilket SGI säger själva. Att bara lägga till fler transistorer och fler ledningar är inte helt trivialt det heller.

Skrivet av Yoshman:

Har haft tid igår kväll att läsa alla dina länkar. Hur kommer det sig att Oracle/SUN envisas med att peka på resultat från SPECjbb2005 är så värdelöst?

Jag tror inte Oracle envisas med att det är värdelöst. Däremot säger Oracle att skälet att SGI och ScaleMP och andra kluster, presterar bra på SPECjbb2005 är - för att det är embarassingly parallel workloads. Och det är självklart att 256 processorer som kör i full hastighet utan att behöva synka med andra processorer presterar mycket bättre än 32 cpuer. Annars vore det misslyckat utav SGI. Däremot så har IBM och Oracles servrar helt andra användningsområden, och det blir missvisande att jämföra scale-out SGI klustrade benchmarks mot scale-up IBM/Oracle servrar. T.ex. försök ställa SGI UV2000 mot en IBM eller Oracle server i SAP eller TPC. IBM och Oracle vinner lätt (därför att UV2000 inte är designat för sånt, enligt deras hemsida). Ska man då dra slutsatsen att IBMs S824 server med åtta POWER8 cpuer, är mycket snabbare än en SGI UV2000 256 st x86 cpu server? Nej, det är direkt missvisande att tro att åtta POWER8 cpuer är snabbare än 256 st x86 cpuer. Eller hur? På samma sätt är det missvisande att jämföra åt andra hållet, och tro att en SGI UV2000 server kan ersätta scale-up servrar. Det vore ju katastrof om en kund köper en UV2000 för att köra SAP eller databaser på. Och SGI är ju noga med att påpeka på sin hemsida, att sånt ska man inte köra på UV2000 servrarna. Då passar istället UV300 servrarna med 32 cpuer bättre, för de är mer general purpose, står det på deras hemsida. Så SPECjbb2005 är inte värdelöst, men det är lite missvisande att jämföra scale-out mot scale-up. För ingen vill att folk ska titta på SAP benchmarks och tro att åtta POWER8 cpuer är snabbare än 256 x86 cpuer.

Skrivet av Petterk:

Så vitt jag ser så är SGI UV 300H single-node upp till 32 processorer med NUMA.

Precis. Tack för att du validerar min poäng. Min poäng är att stora SGI och ScaleMP servrar, är hårt nischade beräkningsservrar som inte duger som general purpose servrar. Problemet är att de är för stora, så de skalar dåligt. 256 cpuer skulle kräva 35.000 datakanaler, och det funkar inte att skala så mycket. Vill du ha bra skalning, så kan du max gå upp till 16 eller 32 cpuer. Och ifall man läser på SGIs hemsida, så säger de:
https://www.sgi.com/products/servers/uv/
SGI UV 2000 [with 256 cpus] and SGI UV 20 systems are designed for compute-intensive, fast algorithm workloads such as CAE, CFD, and scientific simulations
medan servern du pratar om som går upp till 32 processorer beskrivs så här:
SGI UV 300 and SGI UV 30EX [with 32 cpus] servers are designed for data-intensive, I/O heavy workloads such as data analytics, visualization, and real-time streaming.

Det står alltså svart på vitt. SGIs UV2000 server med 256 cpuer, rekommenderas endast för klustrade beräkningar (CAE, CFD, scientific simulations är alla klustrade beräkningar). Medan SGI UV300 server med 32 cpuer, har helt andra användningsområden därför att den skalar relativt mycket bättre. När du går över en viss gräns, så kan du inte skala förbi 32 cpuer. Antagligen är UV300 en general purpose server, som faktiskt kan köra SAP, TPC, och annan monolitisk mjukvara där koden branchar mycket, och faktiskt kan konkurrera med IBM POWER/Mainframes och Oracle SPARC. Men jag hittar inga UV300 benchmarks över SAP, TPC, etc. Varför, är UV300 mycket sämre än POWER och SPARC?

Detta förklarar varför SGI har två olika produktlinjer. Annars vore det en smal sak att använda en liten UV2000 server med endast 32 cpuer, och köra SAP på den. Men nej, det går inte. Istället har SGI tvingats utveckla en helt annan typ av servrar med 32 cpuer, SGI kunde inte använda en liten UV2000 server. Dessa är två helt olika servrar med helt olika uppbyggnad, och med viktigaste av allt - de har olika användningsområden. Ena är för kluster, den andra för monolitisk mjukvara.

Jag är ganska säker på att UV300 inte heller har en MPI engine (UV2000 har en MPI engine). MPI används ju bara för parallella vetenskapliga beräkningar på stora kluster, och du måste skriva kod explicit för MPI, och strukturera din kod parallellt. Ja, jag har använt MPI, och tro mig, det är inte något du använder för att skriva affärssystem med (vilket jag också gjort). Ingen Scale-up server använder MPI.

Permalänk
Datavetare
Skrivet av MichaelJackson:

Det är inte bara databaser som har detta problem. All kod som branchar mycket över stora servrar har samma problem. Om man kunde så skulle man vilja ersätta stora scale-up servrar med scale-out klusters, men det går inte. Just pga dessa problem. Så de är general purpose, eftersom de även klarar av att köra klustrade arbetslaster. Men visst, ett riktigt kluster med flera 100 cpuer vinner ju lätt över 32 cpuer på vetenskapliga beräkningar.

Om du har något hum om design av multicore-system så skulle du veta att ett kluster med 32 CPUer är snabbare än en cache-koherent maskin med 32 CPUer där varje enskild CPU har samma kapacitet om programmet man kör på systemet lämpar sig för kluster.

Skrivet av MichaelJackson:

Då passar istället UV300 servrarna med 32 cpuer bättre, för de är mer general purpose, står det på deras hemsida. Så SPECjbb2005 är inte värdelöst, men det är lite missvisande att jämföra scale-out mot scale-up. För ingen vill att folk ska titta på SAP benchmarks och tro att åtta POWER8 cpuer är snabbare än 256 x86 cpuer.

Vilket är självklart om man begriper designbegränsningarna av ett cache-koherensprotokoll. Ren fysik (ljusets hastighet) gör att man kommer få betala högre latens för att hålla systemet cache-koherent ju mer man skalar upp det, är inte rimligt att alla CPUer har en direktlänk med alla andra när antalet blir stort. Vid 100ns (latensen för NUMALink vid 32 CPUer) är längden på ledningarna en signifikant del av latensen, det är av utrymmesskäl omöjligt att ha samma latens vid 256 CPUer och då har man överhuvudtaget inte vägt in att mängden data som ska gå över cache-koherensprotokollet ökar mer än linjärt med ökande antal CPUer.

SPARC M6/M7 verkar ju ska skala till 32-sockets, är kanske där fysiken sätter en gräns för vad som är vettigt om man ska köra laster som behöver relativt mycket kors-sockel trafik. Och det är då även förklaringen till varför SGI begränsar sina UV-system till 32-sockets för denna typ av applikationer.

Man ska också påpeka att systemen vi nu diskuterar står för långt mindre än 1% av alla servers som används, kul att diskutera rent tekniskt men i det stora hela är detta ungefär lika relevant som Bugatti Veyron är för bilindustrin. Kul att se på TV, men de flesta kommer aldrig komma nära en sådan i verkligheten.

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

SGIs beräkningskluster hittar du under ICE, Rackable och InfiniteData-serierna med InfiniBand eller Ethernet.

Din egen definition gör en enskild CPU till beräkningskluster. T.ex. AMDs 12 kärnor MCM Magny-Cours eller 16 kärnor MCM Interlagos/Abu Dhabi som är SMP, flera processorer på samma förpackning/sockel, minneskontroller på olika dies och dies som kommunicerar över höghastighetsprotokoll och kör NUMA för att förbättra prestandan mellan dessa. Du kan köra parallellprogrammering med OpenMP/MPI och dela upp över de olika NUMA-noderna i ett sådant (1P-) system. Det samma gäller IBMs Power i MCM-varianter. Likaså skulle din klassning göra alla system med 2, 4 och 8 sockets till beräkningskluster. Det skulle göra IBMs scale-upservrar till beräkningskluster. De stödjer MPI/OpenMP också även om de inte har någon MPI-hårdvara – vilket inte heller de flesta scale-outsystem har.

Jag gjorde inte din poäng, SAP HANA-systemet är två maskiner som fungerar som en – för att Hana har svårt att fungera på kluster och SAP föredrar den konfigurationen. Inte en 8 socket/processormaskin, och inte kluster-noder som sitter på höghastighetsnätverk. Det hade du sett om du läste press-releasen som citerades. Parallellprogrammering används på alla system oavsett om de är cache-koherenta eller inte och oavsett om det är en sockel eller flera. Skillnaden är att vanliga trådar (flertrådat parallelliserad programmering så som även affärssystem kör) skalar över flera olika brädor i scale-uplösningar också. Samt att du har tillgång till mycket mer minne för ett program.

Du kan använda UV-serien till transaktionstunga grejer och det är inte den lösning som passar bäst om du behöver ett kluster för beräkningar. Då brukar du varken behöva cache-koherens eller den mängd minne som de använder. Både 2000 och 300-serien kör Numalink. De använder samma arkitektur. UV-300 (och UV 30EX) har MPI-motorn då den är inbyggd i ASIC/chipset. Det hade du sett om du hade läst produktsidan över UV300-servrarna. Anledning att de har en MPI-motor i chipset är p.g.a. Numalink och Numalink finns inte i deras rena scale-outlösningar. Skärpning!

Skillnaden är storleken på lådorna 300/30EX är 4P 5U-system. Båda systemen är meningen att kunna användas med distribuerade applikationer, om man vill – det är därför de använder begreppet super-node. Hade det varit vanliga klusternoder som inte kan fungera som scale-up så hade de knappast haft stöd för 3TB minne. Power 795 har upp till åtta olika "block", precis som UV 300.

Sen tror jag inte det är många särskilt stora SAP-installationer (icke-Hana eftersom där föredras det) som kör Suse överhuvudtaget. Däremot finns det inget hinder för det, men andra lösningar skulle vara mer ekonomiska än en scale-upmaskin. De kör inte Linux på Power 795 i SAP-benchmarks t.ex. Snabbaste Linuxlösningen är en 4P Dell. SGI skulle kanske kunna spöa den, men de gör inte SAP-benchmarks. Men vem bryr sig. SGI kallar sina beräkningskluster distributed memory supercomputers eller kluster och SGI ICE eller InfiniteData och Rackable. Som inte är massiva SMP-system. NUMAlink motsvaras av Bixby eller Intel QPI. Tidigare var de flesta ccNUMA-systemen Itanium (och tidigare än det MIPS och Alpha) eller AMD – nu är de Intel Xeon också. Men du klassar väl en 16P Itaniumserver som ett beräkningskluster också. Behöver du inte ett ccNUMA-system så köper du inte ett. Bygger du på AMD så får du dock NUMA på köpet även med en processor, även om så bara lokalt.