Single core simulatie op multi core processor

Pagina: 1
Acties:

Onderwerpen


  • alwinpot
  • Registratie: December 2010
  • Laatst online: 20-12-2022
Beste Tweakers,

Achtergrond: mijn afdeling bij een groot IB draait o.a. simulatiemodellen. Afhankelijk van de modelgrootte en de gevraagde output duurt een run tussen ½ en 15 minuten. Volgend kwartaal gaan we flink opschalen en de verwachting is dat een modelrun met de minimaal benodigde output 1 uur in beslag neemt. Automatiseren van het proces gaat niet want helaas komt er veel handmatig (maar wel leuk) invoerwerk bij kijken, moet de output visueel gecontroleerd worden en de invoer bijgesteld worden. Voor een definitieve run heb je dus al een aantal malen (deels) opnieuw gedraaid.
Uiteraard willen we dit zo project efficiënt mogelijk gaan doen. Met een van de zwaarste modellen tot nu toe hebben we getest op onze huidige computers: Windows XP Pro 32 bit op Core2Duo E6700 2x2,66 GHz en 3 GB RAM. De processor load voor de simulatie komt niet boven de 50 % uit en er wordt ongeveer 120 MB RAM gebruikt. Naar verwachting wordt het uitgebreide model 4 x zo zwaar, dus mogelijk 500 MB RAM. De software is niche software, zonder volledig alternatief, met zo’n 150 gebruikers wereldwijd en oorspronkelijk niet bedoeld voor dergelijke zware runs. Het kan prima, maar gaat dus maar uit van 1 processorkern.
Bij de ICT-dienst werd mijn vraag voor een snellere PC beantwoord met dat er AutoCAD-stations zijn met 1 of 2 Xeons met 4 x 2,53 GHz en resp. 8 of 16 GB RAM.

Mijn vragen en hypotheses:
- Zijn de voorgestelde snelle computers wel sneller voor een single core process? (kijkend naar de kloksnelheid denk ik van niet, maar wellicht is er in totaal wel een kleine snelheidsverhoging door een totaal modernere architectuur. Met de benchmarks ben ik nu voorzichtig, omdat die i.m.o. meestal uitgaan van een belasting van de volledige processor, i.p.v. 1 kern.)
- Is er een manier om toch te profiteren van meerdere kernen zonder dat de software wordt aangepast? (ik stel me een emulator o.i.d. voor die een single core process verdeelt over meerdere kernen en daardoor nagenoeg de volledige rekenkracht van de processor kan gebruiken in plaats van maximaal (1/n) per kern wat nu lijkt te gebeuren. Alleen heb ik zo’n emulator niet kunnen vinden en een andere naam weet ik ook niet.)

Als beide negatief zijn, hebben we nog twee mogelijkheden: een nieuwe computer bouwen rond een C2D/i5/i7 met 3,4 – 3,6 GHz processor, maar 2 of 4 kernen is dan ruim voldoende, of gewoon blijven doorwerken op de huidige machines. Mochten we zelf gaan bouwen dan zullen we ook een SSD inbouwen i.p.v. HDD, maar de vraag gaat in eerste instantie om de rekenkracht. Ik ben met een collega nu in de voorkijk (deels hobbymatig) om bepaalde dingen wel of niet te overwegen en wil graag zeker zijn dat we niet een mogelijkheid verkeerd inschatten of er juist een vergeten.

Bij voorbaat dank!

  • Jejking
  • Registratie: Februari 2005
  • Niet online

Jejking

It's teatime, doctor!

1. hangt er vanaf wat voor Xeons. Er kan prima een gain zijn.

2. niet echt. Enige wat ik zou kunnen verzinnen is dat de rest vd cores alles zo goed opvangt dat de core voor de hoofdtaak alleen maar bezig hoeft te zijn met dat en niets anders.

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

2. echt niet. Software moet echt geschreven zijn met multithreading in het achterhoofd en als dat niet zo is, dan is het simpelweg onmogelijk om profijt te halen uit meerdere cores. Een programma meerdere keren opstarten is wel een manier om de rekenkracht parallel te benutten, maar of dat nuttig/haalbaar is ligt natuurlijk aan de situatie.

Heeft geen speciale krachten en is daar erg boos over.


  • Imprezzion
  • Registratie: Juni 2010
  • Laatst online: 16-09 12:33

Imprezzion

