Kernfrage (Linux) ...
-
- Task-Killer
- Beiträge: 752
- Registriert: 05.09.2001 01:00
- Wohnort: Porta Westfalica
- Kontaktdaten:
Kernfrage (Linux) ...
Hi
Ich bin neben Boinc jetzt auch wieder eigene Projekte am Rechnen. Konkret geht es um Linux (OpenSuse Leap), wo ich neben Boinc auch wieder mein Faktalrogramm laufen lasse (Kalles Fraktaler 2, ist allerdings ein Windoof-Prog, lasse ich aber problemlos über wine laufen).
Meine Frage: da ich auf das Fertigwerden des Fraktalprogramms idR. warte, soll dieses eine bestimmte Anzahl an CPU-Kernen zugewiesen bekommen. Aufgrund des speziellen Rechenprinzips braucht das Fraktalprogramm meistens 3-4 Treads. Diese 4 Treads sollen jeweils einen eigenen CPU-Kern kriegen, der soll auch nicht über Hyperthreading von Boinc mit angeknabbert werden. Wenn das Fraktalprogramm mehr Treads braucht, soll es auch entspr mehr Kerne bekommen, die dann allerdings in Konkurenz mit Boinc.
Frage: wie kriege ich es hin, daß eine bestimmte Anzahl Kerne exclusiv für das Fraktalprogramm reserviert werden (komplette Kerne, die nicht durch HT von anderen Programmen mitbenutzt werden - das ist das eigentliche Kernproblem).
Ich bin neben Boinc jetzt auch wieder eigene Projekte am Rechnen. Konkret geht es um Linux (OpenSuse Leap), wo ich neben Boinc auch wieder mein Faktalrogramm laufen lasse (Kalles Fraktaler 2, ist allerdings ein Windoof-Prog, lasse ich aber problemlos über wine laufen).
Meine Frage: da ich auf das Fertigwerden des Fraktalprogramms idR. warte, soll dieses eine bestimmte Anzahl an CPU-Kernen zugewiesen bekommen. Aufgrund des speziellen Rechenprinzips braucht das Fraktalprogramm meistens 3-4 Treads. Diese 4 Treads sollen jeweils einen eigenen CPU-Kern kriegen, der soll auch nicht über Hyperthreading von Boinc mit angeknabbert werden. Wenn das Fraktalprogramm mehr Treads braucht, soll es auch entspr mehr Kerne bekommen, die dann allerdings in Konkurenz mit Boinc.
Frage: wie kriege ich es hin, daß eine bestimmte Anzahl Kerne exclusiv für das Fraktalprogramm reserviert werden (komplette Kerne, die nicht durch HT von anderen Programmen mitbenutzt werden - das ist das eigentliche Kernproblem).
Re: Kernfrage (Linux) ...
Was passiert, wenn du Wine per taskset Threads zuweist und Boinc mit X Threads minus benötigter Anzahl für Wine laufen lässt?
- Michael H.W. Weber
- Vereinsvorstand
- Beiträge: 22071
- Registriert: 07.01.2002 01:00
- Wohnort: Marpurk
- Kontaktdaten:
Re: Kernfrage (Linux) ...
Du kannst das Ganze auch von BOINC aus denken und dort einfach die Apps auf x Kerne limitieren - entweder über eine app_config.xml oder indem Du im Manager nur x% CPUs zulässt.
Eine Dynamik in der Zuweisung wirst Du damit allerdings wohl nicht realisieren können.
Michael.
Eine Dynamik in der Zuweisung wirst Du damit allerdings wohl nicht realisieren können.
Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B


