Ratio RAM <-> CPU op dual-xeon workstation

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Mr.Sun
  • Registratie: Juli 2015
  • Laatst online: 29-07 22:17
Hey fellow-tweakers,

Ik heb al een tijdje een workstation draaien obv Supermicro moederbord en dual-xeon CPU's.
Werkstation met name gebouwd om erg grote collecties van audio-files te bewerken.
(daarom 2 CPU's van elk 8 cores/16 threads, total 32 threads, dus vrij veel actie-lijntjes tegelijk).

Op het moment:
- CPU's: 2x Xeon E5-2650
- RAM: 4x 16GB DDR3 1333MHz.

Ik ben nu aan het bezien hoe hier een effectieve upgrade op te doen.
Doel:
- meer speed bij single-core actie
- meer speed bij multi-core actie.

Gedachte nieuwe opzet:
- CPU's: 2x Xeon E5-2673 v2 (max 4000 MHz vs vorige max 2800MHz)
- RAM: 8x 16GB DDR3 1866 MHz (ECC dual-rank RDIMM).

Deze opzet gaat én single-core én multi-core het wel aanzienlijk beter doen denk ik (de performance scores in de benchmarks zijn duidelijk + er is bij set-up 2 duidelijk meer speed op de CPU en meer frequency+meer dimms qua RAM).

Wat ik me af vraag is of met die RAM-opzet deze vlotte Xeons met total 32 threads wel voldoende bediend worden?

Gedachtengang:

De beide CPU's samen creeren aan 'ticks'/frequentie:
- 4000Mhz, wordt bij allcore max 3200 Mhz
- x 32 threads; reductie zeg factor 0,8 omdat threads minder performen als fysieke cores (0,8 OK ?)
- dual-CPU's: reductie vanwege onderlinge overhead: zeg ook factor 0,8 (?)
Kom je op ca 3200x32x0,8x0,8= 65.000 MHz

De RAM-sticks creeren aan frequentie of beter MT/s:
- 8 sticks x 1866 MT/s = ca 15.000 MT/s. (hierbij ca 8x 15GB= ca 120GB/s bandwidth).
(dit is ook het maximum dat met dit moederbord te behalen is: 4 memory channels per CPU).
(kunnen meer sticks op maar dat verlaagt juist de bandwidth)(meer frequentie verloren aan overhead etc).

Maar, de RAM-sticks leveren dan toch alleen voldoende data aan de CPU's, als:
- de CPU-workload zodanig is dat de CPU's ca 3/4 van de ticks met processing bezig zijn en ca 1/4 met I/O (data vragen aan/schrijven naar RAM).
(1/4 van 65.000 is ca 15.000)(sterk afgerond).

Vragen:
- zijn die inschattingen van de CPU-total frequency ongeveer correct?
- klopt dat relateren van CPU-total frequency met RAM-total frequency?
- hoe is de verhouding tussen CPU-processing ticks vs CPU-data I/O-ticks?
(ja 'hangt van proces af' maar kan iemand iets zeggen over hoe dit voor wat voorbeeldprocessen ligt?).

Ik heb al het nodige doorgespit en een aantal goede 'deep dives' gevonden hierover, maar deze focussen alleen maar op het verkrijgen van max bandwidth van de RAM. Ik vind geen inzichten in hoeverre de CPU's goed 'gevoed' worden door de RAM, bij diverse CPU vs. RAM-situ's.

Verder zie ik bij oa. de 2 gen's nieuwere X11 boards, dat er 6 ipv 4 memory channels zijn én snellere DDR4 memory sticks (max 2900 MHz) dus daar ligt de total RAM-frequency fors hoger (ca 35000 ipv 15000 in mijn gedachte nieuwe opzet). Terwijl de total CPU-frequency in die v3-CPU's ook wel wat hoger ligt (vooral door nóg wat meer cores), maar lang niet zoveel hoger als de RAM verhoogt kan.
Dus in die situaties wordt er relatief meer RAM-data aangeboden per sec aan de CPU's
(ca 35.000 MT/s RAM op ca 75.000 MHz CPU).

Is dus de ratio RAM vs CPU in de door mij gedachte nieuwe opzet wel optimaal? 8)7

Shoot please!

Tx all.


.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Ik denk, voordat wij een zinnig antwoord kunnen geven, ook moeten weten waarvoor je de setup gebruikt of voor wilt gaan gebruiken. De ene workflow is de andere niet en vraagt dus niet alleen dat eea anders aangevlogen wordt, maar vraagt ook verschillend van de computer. Het ene programma is CPU intensief (en maakt de hoeveelheid RAM of de snelheid ervan weinig uit), terwijl het andere juist wel veel en snel RAM nodig heeft.

Daarnaast kun je ook niet stellen dat het aantal cores vermenigvuldigd met snelheid is aantal megaherz dat je krijgt. Ik ben benieuwd waar je dat vandaan haalt.

