2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

CPU cores: Hoe meer hoe beter?

Ik heb momenteel een dual-core processor op het werk en een quad-core thuis. Ik heb gemerkt dat beide PC’s redelijk gelijk zijn wat betreft het starten van applicaties/surfen op het web.

Het verschil dat ik kan zien is dat mijn dual-core 2.8GHz is en mijn quad-core 2.4GHz.

Is het beter om een dual-core met een snelle kloksnelheid te hebben of een quad-core met een middelmatige kloksnelheid?

Antwoorden (12)

53
53
53
2009-07-15 15:42:45 +0000

NOOT: Dit antwoord is 8 jaar geleden geschreven. Parallel programmeren is sindsdien relevanter geworden. Dit is waarschijnlijk te wijten aan de inherente limieten van de kloksnelheid en de snel naderende limieten van de transistorgrootte.

  • *

Je primaire probleem is software die niet geschreven is voor multi-core.

Kijk naar Jeff Atwood’s uitstekende artikel over Kiezen voor Dual core of Quad core .

Voor de meeste software bereik je na twee cores heel snel een punt van afnemende meeropbrengst. In Quad-Core Desktops and Diminishing Returns , vroeg ik me af hoe effectief de software van vandaag zelfs maar vier CPU cores kan gebruiken, laat staan de onvermijdelijke acht en zestien CPU cores die we over een paar jaar zullen zien.

U wordt hier geantwoord (markering gekopieerd uit Jeff’s artikel),

Er waren hier echter enkele verrassingen, zoals Excel 2007, en de Lost Planet “concurrent operations” instelling. Het is mogelijk dat software ontwikkeling uiteindelijk tot het punt zal komen dat kloksnelheid minder belangrijk is dan parallellisme. Of uiteindelijk irrelevant zal zijn, als we niet de keuze krijgen tussen hogere kloksnelheden en meer CPU cores. Maar in de tussentijd wint de kloksnelheid het meestal. Meer CPU cores is niet automatisch beter**. Typische gebruikers zijn beter af met de snelst mogelijke dual-core CPU die ze zich kunnen veroorloven.


