Maximal mögliche Anzahl Kerne/Threads

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
Martin Vieregg
Posts: 332
Joined: Tue 19. Aug 2014, 09:30

Maximal mögliche Anzahl Kerne/Threads

Post by Martin Vieregg » Mon 27. Jul 2020, 08:57

Ich habe mit meinem AM4-Board von 2018 nun die Möglichkeit, auf einen deutlich verbesserten Prozessor in 7nm Strukturgröße umzusteigen. Aktuell verwende ich erfolgreich einen Ryzen 3200G (mit integrierter Grafik), 4 Prozessoren und auch nur 4 Threads. Gibt es Probleme, wenn man zu viele Prozessoren und/oder Threads hat? Ich hätte gerne einen 4650G mit 6 Prozessoren und 12 Threads. Ich kann die Rechenleistung unter Windows gut brauchen, aber es sollte unter ArcaOS halt ohne Probleme laufen. Nutzt OS/2 eigentlich die Threads? Hat der Pulse dann wirklich 12 Linienverläufe?

User avatar
MikeK
Posts: 265
Joined: Mon 23. Dec 2013, 13:51
Location: Potsdam

Post by MikeK » Mon 27. Jul 2020, 09:31

Hallo,
bei mir laufen 2 Kerne mit 4 Threads (Intel / Hyperthreading enabled) ohne Probleme. Aber selbst Arche Noah sagt, dass Hyperthreading zu aktivieren keine gute Idee ist. Also besser nicht drauf verlassen.
Grüße aus Potsdam,
Mike

User avatar
Sandra Asja Eickel
Posts: 21
Joined: Sat 30. Dec 2017, 01:00

Post by Sandra Asja Eickel » Mon 27. Jul 2020, 21:44

Wenn ich mich richtig erinnere, dann stand in der Dokumentation zum Warp Server Advanced SMP etwas von maximal 64 CPUs, optimiert für 8 CPUs. Damals gab es nur einen Kern (und damit auch keine Krüppel-Kerne wie bei Hyperthreading) pro CPU-Sockel, ich hatte ein Gigabyte-Mainboard mit zwei Sockeln (GA586DX).

Den ganz großen ThreadRipper oder EPYC solltest Du also vielleicht nicht nehmen (64 echte Kerne plus noch mal soviele Krüppel).
Falls ansonsten Intel Hyperthreading oder das AMD Equvalent Ärger machen, kann man eine Funktionalität nutzen, um unerwünschte Kerne auszublenden (entweder über ACPI-Parameter, OS2Loader-CFG oder sogar nur beim OS/4 Kernel), allerdings muß man dann wissen, welche der Kerne die "echten" und welche die Krüppel sind.

Bei einigen Leuten läuft auch HT problemlos, bei anderen nicht. Die Variante von AMD soll besser funktionieren. Die Stabilität hängt natürlich auch von der sonstigen eingesetzten Hardware und deren Treibern ab sowie von der Anwendungssoftware. Bei Fehlern soll man es dann immer mal zuerst mit MAXCPU=1 probieren, also, ob das Problem auch bei nur einem einzigen CPU-Kern auftritt, ansonsten immer mit abgeschaltetem HyperThreading. OS/2 und dessen Scheduler wissen nichts davon, daß die Hälfte der Kerne nur Krüppel sind (Windows zeigt den Unterschied nicht an, berücksichtigt ihn aber).

Liebe Grüße
Sandra Asja Eickel

Martin Vieregg
Posts: 332
Joined: Tue 19. Aug 2014, 09:30

Post by Martin Vieregg » Mon 27. Jul 2020, 22:49

ansonsten immer mit abgeschaltetem HyperThreading.
Schalte ich das im BIOS ein und aus? Aktuell habe ich einen Ryzen 3200G mit 4 echten Kernen und kein Hyperthreading, aber die Varianten mit lauter echten Kernen sterben aus. Bei den neuen 7nm Prozessoren mit integrierter Grafik gibt es jetzt auch nur noch mit Hyperthreading, Zusammenstellung siehe hier. Bei den älteren Modellen, siehe hier, gab es die schwachbrüstigen noch ohne virtuelle Kerne.

User avatar
thorolf
Posts: 425
Joined: Wed 25. Dec 2013, 16:14
Location: Rhein-Main

Post by thorolf » Tue 28. Jul 2020, 00:24

Martin Vieregg wrote:
Mon 27. Jul 2020, 22:49
ansonsten immer mit abgeschaltetem HyperThreading.
Schalte ich das im BIOS ein und aus? Aktuell habe ich einen Ryzen 3200G mit 4 echten Kernen und kein Hyperthreading, aber die Varianten mit lauter echten Kernen sterben aus. Bei den neuen 7nm Prozessoren mit integrierter Grafik gibt es jetzt auch nur noch mit Hyperthreading, Zusammenstellung siehe hier. Bei den älteren Modellen, siehe hier, gab es die schwachbrüstigen noch ohne virtuelle Kerne.
das ist abzuschalten ist Quatsch, meistens bringt Hyperthreading sehr wohl was, weil damit sonst ungenutzte Recheneinheiten parallel zu den "echten" Kernen verwendet werden können. Im schlimmsten Fall wird es mit Hyperthreading nicht schneller, aber es "schadet" nur in ganz wenigen Fällen, wo es dann tatsächlich notwendig ist HT im BIOS zu deaktivieren.

Das SMP vom OS/2 Warp Server Advanced wurde m.W. damals mit maximal 64 Kernen getestet, was allerdings bedingt aussagekräftig ist, weil die aktuelle Implementierung eine ganz andere ist, lediglich der OS2-Kernel ist vergleichbar geblieben.
Grüße,

Thorolf

erdmann
Posts: 357
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann » Tue 28. Jul 2020, 14:44

Kein Mensch schaltet freiwillig HT aus. Aber warum auch immer, die SMP Implementierung von OS/2 verträgt kein Hyperthreading. Ich bin selbst überrascht dass das so sein soll weil HT weitgehend völlig transparent funktionieren sollte. Allerdings gibt es bestimmte "Sonder" Register (z.B. MSRs oder CR4 etc.) die FÜR JEDEN logischen Prozessor exisitieren und deshalb auch für jeden logischen Prozessor zur Initialisierung gesetzt werden müssen. Andere dieser Register existeren jedoch nur für jede UNIT (heisst glaub ich manchmal auch Package, sind alle logischen Prozessoren eines cores) Ich nehme an, der OS/2 SMP kernel ist einfach zu alt um das alles für die neuen Prozessoren richtig zu machen.

Ich benutze eine AMD "Bulldozer" CPU mit 8 logischen Prozessoren bzw. 4 Units/Packages. Ich habe über das BIOS jetzt 1 logischen Prozessor pro Unit eingestellt.
Ich merk da keinen Unterschied in der Performance. Im Gegenteil, ich habe sogar gelesen, dass die Prozessorarchitektur so schlecht ist (zwei logische Prozessoren "teilen sich zu viel HW"), dass diese Einstellung die bessere Wahl ist.