MapReduce: diferència entre les revisions

Contingut suprimit Contingut afegit
m Robot treu puntuació penjada després de referències
m Bot prepara format de cometes per a posterior revisió tipogràfica.
Línia 111:
 
== Consideracions de Rendiment ==
No es garanteix que els programes MapReduce siguin ràpids. El principal avantatge d'aquest model de programació és explotar l'operació shuffle optimitzada de la plataforma, i només haver d'escriure les parts Map i Reduce del programa. No obstant això, en la pràctica, l'autor d'un MapReduce ha de tenir en compte el shuffle, ja que la quantitat de dades escrites per la funció Map pot tenir un gran impacte en el rendiment i l'escalabilitat.<ref name=":0">{{Cite journal|title = BSP cost and scalability analysis for MapReduce operations|journal = Concurrency and Computation: Practice and Experience|date = 2015-01-01|issn = 1532-0634|pages = 2503–2527|doi = 10.1002/cpe.3628|first1 = Hermes|last1 = Senger|first2 = Veronica|last2 = Gil-Costa|first3 = Luciana|last3 = Arantes|first4 = Cesar A. C.|last4 = Marcondes|first5 = Mauricio|last5 = Marín|first6 = Liria M.|last6 = Sato|first7 = Fabrício A.B.|last7 = da Silva|volume=28|issue = 8|hdl = 10533/147670|s2cid = 33645927|hdl-access = free}}</ref>
 
La majoria d'implementacions de l'algorisme de MapReduce, requereixen escriure a memòria totes les comunicaciones, és per això que el cost de comunicació sovint domina al cost de computació.<ref name="ullman">{{Cite journal | doi = 10.1145/2331042.2331053 | title = Designing good MapReduce algorithms| journal = XRDS: Crossroads, the ACM Magazine for Students| volume = 19| pages = 30–34| year = 2012| last1 = Ullman | first1 = J. D. | s2cid = 26498063| author-link1 = Jeffrey Ullman| url = http://xrds.acm.org/article.cfm?aid=2331053 |url-access=subscription}}</ref><ref name=":0"/> Per l'autor de l'algorisme és essencial equilibrar els dos costos.
 
Per tal de calcular el rendiment de MapReduce, cal tenir en compte la complexitat del mapping, el shuffle, l'ordenació (agrupació per la clau) i el reduce. La quantitat de dades produïdes en l'etapa de la funció de map, és un paràmetre clau que ens indicarà on es trobarà la major part del cost computacional (map o reduce). La reducció inclou l'ordenació que té una complexitat no lineal. Per tant, les divisions en grups petits de les dades redueixen el temps de classificació, però fins a un límit, ja que un gran nombre de reductors pot ser poc pràctic.<ref>{{Cite journal|title = Scheduling divisible MapReduce computations|last1 = Berlińska|first1 = Joanna|date = 2010-12-01|journal = Journal of Parallel and Distributed Computing|doi = 10.1016/j.jpdc.2010.12.004|last2 = Drozdowski|first2 = Maciej|volume=71|issue = 3|pages=450–459}}</ref>