Was bringen 2 Prozessoren?

Was bringt ein Rechner mit zwei Prozessoren?
Wann ist das besonders hilfreich und nützlich?

Danke für Infos!

Grüße
Sebastian

Hallo,

das kommt auf die Software an die damit arbeiten soll. Bei einem Datenbank Server kann es z.B. so sein, dass wenn ein bestimmtes Limit an Leistung erreicht ist, weitere Abläufe auf den zweiten CPU gelegt werden.

Im Beispiel kannst du dir das so vorstellen:

DB-Server … fünf User machen eine Abfrage, erster CPU arbeit am Anschlag. Jetzt kommen nochmal zwei User hinzu, die sich bei einem CPU hinten anstellen müssten bzw. würde die Performance aller Abfragen darunter leiden. An dieser Stelle kommt das Funktionsprinzip der Software dazu. Der 6. & 7. User wird mit seiner Abfrage ‚einfach‘ auf den zweiten CPU umgeleitet, alle anderen Abfragen laufen „ungehindert“ weiter (mal abgesehen von den Abhängigkeiten der weiteren Komponenten).

Gruß, olli

Danke!

Wird so etwas über die Anwendungssoftware gesteuert oder über das Betriebssystem?
Wer entscheidet, den zweiten Prozessor zu nutzen?

Grüße
Sebastain

imho i.d.R. vom Anwendungsprozess, leider

/

Vielleicht weiss einer noch was anderes …

1 „Gefällt mir“

Hi,

Wird so etwas über die Anwendungssoftware gesteuert oder über
das Betriebssystem?
Wer entscheidet, den zweiten Prozessor zu nutzen?

Das ist abhängig davon, wie die Lastverteilung auf die Prozessoren stattfinden soll. Wenn einfach nur verschiedene Tasks/Prozesse verteilt werden sollen, dann macht das meist das Betriebssystem selber. Wenn aber eine komplette/monolythische Anwendung auf mehrere Prozessoren verteilt werden soll, muss das von der Anwendung selber unterstützt werden. Daher gibt es z.B. im Windows-Bereich auch dafür spezielle (teurere) Softwareversionen.

Gruß
Stefan

Grüße
Sebastain

1 „Gefällt mir“

Moin

Wird so etwas über die Anwendungssoftware gesteuert oder über
das Betriebssystem?

in der normalen windows-welt: windows.

Man sollte dabei die Speicherbandbreite im Auge behalten. Die 2 CPU’s teilen sich i.d.R. (also NUMA’s & Co ausgenommen) einen RAM. Das kann verschiedene Programme ganz böss bremsen.

Ausserdem erzeugt das Umlegen/Umplannen von Prozessen von einer CPU zur anderen (wie windows das immer wieder tut) „kalte“ caches. Der L2 (L1?) Cache muss also nach dem Prozess-Wechsel neu aufgebaut werden.

Grob bringts bei unabhängig voneinander laufenden Prozessen unter windows etwa 50% mehr Leistung. 100% mehr ist nicht möglich, je nach Programm könnens aber schon 70-80% mehr sein.

cu

1 „Gefällt mir“

Hallo Sebastain,

Wird so etwas über die Anwendungssoftware gesteuert oder über
das Betriebssystem?
Wer entscheidet, den zweiten Prozessor zu nutzen?

Sowohl als auch !

  1. Die Anwendungs-Software muss in mindestens zwei Prozesse unterteilt sein, welche dann paralell zueinander abgearbeitet werden können.
  2. Das Betriebssystem muss zwei, oder mehr, CPUs unterstüzen können. Bei Microsoft unterstützen nur Win NT, w2k und XP mehrere Prozessoren, z.B. Win 98 kann mit der 2ten CPU nichts anfangen und benutzt sie einfach nicht, falls sie vorhanden ist.

Im allgemeinen versucht das Betriebssystem die benötigte Rechenleistung so gut wie möglich gleichmässig auf die vorhandenen CPUs zu verteilen.

Seti@Home lastet meine zwei CPUs praktisch zu 100% aus. Da ich zudem oft mehrere Programme gleichzeitig am arbeiten habe, bringt es auch etwas, wenn die einzelnen Programme nicht extra für MultiProzessor-Betrieb entwickelt wurden.

MfG Peter(TOO)

1 „Gefällt mir“