De kwestie van de Front-Side Bus (die term heeft me altijd geamuseerd). Met Nehalem veranderen de dingen].(http://arstechnica.com/hardware/news/2008/04/what-you-need-to-know-about-nehalem.ars)… zoals ArsTechnica vorig jaar zei.

De Wet van Moore heeft processorontwerpers een overvloed aan transistoren gegeven, en nergens is dat duidelijker dan in Intels 45 nm Nehalem-processor. De Nehalem, die later dit jaar in 4- en 8-core varianten op de markt komt, verbergt een ton aan hardware in een enkele processoraansluiting. (Vroege cijfers schatten het aantal transistors van een quad-core Nehalem op 781 miljoen; er zijn nog geen cijfers voor het 8-core model verschenen). Maar proberen om al die hardware te voeden met de bestaande front-side bus architectuur van het Intel platform zou dwaasheid zijn. Dus, net zo belangrijk, Nehalem klinkt ook de langverdiende doodsklok voor Intel’s positief geriatrische front-side bus architectuur.

De radicale verandering in Intel’s systeem bandbreedte situatie die Intel’s nieuwe QuickPath Interconnect (QPI) vertegenwoordigt is misschien wel de grootste factor die het ontwerp van Nehalem heeft gevormd. Tussen QuickPath en de geïntegreerde geheugencontroller van Nehalem, zal een Nehalem processor toegang hebben tot een ongekende hoeveelheid totale bandbreedte, vooral in twee- en vier-socket implementaties.

AMD verplaatste de geheugencontroller eerder in de processor en gebruikte Hypertransport.

18
18
18
2009-07-15 15:41:59 +0000

In mijn ervaring is er een enorm prestatievoordeel als je van één naar twee cores gaat. Plotseling blokkeert een programma met een hoge CPU je machine niet meer en wordt hij niet onbruikbaar traag. Enorm verschil.

Maar twee naar vier? Voor 99% van de mensen zal het geen verschil maken. Je moet veel programma’s tegelijk draaien of programma’s gebruiken die meer dan 2 cores kunnen gebruiken (en daar zijn er niet zo veel van). Ik denk aan bepaalde media codeermachines.

Er is in dit opzicht ook een verschil tussen de Intel Core 2’s en de AMD Phenoms. AMD gebruikt Hypertransport, wat een punt-naar-punt protocol is, dus elke core heeft toegewijde bandbreedte. Intel Core 2’s (maar niet Core i7’s en andere op Niehalem gebaseerde CPU’s) gebruiken een front side bus, die gedeelde bandbreedte is, zodat je meer kernen hebt die strijden om dezelfde bandbreedte.

Dit kan een quad core met dezelfde klok (marginaal) trager maken in sommige omstandigheden. Waar voor je geld is nog steeds dual cores IMHO. Dat gezegd hebbende, ik heb een quad core.

10
10
10
2009-07-15 15:53:09 +0000

Ik vind het mooi hoe Donald Knuth het samenvat ](http://www.informit.com/articles/article.aspx?p=1193856&rll=1):

Voor mij lijkt het er min of meer op dat de hardware ontwerpers geen ideeën meer hebben, en dat ze proberen de schuld voor de toekomstige ondergang van de Wet van Moore af te schuiven op de software schrijvers door ons machines te geven die alleen sneller werken op een paar belangrijke benchmarks! Het zal mij helemaal niet verbazen als het hele idee van multithreading een flop blijkt te zijn, erger dan de “Itanium”-benadering die zo geweldig had moeten zijn - totdat bleek dat de gewenste compilers in feite onmogelijk te schrijven waren.

Laat ik het zo zeggen: In de afgelopen 50 jaar heb ik meer dan duizend programma’s geschreven, waarvan vele van aanzienlijke omvang. Ik kan geen vijf van die programma’s bedenken die merkbaar verbeterd zouden zijn door parallellisme of multithreading. Zeker, bijvoorbeeld, meerdere processors zijn geen hulp voor TeX.

Voor sommige toepassingen is het heel gemakkelijk om te profiteren van meerdere kernen. Maar sommige andere toepassingen zullen er nooit van profiteren, terwijl de andere er misschien van profiteren als de ontwikkelaars ze optimaliseren (wat erg moeilijk is).

5
5
5
2009-07-15 15:48:54 +0000

Voor mijn hoofddesktop bij mijn werkgever, gebruik ik een dual quad-core Xeon machine met 8 GB RAM.

Als ik aan het programmeren ben, en ik heb Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (of 2010) en een lokale Sql Server Express instance… draait alles gewoon lekker door.

Ter vergelijking, ik had een dual core voor, en dingen zou beginnen te kruipen met alleen Visual Studio, Chrome, en Sql Express draaien.

Het is een kwestie van wat je met de machine doet. Als je een power-user bent die video’s bewerkt, 3-d modellen maakt, of programmeert met aanzienlijke middelen… dan ja, wil je de quad-core en veel RAM.

1
1
1
2009-07-15 16:56:28 +0000

Volgens Anandtech.com..:

Het komt allemaal neer op het TDP van de chip, oftewel het Thermal Design Point. Hoe meer TDP een platform beperkt is, hoe meer profijt je zult hebben van Intels Turbo modus. Laat ik het anders zeggen: om vier kernen in een TDP van 130 W te passen, moet elke kern op een lagere kloksnelheid draaien dan wanneer we slechts één kern op datzelfde TDP zouden hebben.

Bij hogere TDP’s is er gewoonlijk genoeg thermische speling om de afzonderlijke kernen vrij hoog te laten draaien. Bij lagere TDP’s moeten CPU fabrikanten een afweging maken tussen het aantal cores en hun kloksnelheden - dat is waar we wat plezier kunnen hebben.

Dit is allemaal in de context van het moeten kiezen tussen cores (of threads) en kernfrequentie.

1
1
1
2009-07-15 15:43:26 +0000

Dat hangt ervan af. Als je dingen doet die elke core zwaar gebruiken zijn 4 cores beter (videobewerking, rendering etc). De meeste mensen zullen twee snelle cores op dit moment beter vinden, omdat niet veel applicaties geschreven zijn om volledig gebruik te maken van 4 cores

1
1
1
2009-07-15 15:49:30 +0000

Merk op dat de nieuwste i7-processoren de kloksnelheid van de actieve cores kunnen verhogen als ze niet allemaal nodig zijn; als je bijvoorbeeld een quad-core op 2,4GHz hebt, maar de software heeft maar 2 cores nodig om te draaien, dan kan die automatisch naar 2,8GHz worden geklokt (geen echt cijfer, slechts een voorbeeld).

En de laatste generatie van de i7 kan volgens mij 3 of 4 bins omhoog klokken als er maar een of twee cores nodig zijn. Op die manier blijft het misschien niet zo'n grote afweging als het nu is…

1
1
1
2009-07-15 15:43:13 +0000

Voor dagelijks gebruik en programma’s die niet multi-core geoptimaliseerd zijn, zal een snelle dual-core een tragere quad-core verslaan.

Naarmate de tijd verstrijkt en goed multi-threaded programma’s de norm worden, zullen quad-cores aan de leiding gaan.

Vanuit een “bang for your buck” perspectief, hebben dual-cores nog steeds een comfortabele voorsprong.

0
0
0
2009-07-15 15:44:50 +0000

Dat hangt af van wat u doet en van de mogelijkheden van uw besturingssysteem en toepassingen.

Als je een lichtgewicht OS en het runnen van een enkele CPU-gebonden applicatie die slechts kan gebruik maken van een processor dan twee processoren op hogere snelheid zal een betere keuze zijn.

Anders, als het OS alle cores effectief kan plannen en je veel applicaties draait of applicaties die gebruik kunnen maken van meer dan één processor dan zou je van de langzamere quad-core betere prestaties verwachten bij een lager stroomverbruik en dus minder warmte afgifte.

0
0
0
2009-07-20 05:41:55 +0000

Hangt er vanaf.

Heel erg.

Je kunt gemakkelijk een quad-core vinden die maar twee cores gebruikt. Dat heeft deels te maken met het OS en met het ontwerp van de software. Meer nog, ze delen nog steeds alles, vooral het geheugen, de schijf, en apparaten.

Je weet dat het OS niet (merkbaar) sneller zal opstarten en de webpagina’s niet sneller zullen downloaden (ze zouden wel sneller kunnen tekenen).

0
0
0
2009-07-15 15:46:35 +0000

Als je veel video encoding, 3d rendering, of gedistribueerde broncode bouwt, dan geldt: hoe meer cores hoe beter. Je zult een duidelijk verschil in prestaties zien voor dit soort toepassingen als je van 1 naar 2 naar 4 naar 8 cores gaat.

Anders draaiende standaard applicaties zullen niet echt profiteren van meer cores. Zelfs spelletjes zullen niet zo veel profijt hebben van meerdere cores. IMO, je kunt het geld beter uitgeven aan een betere grafische kaart.

0
0
0
2009-07-15 15:43:11 +0000

In jouw geval zou de quad-core beter zijn. Onthoud dat hoe meer cores je hebt, hoe meer parallelle verwerking je kunt doen. Dus op je dual-core kun je misschien een enkele app sneller draaien dan de quad, maar de quad kan 4 apps sneller draaien dan je dual dat kan. Ook, als een app is geschreven om parallel (multi-threaded) te verwerken, dan zal de app beter draaien op een multi-core architectuur.

Dit is allemaal relatief, hoewel, als een quad-core draait op 100 Mhz is niet van plan om beter te presteren dan een dual-core 4 Ghz. Maar over het algemeen geldt: hoe meer cores, hoe beter.