Peinlich parallel - Embarrassingly parallel

Beim Parallel Computing ist eine peinlich parallele Arbeitslast oder ein Problem (auch als peinlich parallelisierbar , perfekt parallel , herrlich parallel oder angenehm parallel bezeichnet ) ein Problem, bei dem wenig oder kein Aufwand erforderlich ist, um das Problem in mehrere parallele Aufgaben aufzuteilen. Dies ist häufig der Fall, wenn zwischen diesen parallelen Aufgaben wenig oder keine Abhängigkeit oder Notwendigkeit für die Kommunikation zwischen diesen oder deren Ergebnissen besteht.

Somit unterscheiden sich diese von verteilten Rechenproblemen , die eine Kommunikation zwischen Aufgaben erfordern, insbesondere eine Kommunikation von Zwischenergebnissen. Sie sind einfach auf Serverfarmen durchzuführen, denen die spezielle Infrastruktur fehlt, die in einem echten Supercomputer- Cluster verwendet wird. Sie eignen sich daher gut für große, internetbasierte verteilte Plattformen wie BOINC und leiden nicht unter paralleler Verlangsamung . Das Gegenteil von peinlich parallelen Problemen sind inhärent serielle Probleme , die überhaupt nicht parallelisiert werden können.

Ein übliches Beispiel für ein peinlich paralleles Problem ist das 3D-Video-Rendering, das von einer Grafikverarbeitungseinheit gehandhabt wird , bei der jeder Frame (Vorwärtsverfahren) oder Pixel ( Raytracing- Verfahren) ohne gegenseitige Abhängigkeit gehandhabt werden kann. Einige Formen des Passwortknackens sind eine weitere peinlich parallele Aufgabe, die sich leicht auf Zentraleinheiten , CPU-Kerne oder Cluster verteilen lässt .

Etymologie

„Peinlich“ wird hier im gleichen Sinne gebraucht wie in der Wendung „eine Peinlichkeit des Reichtums “, also ein Überfluss – hier sind Parallelisierungsprobleme gemeint, die „peinlich einfach“ sind. Der Begriff kann auch Verlegenheit auf Seiten von Entwicklern oder Compilern implizieren: "Weil so viele wichtige Probleme hauptsächlich aufgrund ihrer intrinsischen Rechenkomplexität ungelöst bleiben, wäre es peinlich, keine parallelen Implementierungen von polynomialen Homotopie- Fortsetzungsverfahren zu entwickeln." Der Begriff taucht erstmals in der Literatur in einem 1986 erschienenen Buch über Multiprozessoren des MATLAB -Erfinders Cleve Moler auf , der behauptet, den Begriff erfunden zu haben.

Ein alternativer Begriff, erfreulicherweise parallel , hat sich durchgesetzt, vielleicht um die negative Konnotation von Peinlichkeit zu vermeiden zugunsten einer positiven Reflexion über die Parallelisierbarkeit der Probleme: "Natürlich ist an diesen Programmen überhaupt nichts peinlich."

Beispiele

Einige Beispiele für peinlich parallele Probleme sind:

Implementierungen

  • In R (Programmiersprache) – Das Paket Simple Network of Workstations (SNOW) implementiert einen einfachen Mechanismus zur Verwendung einer Reihe von Workstations oder eines Beowulf-Clusters für peinlich parallele Berechnungen.

Siehe auch

Verweise

  1. ^ Herlihy, Maurice; Shavit, Nir (2012). Die Kunst der Mehrprozessorprogrammierung, überarbeiteter Nachdruck (überarbeitete Hrsg.). Sonst. s. 14. ISBN 9780123977953. Abgerufen am 28. Februar 2016 . Einige Rechenprobleme sind „peinlich parallel“: Sie lassen sich leicht in Komponenten aufteilen, die gleichzeitig ausgeführt werden können.
  2. ^ Abschnitt 1.4.4 von: Foster, Ian (1995). Entwerfen und Erstellen von Parallelprogrammen . Addison-Wesley. ISBN 9780201575941. Archiviert vom Original am 01.03.2011.
  3. ^ Alan Chalmers; Erik Reinhard; Tim Davis (21. März 2011). Praktisches paralleles Rendering . CRC-Presse. ISBN 978-1-4398-6380-0.
  4. ^ Matloff, Norman (2011). Die Kunst der R-Programmierung: Eine Tour durch statistisches Softwaredesign , S. 347. Keine Stärke. ISBN  9781593274108 .
  5. ^ Leykin, Anton; Verschelde, Jan; Zhuang, Yan (2006). Parallele Homotopie-Algorithmen zur Lösung polynomialer Systeme . Verfahren des ICMS . Skript zur Vorlesung Informatik. 4151 . S. 225–234. doi : 10.1007/11832225_22 . ISBN 978-3-540-38084-9.
  6. ^ Moler, Cleve (1986). Heide, Michael T. (Hrsg.). Matrixberechnung auf Multiprozessoren mit verteiltem Speicher . Hypercube-Multiprozessoren . Gesellschaft für Industrielle und Angewandte Mathematik, Philadelphia. ISBN 978-0898712094.
  7. ^ Der Intel Hypercube Teil 2 wurde im Cleve's Corner-Blog auf der MathWorks-Website neu veröffentlicht
  8. ^ Kepner, Jeremy (2009). Paralleles MATLAB für Multicore- und Multinode-Computer , S.12. SIAM. ISBN  9780898716733 .
  9. ^ Erricos John Kontoghiorghes (21. Dezember 2005). Handbuch des parallelen Rechnens und der Statistik . CRC-Presse. ISBN 978-1-4200-2868-3.
  10. ^ Yuefan Deng (2013). Angewandtes paralleles Rechnen . Weltwissenschaft. ISBN 978-981-4307-60-4.
  11. ^ Josefsson, Simon; Percival, Colin (August 2016). "Die scrypt passwortbasierte Schlüsselableitungsfunktion" . tools.ietf.org . Abgerufen 2016-12-12 .
  12. ^ SeqAnswers-Forum
  13. ^ Wie wir unsere Gesichtserkennung 25-mal schneller gemacht haben (Entwickler-Blog-Post)
  14. ^ Shigeyoshi-Tsutsui; Pierre Collet (5. Dezember 2013). Massively Parallel Evolutionary Computing auf GPGPUs . Springer Wissenschaft & Wirtschaftsmedien. ISBN 978-3-642-37959-8.
  15. ^ Youssef Hamadi; Lakhdar Sais (5. April 2018). Handbuch des Parallel Constraint Reasoning . Springer. ISBN 978-3-319-63516-3.
  16. ^ Paket Simple Network of Workstations (SNOW)

Externe Links