E92 320i & 307CC

Zo hoog mogelijke clocks voor een dual core is altijd goed. Dus bijvoorbeeld de rapste i3 van Sandy Bridge.
Dat zou mijn advies zijn.

~ 9800X3D @ 5.5Ghz eCLK + PBO ~ Arctic LF2 240 CPU ~ Crosshair X670E Gene ~ 32GB Dominator Titanium @ 6400C26 FCLK 2200 ~ Zotac RTX 5080 SOLID OC @ 3285 core 18000 VRAM ~ Corsair 2500X ~ Dark Power Pro 11 1000w ~


  • keur0000
  • Registratie: September 2002
  • Laatst online: 29-09-2024

keur0000

-------- N O N E --------

Je zou eens voor de gein moeten kijken in taakbeheer van XP hoe de last nu wordt verdeeld over de 2 processorkernen. Wellicht helpt het als je de app naar bijv. kern 2 toewijst en prioriteit op hoog zet en de rest op core 1. Dit wil nog wel eens leuk werken met dit soort software.

Neemt niet weg dat multi core systemen met 4 kernen er niet voor zorgt dat de software eerder klaar is met rekenen aangezien het maar op 1 core draait, voldoende geheugen en een hoge core clock frequentie helpt wel.

Bron: SR. Engineer met +40 jaar ontwerp/werkervaring in het bouwen van o.a. datacenters ;)


  • Shuriken
  • Registratie: November 1999
  • Laatst online: 26-08 12:33

Shuriken

Life is all about priorities

Imprezzion schreef op donderdag 29 december 2011 @ 12:32:
Zo hoog mogelijke clocks voor een dual core is altijd goed. Dus bijvoorbeeld de rapste i3 van Sandy Bridge.
Dat zou mijn advies zijn.
Is het niet slimmer om een i5 te nemen? Ondanks dat je geen 4 cores gebruikt, heb je met een single thread applicatie wel voordeel van de Turbo functionaliteit. De core die je dan gebruikt, gaat bij een 2500 serie op 3,7 GHz draaien.

I rather have a bottle in front of me, then a frontal lobotomie


  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Wat je wilt is een zeer snelle single core processor of processor met zeer snelle cores die turbo mode gebruikt of zwaar overclocked kan worden. Wellicht een i5 2500k die je overclocked naar de 4,8-5,0Ghz? Dat moet al een flink stuk sneller zijn en zeker sneller dan die Xeon.
Het 'vervelende' is dat al die autocad workstations ingericht zijn op programma's die goed geoptimaliseerd zijn voor multicore processoren, dat is jou applicatie niet. Dan moet je gewoon een zo snel mogelijke processor hebben in single core taken en dat betekent overclocken.
Moet alleen je ICT dienst daar wel in willen faciliteren maar dat moet wel lukken als je kan aantonen dat het jou veel tijd bespaard en dus het bedrijf aardig wat geld kan schelen.


Leuk linkje:
http://www.tomshardware.c...arison/3DMark11,2761.html

Zie de vergelijking tussen de i5 2500k en de E6850, beiden op 3Ghz en de core van een i5 is een aardig stukje sneller. Als je dan bedenkt dat de i5 ook nog verder te overclocken is heb je wel erg mooie performance.

[ Voor 17% gewijzigd door Tsurany op 29-12-2011 12:52 ]

SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N


  • mitsumark
  • Registratie: Juni 2009
  • Laatst online: 20:58
1. De xeons zijn waarschijnlijk i7's van de vorige generatie (gezien de kloksnelheid): http://tweakers.net/price...kjMpF3IS853nKBJP2lslTHGLw
Die zijn inderdaad wel een pak sneller dan de e6700.

2. Je kunt inderdaad cores toeschrijven voor een bepaalde taak, zo kun je het programma toewijzen aan een core die verder niks hoeft te doen (zal marginaal sneller werken).

Aangezien je 'elk' bedrag terugwint in de tijd kun je imo het beste gelijk kijken voor een i7 2600 (of zelfs 2700, deze heeft de hoogste kloksnelheid en daarbij de hoogste turbo).
Of het bedrijf moet openstaan voor overklokken (wat ik erg betwijfel), dan kun je voor een i5 2500k gaan.
http://tweakers.net/price...5087;293900;273449;274632

  • ik222
  • Registratie: Maart 2007
  • Niet online
