Mit Parallelisierung wird die Aufteilung eines Vorgangs (insbesondere eines Computerprogramms) bezeichnet, so dass die einzelnen Teilstücke gleichzeitig oder nebenläufig ausgeführt werden können. Das kann explizit geschehen, zum Beispiel dadurch, dass der Programmierer Programmteile in separaten Prozessen oder Threads ausführen lässt, oder es geschieht automatisch, so dass kausal unabhängige (nebenläufige) Anweisungsfolgen "nebeneinander" ausgeführt werden. Diese automatische Parallelisierung kann durch den Compiler vorgenommen werden, wenn als Zielplattform ein Parallelrechner zur Verfügung steht, aber auch einige moderne CPUs können solche Unabhängigkeiten erkennen und die Anweisungen so auf verscheidene Teile des Prozessors verteilen, dass sie gleichzeitig ausgeführt werden (Hyperthreading).
Es ist aus der Sicht des Programmierers bei der Parallelisierung im allgemeinen gleichgültig, ob die einzelnen Programmteile tatsächlich gleichzeitig von unabhängigen Ausführungseinheiten bearbeitet werden, oder ob sie nur quasi-parallel ausgeführt werden (siehe Time-Sharing, Multitasking).
Siehe auch
Gegenteil: Sequentialisierung
Amdahlsches Gesetz, Computercluster, NC (Komplexitätsklasse), Nebenläufigkeit, Nichtsequentielle Programmierung, Paralleler Algorithmus, Transputer dddddddddddddddddddddddddddd