WinFuture-Forum.de: Core i7 2600 + Windows 7 = kein Hyperthreading? - WinFuture-Forum.de

Zum Inhalt wechseln

Alle Informationen zum Thema Windows 7 in unserem Special. Windows 7 Download, FAQ und neue Funktionen im Überblick.
Seite 1 von 1

Core i7 2600 + Windows 7 = kein Hyperthreading?


#1 Mitglied ist offline   bytecode77 

  • Gruppe: aktive Mitglieder
  • Beiträge: 47
  • Beigetreten: 16. Oktober 09
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 28. August 2011 - 00:56

Hi,

also ich hab einen Core i7 2600 und Windows 7. Der Taskmanager zeigt 8 Kerne an, aber es werden nur 4 benutzt. Wenn ich jedoch eine Prozessorlastige Anwendung benutze, die ich geschrieben habe, kann ich sehr wohl 8 Kerne ausnutzen. Warum tut Windows das dann nicht?
Eingefügtes Bild
0

Anzeige



#2 Mitglied ist offline   mush 

  • Gruppe: aktive Mitglieder
  • Beiträge: 896
  • Beigetreten: 29. Mai 07
  • Reputation: 7

geschrieben 28. August 2011 - 01:40

Das hat eben damit zutun, dass die CPU nur 4 Kerne besitzt. HT dient dazu, Anwendungen auch effizient berechnen zu können, wenn viele parallel laufen.

Threads sind halt nur Threads und keine Cores. Es lassen sich 8 "Warteschlangen" auf 4 Kerne aufteilen. Warum sollte eine Multicore-Anwendung ihre Arbeit auf 8 Threads ausbreiten, wenn es ebenso gut - und mit weniger Overhead - mit nur 4 Threads getan ist.

Anwendungen die Multicore-Support haben, nutzen halt (im Optimalfall) alle zur Verfügung stehenden Kerne und das sind in deinem Falle 4 und nicht 8.

Das hat im Übrigen auch nicht wirklich was mit Windows sondern vielmehr mit der Hardware zutun.

EDIT: Und wenn deine Anwendung 8 Threads startet/nutzt hast du entweder einen gewaltigen Fehler gemacht oder die Threadanzahl fix auf >=8 gesetzt.

Dieser Beitrag wurde von mush bearbeitet: 28. August 2011 - 01:47

insane in the membrane
1

#3 Mitglied ist offline   bytecode77 

  • Gruppe: aktive Mitglieder
  • Beiträge: 47
  • Beigetreten: 16. Oktober 09
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 28. August 2011 - 03:20

ich benutze in C#

Zitat

Environment.ProcessorCount


aber wir wollen ja hier nicht über Source-Code diskutieren ;)

Was mir aufgefallen ist, ist dass meine Anwendung mit 8 Threaads doppelt so schnell läuft, wie mit 4. Also gehe ich mal davon aus, dass diese 4 zusätzlichen, "virtuellen" Kerne tatsächlich wie echte Kerne zu behandeln sind, oder?
Dann frage ich mich, warum meine Software davon gebrauch macht, Windows aber nicht.
Eingefügtes Bild
0

#4 Mitglied ist offline   Mr. Floppy 

  • Gruppe: VIP Mitglieder
  • Beiträge: 4.126
  • Beigetreten: 01. Juli 08
  • Reputation: 271
  • Geschlecht:Männlich

geschrieben 28. August 2011 - 09:49

Bist Du Dir sicher, daß die vier physischen Kerne genutzt werden? Es könnten ja auch zwei physische + zwei virtuelle sein. So bliebe die CPU bei Last unter ihrem max. thermischen Budget und könnte den Turbo anwerfen, was i.d.R. mehr bringt als HT. Die Frage ist auch, warum man 8 Kerne nutzen soll, wenn selbst einer sich mit den Aufgaben eines Betriebssystems langweilt?

Wenn Deine Anwendung mit HT doppelt so schnell läuft, dann sei froh. So wie ich das verstanden habe, bringt HT nur was, wenn immer mal wieder Wartezeiten im Ablauf vorkommen (z.B. I/O). Dann springt HT als Lückenfüller ein, damit die CPU trotzdem was zu tun hat. Bei vielen Problemen aus dem HPC-Bereich dürfte HT aufgrund dieses Konzepts fast nichts bringen.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0