Multiprocessing-Systeme mit verteiltem Speicher (DMS) wie Intels Hypercubes, der CM-5 von Paragon, der Thinking Machine und die Meiko Computing Surface haben schnell die Akzeptanz der Benutzer gewonnen und versprechen, die Rechenleistung bereitzustellen, die zur Lösung der großen Herausforderungsprobleme von Wissenschaft und Technik erforderlich ist. Diese Maschinen sind relativ kostengünstig zu bauen und potenziell auf eine große Anzahl von Prozessoren skalierbar. Sie sind jedoch schwierig für die Uneinheitlichkeit des Speichers, was lokale Zugriffe viel schneller macht, als die Übertragung von nicht-lokalen Daten über Nachrichtenübergabevorgänge impliziert, dass die Lokalität von Algorithmen ausgenutzt werden muss, um eine akzeptable Leistung zu erzielen. Die Verwaltung von Daten mit dem doppelten Ziel, sowohl die Rechenarbeitslast zu verteilen als auch die Verzögerungen zu minimieren, die verursacht werden, wenn ein Prozessor auf nicht-lokale Daten warten muss, wird von größter Bedeutung. Wenn ein Code von Hand parallelisiert wird, muss der Programmierer die Arbeit und die Daten des Programms an die Prozessoren verteilen, die ihn ausführen werden. Einer der gängigen Ansätze dazu nutzt die Regelmäßigkeit der meisten numerischen Berechnungen. Dies ist das sogenannte Single Program Multiple Data (SPMD) oder Datenparallelmodell der Berechnung. Bei diesem Verfahren werden die Datenarrays im ursprünglichen Programm jeweils an die Prozessoren verteilt, wodurch eine Eigentumsbeziehung hergestellt wird, und Berechnungen, die ein Datenelement definieren, werden von den Prozessoren durchgeführt, die die Daten besitzen.
Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.