Peinlich parallel
Im Parallele Computing, ein peinlich parallel Arbeitsbelastung oder Problem (auch genannt peinlich parallelisierbar, perfekt parallel, herrlich parallel oder angenehm parallel) ist einer, bei dem wenig oder gar keine Anstrengungen erforderlich sind, um das Problem in eine Reihe paralleler Aufgaben zu unterteilen.[1] Dies ist häufig der Fall, in dem nur wenig oder keine Abhängigkeit oder Bedarf an Kommunikation zwischen diesen parallelen Aufgaben oder für die Ergebnisse zwischen ihnen besteht.[2]
Somit unterscheiden sich diese von unterschiedlich von verteiltes Computer Probleme, die Kommunikation zwischen Aufgaben erfordern, insbesondere die Kommunikation zwischen mittleren Ergebnissen. Sie sind leicht zu spielen Serverfarmen worauf die spezielle Infrastruktur fehlt, die in einem echten verwendet wird Supercomputer Cluster. Sie sind daher gut für große, internetbasierte verteilte Plattformen geeignet, wie z. BOINCund leiden nicht unter Parallele Verlangsamung. Das Gegenteil von peinlich parallelen Problemen sind von Natur aus serielle Probleme, die überhaupt nicht parallelisiert werden kann.
Ein häufiges Beispiel für ein peinlich parallele Problem ist das 3D -Video -Rendering von a Grafikkarte, wobei jeder Frame (Vorwärtsmethode) oder Pixel (Strahlenverfolgung Methode) kann ohne gegenseitige Abhängigkeit behandelt werden.[3] Einige Formen von Passwort knacken sind eine weitere peinlich parallele Aufgabe, die leicht verteilt ist Zentrale Verarbeitungseinheiten, CPU -Kerne, oder Cluster.
Etymologie
"Peinlich" wird hier im gleichen Sinne wie in der Phrase verwendet "und Verlegenheit des Reichtums", was eine Überfülle bedeutet - hier bezieht sich auf Parallelisierungsprobleme, die" peinlich einfach "sind.[4] Der Begriff kann auch Verlegenheit von Entwicklern oder Compilern implizieren: "Da so viele wichtige Probleme hauptsächlich aufgrund ihrer intrinsischen rechnerischen Komplexität ungelöst sind, wäre es peinlich, keine parallele Implementierungen von Polynomentildern zu entwickeln Homotopie Fortsetzungsmethoden. "[5] Der Begriff wird erstmals in der Literatur in einem Buch über Multiprozessoren von 1986 von gefunden MatlabSchöpfer Cleve Moler,[6] wer behauptet, die Laufzeit erfunden zu haben.[7]
Ein alternativer Begriff, angenehm parallel, hat einen gewissen Gebrauch erlangt, um möglicherweise die negativen Konnotationen der Verlegenheit zugunsten einer positiven Reflexion über die Parallelisierbarkeit der Probleme zu vermeiden: "Natürlich ist überhaupt nichts Peinliches an diesen Programmen."[8]
Beispiele
Einige Beispiele für peinlich parallele Probleme sind:
- Monte Carlo -Analyse[9]
- Verteilte relationale Datenbankabfragen verwenden Verteilte Set -Verarbeitung.
- Numerische Integration[10]
- Servieren statischer Dateien auf einem Webserver an mehrere Benutzer gleichzeitig.
- Massenverarbeitung nicht verwandter Dateien ähnlicher Natur im Allgemeinen, wie die Fotogalerie -Größenänderung und -konvertierung.
- Das Mandelbrot Set, Perlin -Rauschen und ähnliche Bilder, bei denen jeder Punkt unabhängig berechnet wird.
- Rendering von Computergrafik. Im Computeranimation, jeder rahmen oder Pixel kann unabhängig gerendert werden (siehe Parallele Rendering).
- Etwas Brute-Force-Suche in Kryptographie.[11] Bemerkenswerte Beispiele in der realen Welt sind zu sehen verteilt.net und Arbeitsproode Systeme verwendet in Kryptowährung.
- SPRENGEN Suchanfragen in Bioinformatik für mehrere Abfragen (aber nicht für einzelne große Abfragen).[12]
- Großes Maßstab Gesichtserkennungssysteme das vergleichen Tausende von willkürlichen erworbenen Gesichtern (z. B. ein Sicherheits- oder Überwachungsvideo über Fernseher geschlossen) mit ähnlich großer Anzahl zuvor gespeicherter Gesichter (z. B. a Rogues Gallery oder ähnliches Beobachtungsliste).[13]
- Computersimulationen, die viele unabhängige Szenarien vergleichen.
- Genetische Algorythmen.[14]
- Ensemble -Berechnungen von Numerische Wettervorhersage.
- Ereignissimulation und Rekonstruktion in Teilchenphysik.
- Das Marschplätze Algorithmus.
- Siebenschritt der quadratisches Sieb und die Zahlenfeld Sieb.
- Baumwachstumschritt der Zufallswald Technik für maschinelles Lernen.
- Diskrete Fourier-Transformation wo jede Harmonische unabhängig berechnet wird.
- Faltungsnetzwerke Laufen GPUS.
- Hyperparameter -Gittersuche im maschinellen Lernen.
- Parallele Suche in Einschränkungsprogrammierung[15]
Implementierungen
- Im R (Programmiersprache) - Das einfache Netzwerk von Workstations (Snow) implementiert einen einfachen Mechanismus für die Verwendung einer Reihe von Workstations oder a Beowulf Cluster für peinlich parallele Berechnungen.[16] Ähnliche R -Pakete umfassen "Zukunft", "parallel" und andere.
Siehe auch
- Amdahls Gesetz Definiert Wert P, was fast oder genau 1 für peinlich parallele Probleme entspricht.
- Karte (Parallelmuster)
- Multiprozessierung
- Massiv parallel
- Parallele Computing
- Prozessorientierte Programmierung
- Shared-Nothing Architecture (Sn)
- Symmetrische Multiprozessierung (SMP)
- Verbindungsmaschine
- Mobilfunkautomat
- CUDA -Framework
- ManyCore -Prozessor
- Vektorprozessor
Verweise
- ^ Herlihy, Maurice; Shavit, Nir (2012). Die Kunst des Multiprozessor -Programmierens, überarbeiteter Nachdruck (überarbeitete Ausgabe). Elsevier. p. 14. ISBN 9780123977953. Abgerufen 28. Februar 2016.
Einige rechnerische Probleme sind „peinlich parallel“: Sie können leicht in Komponenten unterteilt werden, die gleichzeitig ausgeführt werden können.
- ^ Abschnitt 1.4.4 von: Foster, Ian (1995). Entwerfen und Bau paralleler Programme. Addison -Wesley. ISBN 9780201575941. Archiviert von das Original Am 2011-03-01.
- ^ Alan Chalmers; Erik Reinhard; Tim Davis (21. März 2011). Praktisches parallele Rendering. CRC Press. ISBN 978-1-4398-6380-0.
- ^ Matloff, Norman (2011). Die Kunst des R -Programms: Eine Tour durch statistische Softwaredesign, S.347. Keine Stärke. ISBN9781593274108.
- ^ Leykin, Anton; Verschelde, Jan; Zhuang, Yan (2006). Parallele Homotopie -Algorithmen zur Lösung von Polynomsystemen. Verfahren von ICMs. Vorlesungsnotizen in Informatik. Vol. 4151. S. 225–234. doi:10.1007/11832225_22. ISBN 978-3-540-38084-9.
- ^ Moler, Cleve (1986). Heath, Michael T. (Hrsg.). Matrixberechnung auf verteilten Speicher -Multiprozessoren. Hypercube -Multiprozessoren. Gesellschaft für industrielle und angewandte Mathematik, Philadelphia. ISBN 978-0898712094.
- ^ Der Intel Hypercube Teil 2 hat auf der MathWorks -Website auf Cleves Corner -Blog veröffentlicht
- ^ Kepner, Jeremy (2009). Parallelmatlab für Multicore- und Multinode -Computer, S.12. SIAM. ISBN9780898716733.
- ^ Erricos John Kontoghiorghes (21. Dezember 2005). Handbuch für parallele Computer und Statistik. CRC Press. ISBN 978-1-4200-2868-3.
- ^ Yuefan Deng (2013). Paralleles Computer angewendet. Welt wissenschaftlich. ISBN 978-981-4307-60-4.
- ^ Josefsson, Simon; Percival, Colin (August 2016). "Die SCRYPT-Kennwort-basierte wichtige Abgabefunktion". Tools.ietf.org. Abgerufen 2016-12-12.
- ^ Seqanswers Forum
- ^ Wie wir unseren Gesichtserkenner 25 -mal schneller gemacht haben (Entwickler Blog -Beitrag)
- ^ Shigeyoshi Tsutsui; Pierre Collet (5. Dezember 2013). Massiv parallele evolutionäre Berechnungen auf GPGPUs. Springer Science & Business Media. ISBN 978-3-642-37959-8.
- ^ Youssef Hamadi; Lakhdar Sais (5. April 2018). Handbuch mit paralleler Beschränkung. Springer. ISBN 978-3-319-63516-3.
- ^ Einfaches Netzwerk von Workstations (Schnee)
Externe Links
- Peinlich parallele Berechnungen, Engineering A Beowulf-Rechencluster im Beowulf-Stil
- "STAR-P: Hochproduktivität parallele Computer"