[ Voor 16% gewijzigd door CH4OS op 30-06-2023 01:24 ]


Acties:
  • 0 Henk 'm!

  • Abbadon
  • Registratie: Februari 2000
  • Laatst online: 16:33
Het belangrijkste is inderdaad hoe je de computer gebruikt; welke toepassingen op welke manier. De meeste toepassingen zijn namelijk helemaal niet beperkt door geheugenbandbreedte (eerder latency/wachttijden).

Los daarvan zit je met die 120GB/s erg ruim in de bandbreedte voor 32 threads (7,5GB/s per core!) Vergelijk het eens met moderne desktopsystemen of zelfs moderne Threadripper en Xeon-systemen; 32 thread desktops of 64 thread server/workstation-platformen komen niet of amper aan 7,5GB/s per core.
Anders gezegd, bandbreedte per core is ongeveer het laatste waar je je druk over hoeft te maken met jouw voorgenomen setup :)

Just pick a dead end and chill out 'till you die.


Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Nu online

DukeBox

loves wheat smoothies

Zijn het spullen die je nog hebt liggen? Anders zou ik sterk overwegen naar iets moderners te kijken. Een enkele 13700k draait rondjes om die 2x E5-2673 v2. Heb je ook meteen PCIe 5 voor meer bandbreedte en minder latency naar storage, netwerk etc.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • Ludwig005
  • Registratie: Juli 2017
  • Laatst online: 18:23

Ludwig005

Ludwig005 - Verzonken in HW

Xeon E5-2673 v2 x2: vermoedelijk €100 totaal
Xeon E5-2690 v2 x2: €40 tot €50 totaal, en sowieso extra IPC

Die i7 is natuurlijk zeer krachtig, maar tegen een hoge meerprijs
YouTube: I7 13700k Cinebench R15 #13700 #z690
Deze verliest het tegen de dual xeons:
YouTube: CINEBENCH R15, R20, R23 ( AMD RYZEN 5 5600 ) MULTI CORE TEST
Dus X79 🎇🔥
YouTube: Is dual Xeon E5-2667v2 good for gaming PC in 2020? Let's benchmark i...

Acties:
  • 0 Henk 'm!

  • Mr.Sun
  • Registratie: Juli 2015
  • Laatst online: 29-07 22:17
Tx.

Ik ga even stuk voor stuk op de reacties in:

Mbt 'gebruik' workstation: (CH4OS)(Abbodon)

Ja dat dual-Xeon workstation met veel cores/threads ben ik op gaan zetten zoals gezegd om erg grote collecties van audio-files te bewerken ('groot'=plukken van zeg 500.000 files).
Het 'bewerken' gaat vooral over het 'kruisen' en 'curen' van die collecties; met allerlei (custom) software wordt vooral aan hand van de track-info, maar ook van snippets geluid, selecties gemaakt en 'kruisbestuiving' gedaan van data etc etc.

Dat draaien van die runs kost erg stevig CPU-werk en vandaar dus die dual-Xeons.
Die grote batches, afhankelijk wat voor werk er gedaan moet worden, duren uiteraard 'wel even' (een nacht of 24 uur) maar door die vrij stevige CPU-power duurt het geen week... ;-) ... en blijft het werkbaar.

Naast dit massa-werk wordt er ook als regulier/frequent werk vaak audio-processing op gedaan: ik denk het zwaarste op de CPU is bijv het bewerken van bijv geluidsbestanden van 5-10GB.
Daarbij is ook de 'wachttijd' relevant: steeds 3 minuten wachten na een processtap werkt niet, je moet door kunnen werken en in de flow blijven etc.

Het lastige is daarnaast dat sommige (heel handige) programma's nog steeds geen multi-core support hebben, dus derhalve nu ook de focus op de single-core performance.

Mbt 'aantal cores x MHz = totaalMHz'

Nee, er bestaat uiteraard niet zoiets als 'totaalMHz'. Foute terminologie (maar het was laat... ).
Ludwig005 noemde de factor 'IPC' en dat hielp me om de gedachten wat scherper te zetten:

Ik probeer dus om de ratio helder te krijgen tussen performance in termen van 'acties/sec' van de CPU vs. de RAM. Om te zien in hoeverre de RAM in mijn gedachte nieuwe situatie eigenlijk voldoende data levert aan de CPU.

Na nog wat online onderzoek wordt helder dat dit dus bepaald wordt door:
CPU frequentie
x
aantal cores
x
IPC (instructions per cycle).

Die IPC is (uiteraard) sterk afhankelijk van de software/code. En kan dus nooit als standaard waarde per CPU gegeven worden.

Maar wel blijkt die IPC-waarde/core/cycle praktisch gelijk te zijn bij CPU's van gelijke generatie/jaargang etc.