-
- Task-Killer
- Beiträge: 752
- Registriert: 05.09.2001 01:00
- Wohnort: Porta Westfalica
- Kontaktdaten:
Re: Kernfrage (Linux) ...
Hi,
was mir bei taskset nicht ganz klar ist, ist, ob sich die gemachte Einstellung beim Start von Boinc (-client) auf auf die gestarteten Anwendungen überträgt. Letztendlich müssen ja die von Boinc gestarteten Projekt-Anwendungen entspr. zugeordnet sein. Ist das so?
Was ich unterm Strich brauche, ist folgendes: Die CPU hat 12 Kerne (24 Threads), 4 Kerne (8Threds) sollen frei bleiben, den Rest soll Boinc mit HT nutzen. Für Boinc soll es so aussehen, als wenn ich nur eine 8kernige CPU habe ...
was mir bei taskset nicht ganz klar ist, ist, ob sich die gemachte Einstellung beim Start von Boinc (-client) auf auf die gestarteten Anwendungen überträgt. Letztendlich müssen ja die von Boinc gestarteten Projekt-Anwendungen entspr. zugeordnet sein. Ist das so?
Was ich unterm Strich brauche, ist folgendes: Die CPU hat 12 Kerne (24 Threads), 4 Kerne (8Threds) sollen frei bleiben, den Rest soll Boinc mit HT nutzen. Für Boinc soll es so aussehen, als wenn ich nur eine 8kernige CPU habe ...
Re: Kernfrage (Linux) ...
Wenn ich eine VM mit taskset irgendwo festnagele, nimmt Boinc die anderen Threads.
Deshalb würde ich versuchen, Wine irgendwo festzumachen.
Auf meinem Mac bleibt das im Hintergrund, wenn es einmal gestartet ist, aber unter Linux habe ich es nicht, deshalb fragte ich, wie es sich verhält.
Deshalb würde ich versuchen, Wine irgendwo festzumachen.
Auf meinem Mac bleibt das im Hintergrund, wenn es einmal gestartet ist, aber unter Linux habe ich es nicht, deshalb fragte ich, wie es sich verhält.
- Michael H.W. Weber
- Vereinsvorstand
- Beiträge: 22071
- Registriert: 07.01.2002 01:00
- Wohnort: Marpurk
- Kontaktdaten:
Re: Kernfrage (Linux) ...
Du rechnest nur ein BOINC Projekt und schreibst in dessen Ordner die app_config.xml mit dem
<project_max_concurrent>20</project_max_concurrent>
Schalter rein. Dann werden von diesem Projekt maximal 20 WUs parallel gestartet und es bleiben 4 virtuelle Kerne frei.
Darf kein Projekt sein, dass multicore-fähig ist, sonst musst Du das anpassen.
Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B


-
- Fingerzähler
- Beiträge: 1
- Registriert: 28.04.2023 04:45
Re: Kernfrage (Linux) ...
Hallo Jürgen,
Um eine bestimmte Anzahl von CPU-Kernen exklusiv für das Fractal-Programm zu reservieren, können Sie das Linux-Dienstprogramm "taskset" verwenden. Mit dem Befehl „taskset“ können Sie die CPU-Affinität für einen bestimmten Prozess festlegen, was bedeutet, dass Sie dem Prozess bestimmte CPU-Kerne zuweisen und andere Prozesse daran hindern können, diese Kerne zu verwenden. io games
Um "taskset" zu verwenden, müssen Sie zuerst die Prozess-ID (PID) des Fraktalprogramms finden. Sie können dies tun, indem Sie den Befehl „ps“ ausführen, der alle laufenden Prozesse zusammen mit ihrer PID auflistet. Sobald Sie die PID haben, können Sie den Befehl „taskset“ verwenden, um die CPU-Affinität für den Prozess festzulegen.
Um eine bestimmte Anzahl von CPU-Kernen exklusiv für das Fractal-Programm zu reservieren, können Sie das Linux-Dienstprogramm "taskset" verwenden. Mit dem Befehl „taskset“ können Sie die CPU-Affinität für einen bestimmten Prozess festlegen, was bedeutet, dass Sie dem Prozess bestimmte CPU-Kerne zuweisen und andere Prozesse daran hindern können, diese Kerne zu verwenden. io games
Um "taskset" zu verwenden, müssen Sie zuerst die Prozess-ID (PID) des Fraktalprogramms finden. Sie können dies tun, indem Sie den Befehl „ps“ ausführen, der alle laufenden Prozesse zusammen mit ihrer PID auflistet. Sobald Sie die PID haben, können Sie den Befehl „taskset“ verwenden, um die CPU-Affinität für den Prozess festzulegen.