PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welches OS unterstützt HT?


LOCHFRASS
2003-08-02, 23:55:35
Ich will recht bald auf nen Dual Xeon DP aufrüsten und brauch noch ein passendes OS, was mit SMT klar kommt. Gibts da noch was anderes als XP?

kadder
2003-08-03, 00:14:09
dual xeon ergibt dann ja praktisch 4 CPUs, damit könnte das normale windowsXP schon probleme haben, bin mir aber nicht sicher. windows 2003 server sollte gehen.

was damit bestimmt hervorragend rennt ist Linux, eine der aktuellen distris sollte das eigentlich ohne weiteres verkraften. solange es keine gaming-maschine wird, dürftes du keine probleme kriegen.

Quasar
2003-08-03, 00:15:15
Von den Windosen ist es AFAIK das einzige. Der Scheduler von Windows2000 kann wohl nicht korrekt zwischen SMP und SMT unterscheiden, so daß es ziemliche Einbrüche geben kann.

Mit Linux, Solaris oder BeOS kenne ich mich nicht aus.

LOCHFRASS
2003-08-03, 00:20:51
Ist der 2003 Server nicht ein bisschen teuer, ich steh nicht so auf Warez. XP Home verträgt ja auch HT CPUs, die Pro wird dann ja wohl auch zwei HT CPUs mögen. Bis auf UT und UT2003 zock ich nix. Wie siehts unter Linux denn mittlerweile mit der SETI Performance aus? Vor einiger Zeit hatte ich mal nen T Bred 2000+ mit Knoppix laufen, der hat so 6h pro WU gebraucht, also absolut inakzeptabel.

Laufen UT und UT2003 eigentlich auch unter FreeBSD?

Original geschrieben von Quasar
Von den Windosen ist es AFAIK das einzige. Der Scheduler von Windows2000 kann wohl nicht korrekt zwischen SMP und SMT unterscheiden, so daß es ziemliche Einbrüche geben kann.

Mit Linux, Solaris oder BeOS kenne ich mich nicht aus.

2k und NT erkennen 4 echte CPUs, also würden eh nur die Server Versionen laufen.

kadder
2003-08-03, 00:48:58
hm, inwieweit winXP nicht auch 4 echte erkennt (bei M$ weiß man ja nie ;)) und dann eine teurere lizenz braucht weiß ich nicht.

mit windows wärst du wenigstens mit den games auf der sichereren seite, ut/ut2k3 sollten aber auch unter linux laufen, genauso wie qauek3 und cs.

wie es mit seti aussieht muss ich allerdings passen, suche selbst nicht nach aliens ;)

Crushinator
2003-08-03, 01:05:28
Original geschrieben von LOCHFRASS
(...) Wie siehts unter Linux denn mittlerweile mit der SETI Performance aus? Vor einiger Zeit hatte ich mal nen T Bred 2000+ mit Knoppix laufen, der hat so 6h pro WU gebraucht, also absolut inakzeptabel. (...) Das ist in der Tat inakzeptabel, weil ich auf selbiger CPU unter RedHat 7.3 bei etwa 2 Std. 40 Min. liege. :|

LOCHFRASS
2003-08-03, 01:17:14
Also liegts wohl nur an Knoppix? Ich hab hier noch Mandrake 8.1 und irgendein Debian, muss ich noch mal testen...

-=O.C.B=-
2003-08-03, 17:13:43
Original geschrieben von LOCHFRASS
Ich will recht bald auf nen Dual Xeon DP aufrüsten und brauch noch ein passendes OS, was mit SMT klar kommt. Gibts da noch was anderes als XP?

Hm,

von den MS-OS dürften das sein:

Windows 2000 Advanced Server und Datacenter + aktuelle SP
Windows 2003 Server

Bei WinXP-Prof wäre ich mir nicht so sicher...Es bietet zwar Support
für ne Dual-Config aber ob das auch XEONs mit HTT sein dürfen...

Ansonsten:

Linux/Unix/BSD/Solaris(x86)


Mal ne ne andere Frage: Wozu brauchst Du so ein "Monster"? Sach
nicht für Seti@Home...:D

-=O.C.B=-
2003-08-03, 17:14:49
Original geschrieben von LOCHFRASS
Also liegts wohl nur an Knoppix? Ich hab hier noch Mandrake 8.1 und irgendein Debian, muss ich noch mal testen...

Kann ich mir nicht so ganz vorstellen - Zumindest wenn Knoppix
komplett von der HDD lief...Unter der Haube steckt da doch ein
Debian...;)

