Software für mehrere Rechenkerne/Prozessoren?

Hallo,

mich würde mal interessieren wer, wie und in welchem Umfang
die neue Prozessorgeneration eigentlich nutzt.
Wie wird die Software gesteuert?
Ich stelle mir vor, dass bisher alles sequentiell ablief und gewisse Abläufe jetzt parallelisiert werden können.
Welche Art von Programmen nutzt dies auf welche Art und Weise?
Ist meine Vorstellung realitätsnah, wenn ich mir vorstelle,
dass eine Aufgabe an einen Prozessor adressiert wird und eine andere Aufgabe wieder an einen anderen?
Danke für Hilfe, beim Versuch zu verstehen…

Viele Grüße
Sebastian

Moien

mich würde mal interessieren wer, wie und in welchem Umfang
die neue Prozessorgeneration eigentlich nutzt.

Spiele und Videoencoder nutzen heute oft 2 Kerne, Datenbanken machen das schon länger (und mit sehr viel mehr Kernen).

Ich stelle mir vor, dass bisher alles sequentiell ablief und
gewisse Abläufe jetzt parallelisiert werden können.

Richtig.

Welche Art von Programmen nutzt dies auf welche Art und
Weise?

Videoencoder: man kann Ton und Video sehr einfach aufteilen. (Grob:smile: dann kann man das Bild in der Mitte teilen und eine Seite an jede CPU schicken. Man kann auch das Laden der Bilder von Platte in einen weiteren Thread stecken. usw…

Bei Spielen kann man Logik, Anzeige, Netzwerk und Physik trennen.

Bei Datenbanken kann man jede Anfrage auf eine andere CPU schicken. Die meisten komplexen Anfragen benutzen mehrere Subanfragen die auch gleichzeitig gehen.

Ist meine Vorstellung realitätsnah, wenn ich mir vorstelle,
dass eine Aufgabe an einen Prozessor adressiert wird und eine
andere Aufgabe wieder an einen anderen?

Die Software teilt die Aufgaben in Threads auf. Die Threads verteilt da sBetriebssystem auf die Prozessoren. Wenn es mehr Threads als CPUs gibt wird schnell zwischen den Thread hin und her geschaltet. Aber die Software gibt nur selten eine konrekte CPU vor…

cu

Vielen Dank für die Aufklärung!!!

Doch ein paar Fragen habe ich noch, wenn es deine Zeit erlaubt?
Siehe bitte unten.

Grüße
Sebastian

Moien

mich würde mal interessieren wer, wie und in welchem Umfang
die neue Prozessorgeneration eigentlich nutzt.

Spiele und Videoencoder nutzen heute oft 2 Kerne, Datenbanken
machen das schon länger (und mit sehr viel mehr Kernen).

***
wie ist das beim PC, gibt es hier STandardsoftware, die 2 oder mehr Kerne nutzt? Oft ist es ja so, dass man 2 oder 4 Kerne kauft,
aber keinen Nutzen direkt hat…?
***

Ich stelle mir vor, dass bisher alles sequentiell ablief und
gewisse Abläufe jetzt parallelisiert werden können.

Richtig.

Welche Art von Programmen nutzt dies auf welche Art und
Weise?

Videoencoder: man kann Ton und Video sehr einfach aufteilen.
(Grob:smile: dann kann man das Bild in der Mitte teilen und eine
Seite an jede CPU schicken. Man kann auch das Laden der Bilder
von Platte in einen weiteren Thread stecken. usw…

Bei Spielen kann man Logik, Anzeige, Netzwerk und Physik
trennen.

Bei Datenbanken kann man jede Anfrage auf eine andere CPU
schicken. Die meisten komplexen Anfragen benutzen mehrere
Subanfragen die auch gleichzeitig gehen.

Ist meine Vorstellung realitätsnah, wenn ich mir vorstelle,
dass eine Aufgabe an einen Prozessor adressiert wird und eine
andere Aufgabe wieder an einen anderen?

Die Software teilt die Aufgaben in Threads auf. Die Threads
verteilt da sBetriebssystem auf die Prozessoren. Wenn es mehr
Threads als CPUs gibt wird schnell zwischen den Thread hin und
her geschaltet. Aber die Software gibt nur selten eine
konrekte CPU vor…

***
wie ist das? geht die software her und prüft das system erstmal auf die anzahl der kerne, um entscheiden zu können, ob erstmal mehrere kerne angesteuert werden müssen?`***

cu

Moien

Spiele und Videoencoder nutzen heute oft 2 Kerne, Datenbanken
machen das schon länger (und mit sehr viel mehr Kernen).

***
wie ist das beim PC, gibt es hier STandardsoftware, die 2 oder
mehr Kerne nutzt?

Office & co benutzt nur einen Kern. Es sei denn man startet und nutzt 2 Programme tatsächlich gleichzeitig. Da windows im Hintergrund immer mal wieder was tut werden hier beide Kerne genutzt. aber nur kurz.

Oft ist es ja so, dass man 2 oder 4 Kerne
kauft, aber keinen Nutzen direkt hat…?

Ja, das ist die Regel.

wie ist das? geht die software her und prüft das system
erstmal auf die anzahl der kerne, um entscheiden zu können, ob
erstmal mehrere kerne angesteuert werden müssen?`***

Programme können nachfragen wieviele Kerne vorhanden sind und sich (in Grenzen) drauf einstellen. Das tun aber wirklich nur sehr, sehr wenige Programme. Und sich wirklich auf einen bestimmten Kern festlegen macht auch keinen Sinn.

cu

1 Like

Hallo Sebastian,

Welche Art von Programmen nutzt dies auf welche Art und
Weise?

es sind in erster Linie die Betriebssysteme die es nutzen! Programme geben Ihre Informationen ans Betriebssystem weiter. Das steuert dann die Verteilung.

Ist meine Vorstellung realitätsnah, wenn ich mir vorstelle,
dass eine Aufgabe an einen Prozessor adressiert wird und eine
andere Aufgabe wieder an einen anderen?

vom Betriebssystem ja, weniger/nicht von den Programmen!

Bei Bedarf hätte ich da noch das Beispiel mit dem geschnittenen Brot :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)