En op wiki is eenvoudig de gemeten richtwaarde te vinden van een 2013 multicore Intel CPU en omgerekend naar mijn 16-core (niet 'threads') opzet kom je dan op ca 600.000 MIps (mega instructions per sec).
Ofwel 600 GIps (giga instr p sec).
(=ca 11 operations per core, per cycle/per sec)(info voor de liefhebbers...).

Nu gaat het uiteraard om de I/O-operations.
Stel dat dat 1 op de 4 instructions is (?).
Dan praten we dus over ca 150 GIps (giga IO acties per sec).

De RAM kan dus in total handlen:
8 (channels/sticks) x 1866 MT/s = (afgerond) ca 15 Giga IO acties per sec.

Dus.... er is via die calculatie/raming nog geen 'passing' te vinden tussen 'wat de CPU nodig heeft' en 'wat de RAM aan kan'.
(zelfs als je aanneemt dat 1 op de 10 instructions I/O is, krijg je nog 60 giga IO vs 15 van de RAM etc).


Uiteraard is dit een vrij theoretische benadering. Maar ik krijg dat af en toe over me... "need to know" enzo... ;-)


Mbt RAM bandbreedte (Abbadon)

Ja, 120GB/s is 'niet weinig' uiteraard. (en als je zeg 128GB aan total RAM-ruimte hebt, is die dus ook met 1 of 2 sec al weer geheel ververst... en zal er toch ergens anders data vandaan moeten komen en doet de snelheid van de RAM er niet meer toe etc)(misschien een paar seconden later als er veel data hergeprocest wordt maar toch).

Maar ik heb dus (zie 1e inbreng) vooral eerst ff gekeken naar de RAM/CPU-ratio bij een 2 generaties nieuwer Supermicro-bord (X11). En daar zie je dus meer dan verdubbeling van RAM-speed en dus bandbreedte (van 8 naar 12 channels en van 1866 naar 2900 MHz). Terwijl CPU-power zeg max 30% toeneemt.
Maar dit kan ook een ratio zijn die alleen bij typisch servergebruik hoort (waar met 97% hitrate bijna al de nodige data op de 2000 GB RAM staat...).

Een andere vergelijking kan de gigant onder de thread-CPUs zijn: threadripper pro 5995wx:

Deze heeft dus 64 cores x ca 4Ghz. 4x meer als in mijn opzet dus.
En deze kent qua RAM dus 8 mem channels per CPU x ca 3000MHz. Ca 1,5x meer dus.
Dus bij deze gigant is de RAM-ratio lager als bij mijn opzet.
(zeker omdat deze ook een hogere IPC zal hebben)

De iets minder extreme broertjes hiervan blijven we weer bij 'slechts' 32 cores en ook 8 mem channels.
Maar ook dan is de RAM-ratio daarvan nog steeds lager als bij mij.

Dus dat doen aannemen dat het met die 8x DDR3 1866 sticks wel goed moet zitten.

..................................................

Ik zal (na deze hyper theoretische exercitie) ter compensatie de komende tijd eens wat testen draaien met de huidige opzet, en dan ff bijhouden hoe de belasting is op CPU, RAM en SSD/disk bij diverse workloads.

Ik vermoed dat veel van de software erg veel (kleine) file-tagdata in de RAM trekt en dat de CPU's vooral extreem veel operations moeten uitvoeren daarop. Dus veel 'CPU-bound' werk.

Mbt keuze van nieuwe CPU (Dukebox)(Ludwig005)

Ja, Ludwig005 laat het al zien: ik vind het een challenge om niet zozeer een 'most powerfull beast' neer te zetten maar een ding dat het erg goed doet én met optimale value for money.
Daarnaast heb ik een broertje dood gekregen aan dat geblaas aan m'n hoofd. Dus die hete CPU's vermijd ik sowieso... (ik kan de server nog wel een keer naar de kelder plaatsen, maar dat workstation moet toch maar onder het bureau...).
Ik heb nu dus TDP van 95 (voor elk van de 2 CPU's).
En die nieuwe keuze van mij staat al op 110 TDP.

Ludwig005 noemde nog het Xeon-broertje E5-2690 v2.
Ja uiteraard mooi laag prijsje.
Maar de E5-2673 v2 doet het net wat beter in single-core (in cpubenchmark).
En multi-core zijn ze ca gelijk (in die cpubenchmark).
Jij noemt nog 'beter IPC'. Ik denk dat je op dat grote aantal cores doelt? (20 ipv 16).
(de echte IPC zal gelijk zijn bij deze CPU's).
Het kan zijn dat bij sommige van mijn programma's/processen die extra cores tóch wat beter scoren.

Maar ik schat in dat ik meer heb aan het kiezen voor meest snelle single-core (en die E5-2673 v2 is simpelweg net ff wat sneller in frequentie).

Daarnaast heeft die E5-2690 v2 een TDP van 130...

===========================================================

TLDR:

Ik zal eens wat gaan bench testen hier om te zien waar het echt knelt.
I'll be back.
Pagina: 1