Content deleted Content added
m Dating maintenance tags: {{Citation needed}} |
Citation bot (talk | contribs) Alter: url. URLs might have been internationalized/anonymized. Add: author pars. 1-1. Removed parameters. Some additions/deletions were actually parameter name changes. | You can use this bot yourself. Report bugs here. | Suggested by AManWithNoPlan | All pages linked from cached copy of User:AManWithNoPlan/sandbox2 | via #UCB_webform_linked 2043/3786 |
||
Line 1:
[[Parallel computing]], a paradigm in computing which has multiple tasks running simultaneously, might contain what is known as an '''embarrassingly parallel''' workload or problem (also called '''perfectly parallel''', '''delightfully parallel''' or '''pleasingly parallel'''{{citation needed|date=October 2020}}). An embarrassingly parallel task can be considered a trivial case - little or no manipulation is needed to separate the problem into a number of parallel tasks.<ref>{{cite book|last1=Herlihy|first1=Maurice|last2=Shavit|first2=Nir|title=The Art of Multiprocessor Programming, Revised Reprint|date=2012|publisher=Elsevier|isbn=9780123977953|page=14|edition=revised|url=https://books.google.com/books?id=vfvPrSz7R7QC&q=embarrasingly
|url=http://www.mcs.anl.gov/~itf/dbpp/text/node10.html
|title=Designing and Building Parallel Programs
Line 13:
Thus, these are different from [[distributed computing]] problems that need communication between tasks, especially communication of intermediate results. They are easy to perform on [[server farm]]s which lack the special infrastructure used in a true [[supercomputer]] cluster. They are thus well suited to large, Internet-based distributed platforms such as [[BOINC]], and do not suffer from [[parallel slowdown]]. The opposite of embarrassingly parallel problems are [[inherently serial problem]]s, which cannot be parallelized at all.
A common example of an embarrassingly parallel problem is 3D video rendering handled by a [[graphics processing unit]], where each frame (forward method) or pixel ([[Ray tracing (graphics)|ray tracing]] method) can be handled with no interdependency.<ref name="ChalmersReinhard2011">{{cite book|author1=Alan Chalmers|author2=Erik Reinhard|author3=Tim Davis|title=Practical Parallel Rendering|url=https://books.google.com/books?id=loxhtzzG1FYC
==Etymology==
Line 31:
==Examples==
Some examples of embarrassingly parallel problems include:
* [[Monte Carlo analysis]]<ref name="Kontoghiorghes2005">{{cite book|author=Erricos John Kontoghiorghes|title=Handbook of Parallel Computing and Statistics|url=https://books.google.com/books?id=BnNnKPkFH2kC
* Distributed relational database queries using [http://www.mysqlperformanceblog.com/2011/05/14/distributed-set-processing-with-shard-query/ distributed set processing].
* [[Numerical integration]]<ref name="Deng2013">{{cite book|author=Yuefan Deng|title=Applied Parallel Computing|url=https://books.google.com/books?id=YS9wvVeWrXgC
* Serving static files on a webserver to multiple users at once.{{citation needed|date=June 2019}}
* The [[Mandelbrot set]], [[Perlin noise]] and similar images, where each point is calculated independently.
* [[Rendering (computer graphics)|Rendering]] of [[computer graphics]]. In [[computer animation]], each [[video frame|frame]] or pixel may be rendered independently (see [[parallel rendering]]).
* [[Brute-force search]]es in [[cryptography]].<ref>{{Cite web|url=https://tools.ietf.org/html/rfc7914#page-2|title=The scrypt Password-Based Key Derivation Function|
* [[BLAST]] searches in [[bioinformatics]] for multiple queries (but not for individual large queries).<ref>[http://seqanswers.com/forums/showpost.php?p=21050&postcount=3 SeqAnswers forum]</ref>
* Large scale [[facial recognition system]]s that compare thousands of arbitrary acquired faces (e.g., a security or surveillance video via [[closed-circuit television]]) with similarly large number of previously stored faces (e.g., a ''[[rogues gallery]]'' or similar [[No Fly List|watch list]]).<ref>[http://lbrandy.com/blog/2008/10/how-we-made-our-face-recognizer-25-times-faster/ How we made our face recognizer 25 times faster] (developer blog post)</ref>
* Computer simulations comparing many independent scenarios.
* [[Genetic algorithm]]s.<ref name="TsutsuiCollet2013">{{cite book|author1=Shigeyoshi Tsutsui|author2=Pierre Collet|title=Massively Parallel Evolutionary Computation on GPGPUs|url=https://books.google.com/books?id=Hv68BAAAQBAJ
* [[Statistical ensemble (mathematical physics)|Ensemble calculations]] of [[numerical weather prediction]].
* Event simulation and reconstruction in [[particle physics]].
Line 50:
* [[Convolutional neural network]]s running on [[GPU]]s.
* [[Hyperparameter optimization#Grid_search|Hyperparameter grid search]] in machine learning.{{citation needed|date=May 2019}}
* Parallel search in [[constraint programming]]<ref name="HamadiSais2018">{{cite book|author1=Youssef Hamadi|author2=Lakhdar Sais|title=Handbook of Parallel Constraint Reasoning|url=https://books.google.com/books?id=w5JUDwAAQBAJ
==Implementations==
|