Birdman
2003-08-03, 17:49:31
Original geschrieben von -=O.C.B=-
Bei WinXP-Prof wäre ich mir nicht so sicher...Es bietet zwar Support
für ne Dual-Config aber ob das auch XEONs mit HTT sein dürfen...
Ansonsten:
Linux/Unix/BSD/Solaris(x86)

HT-CPU's zählen nicht zum physikalischen limit von 2CPU's welche WIn2k und XP Professional haben. (dies schreibt Microsoft in einem .pdf) Daher kann man ein dual XeonHT Gespann sehr gut damit laufen lassen.
Ich habe dies auch mal probiert und es klappt problemlos...schöne "4" CPUs im Taskmanager.

Btw. mit Unix und Derivaten ist es so eine Sache...wer auf eine offizielle Distri setzt, geht afaik zur Zeit so ziemlich flöten mit HTT.
Natürlich kann man sich dann noch einen ensprechenden Kernel nachträglich hinpatchen, doch dies ist ja nicht jedermanns Sache.

geforce
2003-08-03, 17:55:11
Ich würde Windows 2003 Server draufknallen, hab ich auch im Dual-Boot laufen, geht ab wie eine Rakete, aber es dauert ewig bis man es auf Workstation-Niveau uminstaliert hat, weil es eben eigentlich ein Server-OS ist. ;)

LOCHFRASS
2003-08-03, 18:53:40
Original geschrieben von -=O.C.B=-
Mal ne ne andere Frage: Wozu brauchst Du so ein "Monster"? Sach
nicht für Seti@Home...:D

Eigentlich wollte ich mir einen oced Dual P3-S 1266 aufbauen, nur gibts recht große Probleme mit dem Intel OR840 und Socket 370 CPUs im SMP Betrieb. Außerdem finde ich nirgends einen zweiten SL6JN.

