Dual CPU versus enkelt CPU

For 7-8 siden var dual-bundkort noget af det mest hippe. For eksempel Asus P2B-D/DS og ikke mindst det revolutionerende ABIT BP-6 bundkort, med plads til 2 styk Intel Celeron-processorer – som Intel vel at mærke hårdnakket påstod ikke kunne bruges i dual-installationer. I dag ser man det ikke så ofte mere og stort set kun til professionel serverbrug. CPU’erne er simpelthen så hurtige, at der ikke er behov for mere end end processor.

Et stadig relevant spørgsmål er dog, om dual-cpu-systemer rent faktisk yder væsentligt bedre, end single-cpu. I øjeblikket har jeg to computere til rådighed:

  1. Asus P2B-D, 2 x 450 MHz Pentium II, 512MB RAM, 8 GB SCSI-2 harddisk
  2. Shuttle MV41, 1 x 1,7 GHz Celeron, 1024MB RAM, 29 GB UDMA-100 harddisk

Celeron-processoren er, så vidt jeg ved, grundlæggende en Pentium-processor med begrænset internt cache. Man kan altså ikke direkte sammenligne Celeronens 1700 MHz med Pentium II’erens 450 MHz, men Celeronen er dog klart hurtigere. Spørgsmålet er så – hvor meget hurtigere?

Begge maskiner er installeret med FreeBSD 6.1-RELEASE-p2. Jeg lavede så et forsøg, hvor jeg kompilerede “world” og kernel på begge maskiner og tog tid. Resultatet ses på grafikken og det er faktisk lidt overraskende! Den præcise fremgangsmåde var:

  1. make -j4 buildworld
  2. make buildkernel KERNCONF=MYCONF
  3. make installkernel KERNCONF=MYCONF
  4. make installworld

Bemærk -j4-parameteren i første kommando. Den betyder, at make splitter op i 4 samtidige processer, hvilket skulle forøge kompileringshastigheden. Den dur dog kun til den første del, da buildkernel, installkernel og installworld ikke kan splittes op.

!@(uploads/2006/06/buildtimings.gif:R250 popimg: “Build timings for buildworld and buildkernel – klik for større billede”)Kig så på grafikken – de 3 første sæt søjler viser tiderne for buildworld og de 3 sidste for buildkernel. “Real” er den faktiske forløbne tid, “user” er den (cpu) tid kompileringen har brugt og “sys” er tid anvendt til systemkald (skrive på disk o. lign.). Det forbløffende er, at dual-maskinen faktisk er hurtigst til buildworld! Single-cpu-maskinen vinder dog i buildkernel og de to resterende build-processer (som ikke er afbildet på grafiken). Den anden forbløffende ting er, at “user”-tiden er større end den reelle tid – det skyldes naturligvis, at make -j4 kan splitte op i 2 x 2 proceser, dvs. to til hver cpu!

Reelt har dual-maskinen brugt mere end dobbelt så meget cpu-tid, som single-maskinen (11641 sekunder, i mod 5733 ), men de to processorer har åbenbart mindre spildtid tilsammen og bliver derfor først færdig. Den anden kompilering kunne ikke deles op, så den har kun kunne udnytte én processor i dual-maskinen og her ses, at Celeronen er ca. dobbelt så hurtig, som Pentium II’eren.

Min konklusion er, at dual-cpu-systemer i høj grad stadig har sin berettigelse, men at der mangler programmer, der kan udnytte dem. Imidlertid har man jo ofte flere forskellige programmer i gang – mailprogram, webbrowser og måske Photoshop. De ville så fordele sig processorerne og udnytte ressourcerne bedre. Udviklingen går da også i den retning, i det de moderne cpu’er er såkaldte dual-core-cpu’er, dvs. man har bygget to cpu’er sammen.

Mon ikke min næste computer skal være noget 64 bit dual dualcore cpu, med 16GB RAM :cool:?

Om Uffe R. B. Andersen

Uffes weblog
Dette indlæg blev udgivet i Nørderi. Bogmærk permalinket.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.