Ich versuche herauszufinden, wie ein Betriebssystem (Windows, Linux) Zahlen logischen CPUs in einer Umgebung mit aktiviertem Hyper-Threading zuweist. ?CPU-Nummerierung auf einem System mit aktiviertem Hypertheading
Ordnen beide Betriebssysteme den physikalischen CPUs zuerst seriell Nummern zu und beginnen dann mit der Nummerierung der logischen CPUs oder folgt eine andere Regel? z.B. Gibt ein Betriebssystem in einem 2 physikalischen CPU-System mit Hyper-Threading der ersten physischen CPU die Nummer 0,2 und dann der physischen 1: 2-CPU die Nummer?
Alle Referenzen würden wirklich geschätzt werden.
Vielen Dank im Voraus.
Grüße, -Jay.
Bearbeiten: Reagieren auf Alans Frage: Ich muss dies wissen, weil ich in meiner Arbeit verschiedene Threads an bestimmte CPUs binden muss, um Kontextwechsel zu vermeiden, und ich möchte sicherstellen, dass bestimmte Tasks (Threads) an gebunden sind separate physikalische cpus. Danke
Ich möchte das konifizieren, weil ich verschiedene Aufgaben (Threads) an verschiedene logische CPUs binden will. –
Aber warum? Der Thread-Scheduler sorgt dafür, dass die Last zwischen den Kernen korrekt ausgeglichen wird. In der Regel ist dies nicht manuell erforderlich (dies kann die Leistung beeinträchtigen) und kann bei Randfällen zu unerwarteten Nebeneffekten führen. –
Einige der Algorithmen, die wir verwenden, haben die Zeitbeschränkungen in Mikrosekunden. Wenn wir also die CPU-Affinität für diese mehreren Threads, die diese Algos verarbeiten, nicht erzwingen, machen die Kontextwechsel diese Timing-Deadlines unmöglich zu erreichen. . –