WikiDer > Parallelrechner

Parallelle computer
Ein großer paralleler Supercomputer

EIN Parallelrechner ist ein Computer das über mehrere Prozessoren und kann somit mehrere Aufgaben gleichzeitig ausführen. Dies betrifft Aufgaben, die wirklich gleichzeitig erledigt werden und nicht wie bei not Multitasking, um schnell zwischen Aufgaben zu wechseln. Traditionell ist ein Parallelrechner ein Supercomputer mit Tausenden bis Hunderttausenden von Prozessoren, die für wissenschaftliche Berechnungen verwendet werden, aber heute sind fast alle Computer parallel; sogar das einfachste pc's und Laptops stammen aus Mehrkernprozessoren bereitstellen.

Ein paralleler Computer kann schneller sein als ein nicht paralleler (serieller) Computer, da er mehrere Aufgaben gleichzeitig ausführen kann, ohne sich gegenseitig zu sehr zu verlangsamen. So kann der Nutzer beispielsweise ein Foto bearbeiten und gleichzeitig Musik hören, während das System im Hintergrund ein Update installiert. Dies kann nicht ohne Verzögerung erfolgen, da die verschiedenen Aufgaben möglicherweise Systemressourcen (wie Speicher, Festplatte, Netzwerk) gemeinsam nutzen müssen.

Parallele Berechnung

Es ist auch möglich, eine einzelne Aufgabe von mehreren Prozessoren ausführen zu lassen. Dies gilt insbesondere für umfangreiche (wissenschaftliche) Rechenaufgaben. Nicht alle Aufgaben lassen sich durch Parallelität beschleunigen. EIN Rekursion kann beispielsweise nicht parallel ausgeführt werden, da für jeden Schritt das Ergebnis des vorherigen Schritts bekannt sein muss. Die parallele Arithmetik ist besonders dann von Vorteil, wenn das zugrunde liegende Problem aus vielen kleinen Teilen besteht, die weitgehend separat gelöst werden können. Je mehr die Teile miteinander kommunizieren müssen, desto weniger effizient wird die Parallelisierung des Problems.

Gute parallele Programme schreiben, die sogenannten verteilte Programmierung, ist viel schwieriger als bei gewöhnlichen "sequentiellen" Programmen, da die Kommunikation und Synchronisation zwischen den verschiedenen Prozessen berücksichtigt werden muss. Zu berücksichtigen ist auch, dass die Kommunikation zwischen den Prozessen relativ lange dauern kann und jeder Prozess nur einen kleinen Speicher hat, so dass die Arbeit und die dafür benötigten Daten gut auf die Prozesse verteilt werden müssen.

Siehe auch