Je zou natuurlijk met een multicore wel meerdere simulaties tegelijk kunnen draaien op een machine. Het hangt alleen van de casus af of dit zinvol is natuurlijk.

  • Imprezzion
  • Registratie: Juni 2010
  • Laatst online: 16-09 12:33

Imprezzion

E92 320i & 307CC

Shuriken schreef op donderdag 29 december 2011 @ 12:41:
[...]


Is het niet slimmer om een i5 te nemen? Ondanks dat je geen 4 cores gebruikt, heb je met een single thread applicatie wel voordeel van de Turbo functionaliteit. De core die je dan gebruikt, gaat bij een 2500 serie op 3,7 GHz draaien.
Klopt.. natuurlijk. Niet aan gedacht als AMD man :)

~ 9800X3D @ 5.5Ghz eCLK + PBO ~ Arctic LF2 240 CPU ~ Crosshair X670E Gene ~ 32GB Dominator Titanium @ 6400C26 FCLK 2200 ~ Zotac RTX 5080 SOLID OC @ 3285 core 18000 VRAM ~ Corsair 2500X ~ Dark Power Pro 11 1000w ~


  • Redblader
  • Registratie: Februari 2010
  • Laatst online: 15-09 07:18
Imprezzion schreef op donderdag 29 december 2011 @ 13:02:
[...]


Klopt.. natuurlijk. Niet aan gedacht als AMD man :)
AMD heeft anders ook al een tijdje Turbo in haar CPU's zitten. O-)

  • catfish
  • Registratie: December 2000
  • Laatst online: 11-08 17:20
Redblader schreef op donderdag 29 december 2011 @ 21:42:
[...]
AMD heeft anders ook al een tijdje Turbo in haar CPU's zitten. O-)
klopt, maar SB(-E) heeft een hogere IPC en is dus beter geschikt voor dit scenario

misschien kan je nog even wachten op Ivy Bridge die weer iets sneller zou zijn :)

Acties:
  • 0 Henk 'm!

  • gaby de wilde
  • Registratie: Juli 2011
  • Laatst online: 23-07-2024
Je kunt misschien het software bedrijf om een offerte vragen.

Acties:
  • 0 Henk 'm!

  • Masterlans
  • Registratie: September 2005
  • Laatst online: 19:34
Ik had een vergelijkbaar probleem met een programma voor mijn onderzoek (duur van een run pakweg 10-16 uur). Gemaakt voor single-core en niet even om te zetten naar multicore ondersteuning (binnen het budget en de beschikbare tijd althans ;)).

Ik heb er toen voor gekozen, wat hierboven ook al aangeraden wordt, om een zo hoog mogelijk geklokte processor te nemen (de software is CPU gelimiteerd, en gebruikt dus 100% van de toegewezen core). Ik heb deze vervolgens met een goede koeler (stabiel) overgeklokt, en tevens mbv VMware Player het programma nog een maal gestart. Twee cores voor de VM, twee cores voor de native windows. Werkt prima, het snelheidsverlies per run ten opzichte van alleen in native windows draaien was 2% ofzo. Het schaalt dus goed op.

Op die manier kun je in dezelfde tijd toch twee runs doen, en houdt je een overzichtelijk (en in mijn geval prima werkbaar) systeem. Wel even kijken of je licentie toestaat het meerdere malen op een systeem te installeren overigens.

[ Voor 5% gewijzigd door Masterlans op 30-12-2011 10:22 ]


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Overigens is de reden dat je geen single-core simulatie kunt toepassen op een multicore processor vrij simpel.

Het gebeurt feitelijk namelijk al. Elke core is namelijk een combinatie van een aantal execution units. Zo zitten er typisch twee of meer integer units, twee of meer load/store units, een een floating-point unit is. Die samen simuleren een conventionele execution stream door een ingewikkelde controle unit die zorgt dat de verschillende delen geen tegenstrijdige instructies uitvoeren. Dat is een beoorlijk complexe taak, vandaar dat die controle unit in hardware is uitgevoerd en maar een beperkt aantal execution units controleert.

Als het haalbaar was geweest om de execution units van twee cores te bundelen, dan was dat al in de ontwerpfase van de CPU gedaan. Het blijkt echter dat de huidige bundeling de beste tradeoff is tussen snelheid en complexiteit.

Wikipedia artikel: Out of Order Execution

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1