Vraag 1 | Welke CPU met een Enkelvoudige Kern heeft de beste prestaties ? |
Vraag 2 | Welke CPU met een Dubbelvoudige Kern heeft de beste prestaties ? |
Vraag 3 | Welke CPU met een Viervoudige Kern heeft de beste prestaties ? |
Vraag 4 | Is het de moeite waard om bij simulaties gebruik te maken van parallel programmeren ? |
Vraag 5 | Wat moet een benchmark testen |
Vraag 6 | Wat is de beste CVE (CPU) architectuur ? |
Vraag 7 | Geldt de wet van Amdahl ? |
Als je deze homepage bestudeert dan bemerkt men dat een centraal thema is het simuleren op de computer van fysische systemen, specifiek de planeten rond de zon.
De programma's zijn geschreven in Quick Basic en Visual Basic.
Sommige programma's zijn gemaakt met behulp van Excel, dat wil in de praktijk zeggen geschreven in Visual Basic.
Onlangs kocht ik een nieuwe pc.
Om deze te testen probeerde ik het planeten simulatie programma: Planet3Dsimple. Ik ontdekte dat de prestaties minder waren dan mijn vorige PC. Planet3Dsimple is geschreven met behulp van Visual Basic 5.0.
Om dit beter te kunnen begrijpen heb ik dat zelfde programma getest op 5 verschillende CVE's (CPU's).
Het programma Planet3Dsimple belast de processor voor 100%.
Hieronder volgen de resultaten:
Voor een gedetailleerde evaluatie van Visual Basic 2010 kijk hier: Visual Basic 2010 Evaluatie (Engels)
Om parallel programmeren te ondersteuen maakt Visual Basic 2010 gebruik van wat wordt genoemd een "Backgroundworker".
Er is een "Backgroundworker" per ketting (virtuele processor) en er zijn net zoveel backgroundworkers als er kettingen (threads) zijn.
Voor meer informatie over wat een "Backgroundworker" is, kijk hier: BackGroundWorker.
Het document beschrijft twee voorbeelden.
To get a copy select VStest.zip.
When you try to execute the "VB 2010" programs may be the following error message is displayed:
|
In order to write VStest1 the following tasks were performed:
VStest1 - Load factor 1 |
VStest1 - Load factor 1000 |
VStest1 requires the following:
Listings VStest1: VStest1ControlForm.vb and VStest1ControlForm.Designer.vb
np-------------------- | V StartAsyncPB EH------ | ------> Doworkpp2 | | | . V | V V CancelAsyncPB EH---> npreq --> Doworkpp1 <--> state() <--> Doworkpp3 ^ ^ . | | V EndAsyncPB EH------ ------> Doworkpp4 Figure 1 - Parallel Communication
VStest2 - Load factor 1 |
VStest2 - Load factor 1000 |
VStest2 requires the following:
Listings VStest2: VStest2ControlForm.vb and VStest2ControlForm.Designer.vb
VStest1 - Load factor 1 |
VStest1 - Load factor 1000 |
VStest2 - Load factor 1 and 1000 |
Deze wet geldt niet in zijn geheel voor de geteste CPU's. De prestaties verminderen vanwege twee redenen:
When you compare the test results for VStest1 the results are that when you use 1 thread the performance is 76453 and with 4 threads 160997, that means roughly a factor 2 better, which is the same as the number of cores.
It would be very interesting to learn about the results of tests, which the same number of Cores and Threads using multiprocesing i.e. VStest2 or Planet1
Gemaakt: 1 December 2010
Terug naar het begin Inhoud van dit Document
Nabeschouwing - deel 2
3 single Core CPU's were tested and 1 Dual Core CPU with 4 threads. (2C/4T)
That does not mean that there are no CPU's who do perform the three tests (VStest1, VStest2 and Planet) better.
For the single Core most probably the AMD Sempron 145
which has a CPU mark of 916, performs better.
This leads to the surprising conclusion that for scientific applications maybe a 2 Core and 2 Thread Intel CPU is much more practical than a 2C/4T.
The same may apply for a 4 Core/4 Thread versus a 4C/8T and a 6 Core/6 Thread versus a 6C/12T
In science what you want is to solve a single problem using your PC for 100%.
For possible examples of CPU's with the same number of Cores and Threads see here:
Commentaar
E-mail:nicvroom@pandora.be.
Bijgewerkt op 1 januari 2011
Bijgewerkt op 21 februari 2011