Ein netter Nebeneffekt der Xeons ist, dass so eine Kiste, je nach Übertaktung, schon so 30-40 WU/Tag schaffen sollte. Mit dem ASUS Dual i875P Brett und 260-270 MHz FSB samt PC3200 Crucials (http://www.hardwareluxx.de/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=6&t=000024&p=4) könnten das auch so 40-50 WU/Tag sein :D

Birdman
2003-08-03, 18:56:14
XEONs sind ausserdem unlocked....hier lohnt es sich etwas Geld in gute RAM zu stecken um eine möglichst hohen FSB zu erreichen. (wobei bis jetzt ja noch keine 800er FSB XEON's von Intel angekündigt worden sind)

LOCHFRASS
2003-08-03, 19:11:26
Deshalb warte ich ja auch auf das ASUS PC-DL Deluxe mit i875P, die Crucials sind auch ganz taktfreudig :D

Becks
2003-08-05, 21:08:11
dumme frage von mir, bin mir jetzt nicht sicher, unterstützt ME Hyper Threading???

LOCHFRASS
2003-08-05, 21:42:29
ME = DOS = kein SMP oder gar SMT Support

StefanV
2003-08-05, 21:50:52
Original geschrieben von kadder
dual xeon ergibt dann ja praktisch 4 CPUs, damit könnte das normale windowsXP schon probleme haben, bin mir aber nicht sicher. windows 2003 server sollte gehen.


ACHTUNG!!!

Logische CPU != physikalische CPU



Soll heißen:

Windows XP unterstützt in der PRO Version maximal 2 PHYSIKALISCHE CPUs, wieviele logische CPUs das sind ist völlig Banane...

StefanV
2003-08-05, 21:52:26
Original geschrieben von Beckham
dumme frage von mir, bin mir jetzt nicht sicher, unterstützt ME Hyper Threading???


Becks
2003-08-06, 19:53:09
Original geschrieben von Stefan Payne


mist, dann muss ich auf XP umsteigen!:(

an das hab ich noch gar nicht gedacht! mist!:...(

edit: in 2 wochen hol ich mir eine 2,4C *freu*

Meth
2003-08-07, 00:36:57
Wuerd Linux empfehlen, UT und UT2003 laufen auch problemlos! Und der comandlineclient arebitet auch recht gut!

Harleckin
2003-08-07, 13:27:52
Original geschrieben von Birdman
Btw. mit Unix und Derivaten ist es so eine Sache...wer auf eine offizielle Distri setzt, geht afaik zur Zeit so ziemlich flöten mit HTT.
Natürlich kann man sich dann noch einen ensprechenden Kernel nachträglich hinpatchen, doch dies ist ja nicht jedermanns Sache.
Falsch!
Nimm einen Kernel >= 2.4.18 für den P4 mit SMP-Support und die Sache rennt wie nix.
Patchen muss man da gar nix.


MfG

immi
2003-08-10, 21:52:24
Also OS/2 tuts. Hab Warp Server for eBusiness drauf gehabt. Mit dem neuesten SMP-Kernel erkennt er die cpu korrekt. Wenn jetzt noch jemand mit nem smp-faehigen pulse rueberkommt, koennt ichs auch screenshotmaessig belegen und nicht nur an der performance merken.... ;-)

BUGFIX
2003-08-28, 16:44:01
Also wenn man auf ner Dualkiste wirklich harcore Rechnen will wür ich HT glatt abschalten:
Wenn ich 2 Prozesse auf 2 (physikalische) CPUs verteile kann jeder Prozess den gesammten 2nd Lv-Cache der CPU nutzen - wenn dagegen windoof meint da seien ja noch 2 Prozessoren werden andere Prozesse(mit der gleichen priorität wie die Anwendungen) "dazwischengeschoben" - mitunter zerstückelt der dann den Prozess und legt ein Thread auf den ersten Prozessor und den anderen auf den zweiten und schon haste ne gehörige Datentraffic zwischen Cache und RAM und bremmst damit dann deine Anwendungen wieder aus.

Das wäre jendefalls meine Überlegung dazu.

MfG

BUGFIX

LOCHFRASS
2003-08-28, 20:10:06
Windoof würde garantiert nicht drauf kommen, der Dual Xeon ist aber erst mal auf Eis gelegt, bis es erste Langzeit-Erfahrungsberichte zum PC-DL Deluxe gibt, ich trau ASUS da nicht so...

GloomY
2003-08-28, 20:11:35
Original geschrieben von BUGFIX
Also wenn man auf ner Dualkiste wirklich harcore Rechnen will wür ich HT glatt abschalten:
Wenn ich 2 Prozesse auf 2 (physikalische) CPUs verteile kann jeder Prozess den gesammten 2nd Lv-Cache der CPU nutzen - wenn dagegen windoof meint da seien ja noch 2 Prozessoren werden andere Prozesse(mit der gleichen priorität wie die Anwendungen) "dazwischengeschoben" - mitunter zerstückelt der dann den Prozess und legt ein Thread auf den ersten Prozessor und den anderen auf den zweiten und schon haste ne gehörige Datentraffic zwischen Cache und RAM und bremmst damit dann deine Anwendungen wieder aus.

Das wäre jendefalls meine Überlegung dazu.

MfG

BUGFIX Deine Überlegungen sind korrekt. Nur muss dieses Verhalten nicht umbedingt auftreten. Wenn sowohl Daten und Code der beiden Threads in die Caches passen, dann ist das unkritisch. Sobald aber mindestens einer der beiden Threads häufiger auf den Hauptspeicher zugreifen muss, wird der Cache früher oder später zwangsläufig auch Inhalte des anderen Threads rausschmeissen (meist wird ja eine pseudo-LRU (last recently used) Ersetzungsstrategie verwendet). Das führt dann wieder zu Cache Misses des anderen Threads, der wiederrum Daten des ersten Threads rauswirft usw...

IBM plant für den Power5 eine Hard-/Software Steuerung der Prioritäten der Threads innerhalb der Prozessoren. Anders als bei Intels Hyperthreading könnte man so zumindest einen gewissen Einfluss auf die Ausführung und die Recourcenverteilung innerhalb des Prozessors nehmen.
Auf diesem Bild (http://www.chip-architect.net/news/HotChips15_Power5_thread_priority.jpg) kann man nebenbei auch erkennen, dass der single-thread Betrieb eben auch mal schneller sein kann als der Betrieb mit zwei Threads.

SMT verteilt (fast) alle Recourcen auf alle Threads, um höchstmögliche Auslastung zu erreichen und ILP und TLP zu maximieren. Das Verteilen der Recourcen ist sowohl die größte Stärke als auch zugleich die größte Schwäche von SMT.

BUGFIX
2003-08-29, 02:29:45
Wenn ich dich richtig verstehe müsste SMT auf einer CPU mit viel (2MB) 2nd Lv-Cache mehr bringen als auf einer CPU mit zb nur 512KB

IMO war das früher mal ein Thema als es darum ging Celerons in Dualbetrieb zu fahren - die dinger hatten einfach zu wenig cache als das es wirklich viel gebrach hätte (nur ca 130% gegenüber single Betrieb)

Was mir bis jetzt noch unklar ist , wie bei SMT genau der "freie" Bereich in der CPU verteilt wird. Ist das dynamisch , oder gehören je die hälfte der ALUs bzw FPUs einer Logical Unit?

MfG

BUGFIX

Becks
2003-08-30, 21:06:04
Original geschrieben von GloomY

...
Auf diesem Bild (http://www.chip-architect.net/news/HotChips15_Power5_thread_priority.jpg) kann man nebenbei auch erkennen, dass der single-thread Betrieb eben auch mal schneller sein kann als der Betrieb mit zwei Threads.
...



sorry, aber ich erkenn da wirklich nicht´s:bonk:

mich würde ausserdem mal interessieren, um wieviel (%???) ein P4 mit HT "schneller" ist als ohne Hyper Threading!

danke!

PS: denn ich überlege, wieder auf ME umzusteigen und das unterstützt ja HT nicht;)

Endorphine
2003-08-30, 21:19:14
Original geschrieben von GloomY
Das Verteilen der Recourcen ist sowohl die größte Stärke als auch zugleich die größte Schwäche von SMT. Ich sehe es so: es ist eine Schwäche für die derzeitige Benchmarkgeneration, die auf singlethreading ausgelegt sind. SMT erhöht den Durchsatz (! - kann man nicht oft genug wiederholen) des Gesamtsystems. Das führt im Endeffekt durch die Ressourcenteilung auch dazu, dass einzelne Threads/Tasks mal einen Tick Leistung verlieren. Insgesamt ist jedoch zu >99% ein Durchsatzgewinn zu verzeichnen. Das ist eher ein messtechnisches Benchmarkproblem, diese Zusammenhänge darzustellen.

Ausserdem ist SMT ja noch in einem recht frühen Stadium. Sowohl die Software (insb. Task Scheduler, vielleicht bald auch multithreaded SW) als auch die Hardware braucht noch einiges an Reifezeit. Insgesamt halte ich SMT für die perfekte Idee, um die CPU-interne Parallelität via Hardware nach aussen zu tragen. Ohne SMT werden weitere Architekturverbesserungen innerhalb der CPU immer weniger Grenznutzen bringen. Ohne SMT bleibt dann nur noch der Schritt, die serielle Arbeitsweise SMT-loser CPUs so schnell ablaufen zu lassen, dass trotzdem noch mehr Leistung übrig bleibt (Takt, Takt und nochmals Takt). SMT geht einen intelligenteren Weg. Ich hoffe immer noch, dass AMD bald auf den Zug aufspringt.

GloomY
2003-08-31, 23:08:25
Original geschrieben von BUGFIX
Wenn ich dich richtig verstehe müsste SMT auf einer CPU mit viel (2MB) 2nd Lv-Cache mehr bringen als auf einer CPU mit zb nur 512KBJa, sie ist schneller, aber die CPU ohne SMT ist mit 2 MB statt 512 kB Cache ja auch schneller. ;) Es kommt halt drauf an, wie groß die verwendeten Daten sind und ob diese in den Cache passen. Da bei SMT immer zwei Threads gleichzeitig aktiv sind, sind diese einfach auch gleichzeitig im Cache. Wie sich das auf die Geschwindigkeit auswirkt, ist (wie erwähnt) von den Größen des Caches und der Daten der Threads abhängig.
Original geschrieben von BUGFIX
Was mir bis jetzt noch unklar ist , wie bei SMT genau der "freie" Bereich in der CPU verteilt wird. Ist das dynamisch , oder gehören je die hälfte der ALUs bzw FPUs einer Logical Unit?Der Großteil der Bereiche der CPU (Cache, Ausführungseinheiten, Branch Prediction Unit, virtuelle Registeranzahl) wird von den beiden Threads geteilt. Nur wenige Recourcen wie der reale Registersatz, TLB oder Interrupt Controller sind wirklich doppelt vorhanden.

Für die einfach ausgeführten Recourcen müssen die Threads konkurrieren, wobei es (zumindest beim P4) keine feste Aufteilung gibt. Soetwas gibt es nur bei einem CMP Prozessor (On-Chip Multiprozessor), welcher aber auch nicht so effizient ist, wie SMT. Gerade die Möglichkeit, Recourcen zu teilen ist ja eigentlich der grosse Vorteil von SMT, der eben manchmal eben auch zu einem Nachtteil wird, wenn sich die Threads gegenseitig behindern.

Besonders bei der Verteilung der Befehle in die Ausführungseinheiten (Scheduling) herrscht keinerlei Bevorzugung. Der Scheduler kann die Befehle so verteilen, wie er möchte, meist macht er es so, dass er maximalen Durchsatz erzielt. Theoretisch laufen damit innerhalb der CPU beide Threads gleichschnell. Wenn das Betriebssystem nicht ständig die auszuführenden Threads wechseln würde, wäre die Ausführungsgeschwindigkeit von zwei Threads wirklich fast immer gleich. Das ist u.a. auch der Grund, warum zwei Threads mit hoher Rechenanforderung beim P4 auch fast gleichschnell abgearbeitet werden, auch wenn sie komplett verschiedene Betriebssystem-Prioritäten haben. (Siehe hier (http://www.forum-3dcenter.net/vbulletin/showthread.php?postid=1075789#post1075789)).

IBM hat für seinen Power5 die eben erwähnte Priorisierung innerhalb der CPU implementiert. Damit ist es möglich, dass der Scheduler nun z.B. 70% des einen Codes und 30% des Codes des anderen Threads ausführt. Branch Prediction oder Cache (Ersetzungsstrategie) dürften ähnlich priorisiert sein.
Original geschrieben von Endorphine
Ich sehe es so: es ist eine Schwäche für die derzeitige Benchmarkgeneration, die auf singlethreading ausgelegt sind. SMT erhöht den Durchsatz (! - kann man nicht oft genug wiederholen) des Gesamtsystems. Das führt im Endeffekt durch die Ressourcenteilung auch dazu, dass einzelne Threads/Tasks mal einen Tick Leistung verlieren. Insgesamt ist jedoch zu >99% ein Durchsatzgewinn zu verzeichnen. Das ist eher ein messtechnisches Benchmarkproblem, diese Zusammenhänge darzustellen.Nein, wie man z.B. auf dem Foto sieht, muss das nicht so sein. Die Threads können (z.B. durch ständige gegenseitige Cache Konflikte) wirklich langsamer sein (ich meine den insgesamten Durchsatz). Das ist keine Implementierungssache sondern kommt wirklich von der Eigenschaft, dass SMT eben mehrere Teile der CPU für beide Threads teilen muss.

Z.B. ist ein CMP Prozessor (der wirklich ALLES doppelt hat und nichts shared) wirklich immer schneller wenn er zwei Threads ausführt und NIE langsamer als wenn er nur einen hat.

GloomY
2003-08-31, 23:17:32
Original geschrieben von Beckham
sorry, aber ich erkenn da wirklich nicht´s:bonk:

mich würde ausserdem mal interessieren, um wieviel (%???) ein P4 mit HT "schneller" ist als ohne Hyper Threading!

danke!

PS: denn ich überlege, wieder auf ME umzusteigen und das unterstützt ja HT nicht;) Auf der y-Achse ist die Ausführungsgeschwindigkeit beider Threads aufgetragen (IPC = Instructions per Clock), wobei die der beiden Threads aufaddiert wird. Der Balken ganz links und ganz rechts ist die Ausführungsgeschwindigkeit bei einem Thread (der Balken hat eine durchgehende Farbe).
Dabei kann man gut erkennen, dass die Geschwindigkeit hier ein Stück höher ist, als wenn man z.B. 90% Thread 1 und 10% Thread 2 laufen lässt. Bei einem Thread werden eben keinerlei Recourcen geshared, ergo gibt es auch keine Konflikte.

BUGFIX
2003-09-01, 17:27:48
Um auf das Beispiel mit den 2 SMT-CPUs zurückzukommen:
IM OS erhalte ich dann 4 virtuelle Prozessoren dene ich mit hilfe des Taskmanagers 4 Prozesse verteilen könnte.
Wenn jetzt aber Prozess 1 und 2 auch der CPU1 laufen und beide sehr Fließkomma lastig sind und Prozess 3 gerade IO Operationen durchführt und Prozess 4 hauptsäschlcih ALU lastig ist [ Prozess 3 und 4 laufen auf CPU2], dann wäre es sinnvoller 2 Prozesse zu tauschen (1 mit 3 z.B.) Wenn aber Windows keine feste zuweisung bekommt veteilt er sie IMO rein zufällig. Und genau hier ist doch die eigntliche Schwachstelle von SMT: der ProzessSceduler müsste VORHER "wissen" welche art von Auslastung der jeweilige Prozess verursacht um obengenannte Problematik zu umgehen. Nur leider "weiß" er es nicht.

Deshalb würde ich sagen:
je mehr (Physikalische Prozessoren) desto geringer der nutzen von SMT

Oder sehe ich hier was falsch?

MfG

BUGFIX