Programm Mit Nur Einer Cpu Starten

.point

Lieutenant
Registriert
Mai 2006
Beiträge
863
Hallo,
ich brauch mal eure Hilfe. Im Rahmen meiner Seminararbeit muss ich auf Multicoreprozessoren und Betriebssysteme eingehen.

Ich habe ein kleines Programm geschrieben, dass eine Berechnung N-mal ausführt, einfach damit die CPU beschäftigt ist
Das Programm gibt es in verschiedenen Versionen.
- Ablauf seriell und mit 2-10 Threads.

Da ich einen Core2Duo habe, wird ja das Betriesbsystem bei der Berechnung von 2 Threads automatisch auf den zweiten Kern übertragen. Bei serieller Ausführung wird nur ein Kern angesprochen etc.

Gibt es einen Parameter oder eine Funktion, dass ich das Programm (mit 2 oder mehr Threads) dennoch nur auf einem Kern laufen lassen kann, oder kann ich beim Scheduling des OS nicht eingreifen?

Ich arbeite mit openSuse 10.2.
 
Wenn ich das richtig verstehe, müsste die CPU dann nicht wie der ehemalige P4 das Hyperthreading besitzen? Das ist beim C2D ja nicht der Fall.

Wenn ich völlig daneben liege, bitte ich um Entschuldigung.
 
Naja Hyperthreading macht ja nur zwei Threads gleichzeitig - wenn kein Hyperthreading da ist, werden die Threads einfach nacheinander abgearbeitet.
 
Ja, das is mir klar. Aber er schreibt ja, dass er auf einem Kern 2 oder mehr Threads durchführen will. Das hatte ich jetzt so verstanden, als wenn diese Threads gleichzeitig abgearbeitet werden sollen und nicht nacheinander.
 
AvenDexx schrieb:
Ja, das is mir klar. Aber er schreibt ja, dass er auf einem Kern 2 oder mehr Threads durchführen will. Das hatte ich jetzt so verstanden, als wenn diese Threads gleichzeitig abgearbeitet werden sollen und nicht nacheinander.

Die Threads sollen nacheinander abgearbeitet werden.

Ich habs jetzt mit dem Befehl "taskset" gemacht.

Wie weit wirkt sich das mit Hyperthreading aus?
 
Da du einen Core2Duo hast, wird kein Hyperthreading unterstützt.
 
Zurück
Oben