Programm läuft nur auf einem CPU-Kern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
HollySheep
User
Beiträge: 1
Registriert: Donnerstag 10. Oktober 2024, 17:03

Hallo,

ich bin kein Programmierer und kann kein Python. Ich nutze das Programm "zoffline" (https://github.com/zoffline/zwift-offline) auf einem Raspberry Pi. Das ist eine Art Server-Software für eine Heimtrainer-Software auf dem Tablet. Das Programm startet flüssig auf jedem normalen Rechner, aber es dauert recht lange auf dem Pi (getestet mit einem Pi 3). Während des Startprozesses belegt es einen der 4 CPU-Kerne zu 100%, ist es einmal gestartet läuft es relativ sparsam. Der Entwickler scheint dort leider nur noch wenig aktiv zu sein. Ist es möglich das Programm auch allen 4 Kernen laufen zu lassen? Oder müsste dazu das ganze Programm angepasst werden?

Grüße
HollySheep
Benutzeravatar
__blackjack__
User
Beiträge: 13998
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@HollySheep: Man kann nicht einfach bei einem beliebigen Programm sagen es soll auf mehr als einem Kern laufen. Man muss im Programm sagen *was* parallel laufen soll, und man kann auch nicht einfach alles parallel laufen lassen. Und bei Sachen die parallel laufen können, muss man beim programmieren darauf achten, das dabei keine Probleme durch die parallele Abarbeitung auftreten können.

Zumal es ja auch gar nicht wirklich ein Problem gibt wenn das ganze im laufenden Betrieb „relativ sparsam“ läuft.

Beim optimieren sollte man auch immer erst mal messen wo die Zeit verbraucht wird. Kann beispielsweise sein, dass der Flaschenhals beim Start die langsame SD-Karte ist. Dann würde parallelisieren am Ende vielleicht noch langsamer werden wenn mehrere Kerne parallel um den Kartenzugriff konkurrieren und sich gegenseitig ausbremsen.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Antworten