← Back to team overview

sslug-teknik team mailing list archive

Re: Hvordan er det med Linux programme og flertåede

 

hej

Ivar Madsen wrote:
Det er ikke hyperthreading, men chips med fler cpu'er på. Det er
forventet at virke markant bedre end hyperthreading.

Rigtig men lad os lige forklare tingene.

Hyperthreading er emulering af en ekstra CPU (virtuel) med den
begrænsning at den ekstra CPU kun kan eksekvere kode for den process
som den første eksekverer kode for. Det giver nogle begrænsninger:

  1) Har et program kun een tråd, laver CPU #2 ingen ting.

Ved flere tråde

  2) Bruger den ene virtuelle CPU noget memory i cachen og ønsker den
     anden CPU at bruge samme cache-plads til noget andet memory,
     så vil den ene eller begge CPU'er skulle vente meget af tiden.

  3) Bruger flere tråde MMX/MMXE (SIMD), må der ventes, da der så vidt
     vides kun er en ekseveringsenhed til MMX/E (SIMD).

Har man to ellere flere tråde OG max en tråd bruger MMX/E OG tilgår
hver tråd kun lidt memory, så er der en chance for, at det går med
noget nær dobbelt hastighed i forhold til uden HT.

Brug af HT kræver at man tænker sig om.

Med Dual-core fjernes begænsningen for,

  a) at to samtidigt eksekveret tråde'skal være under samme proces
  b) MMX/E SIMD

og med 2 caches (dog i halv størrelse), en til hver core (CPU), fjernes
noget af risikoen for, at to tråde blokere hinanden i cachen ved at flushe
hinandens data, men man skal dog stadig tænke sig om.

Langt de fleste programmer er ikke flertrådet, men de bruger heller ikke
så meget CPU-tid. Den slags programmer udnytter ikke HT, men det gør
normalt heller ikke så meget.

Med Dual Core og HT kan man teoretisk maksimalt opleve 4 x hastighed, men
det kræver at programmerne er skrevet for det. Få programmer er det og
få programmer har brug for det, men flertråede programmer bliver mere
og mere almindelige for multimedieprogrammer og spil.

Iøvrigt er det ikke alle dual-core Intel-cpu'er, der vil understøtte HT.

Forvent at flere og flere programmer bliver flertråede som HT og multicore
bliver almindeligt.

--PMM

+----------------------------------------------------------+
| Kabel-TV over Internettet   --   http://www.streamtv.dk/ |
+----------------------------------------------------------+



Follow ups

References