Computatio parallela[1] est genus computandi in quo multi calculi vel processus(en) simul perficiuntur.[2] Magna problemata saepe dividi possunt in minora, quae deinde simul solvuntur. Plures sunt computationis parallelae formae: parallelismus gradus bit (bit-level), gradus instructionis (instruction-level), datorum (data), aut operum (task). Parallelismus multis annis praecipue in supercomputatris(en) adhibitus est, sed nuper studium excitavit propter circumscriptiones physicas quae frequentiae incrementum prohibent.[3] His temporibus cum potentia consumpta (et calor generata) a computatris curae est,[4] computatio parallela, plerumque in procestrorum multorum nucleorum(en), magna regula in architectura computatrorum(en) facta est.[5]

Computatrum valde parallelum IBM Blue Gene/P

Computatio parallela computationi concurrenti(en) propinqua est. Quae saepe confunduntur sed distincta sunt, nam parallelismus sine concurrentia (ut parallelismus gradus bit) et concurrentia sine parallelismo (ut operatio multiplex(en) per partitionem temporis(en) in procestro principi unius nuclei).[6][7] In computatione parallela opus dividitur in plura opera minora quae separate perficiuntur et quorum eventus postea combinantur. In concurrenti autem computatione varii processus saepe opera cognata non tractant, aut sunt naturis variis et inter exsecutionem communicationem inter processus postulant (sicut in computatione distributa).

Computatra parallela in plura genera describi possunt secundum gradum quo apparatus parallelismum sinit: computatra procestris multorum nucleorum et multis procestris plura elementa processoria habent in una machina contenta, cum greges, computatra valde parallela (MPP), ac craticulae plura computatra ad idem opus adhibent. Architectura parallela aliquando una cum procestris usitatioribus ad singula opera acceleranda adhibentur. In quibusdam systematibus parallelismus programmatori perspicuus est, ut in parallelismo gradus bit vel instructionis, sed algorithmi aperte paralleli, praecipue qui concurrentiam adhibeant, sunt difficiliores scriptu sequentialibus algorithmis,[8] quia concurrentia plures classes novas vitiorum programmatoriorum introducit, quorum condiciones certaminis (race conditions) sunt frequentissimae. Communicatio et synchronizatio inter diversa sub-opera saepe sunt maxima impedimenta in bona functione programmaturae parallelae consequenda.

Notae recensere

  1. Haec appellatio a Vicipaediano e lingua indigena in sermonem Latinum conversa est. Extra Vicipaediam huius locutionis testificatio vix inveniri potest.
  2. Gottlieb, Allan; Almasi, George S. (1989). Highly parallel computing. Redwood City, Calif.: Benjamin/Cummings. ISBN 0-8053-0177-1 
  3. S.V. Adve et al.
  4. Asanovic et al.
  5. Asanovic, Krste et al.
  6. "Concurrency is not Parallelism", Waza conference Jan 11, 2012, Rob Pike (slides) (video)
  7. "Parallelism vs. Concurrency". Haskell Wiki 
  8. Hennessy, John L.; Patterson, David A.; Larus, James R. (1999). Computer organization and design: the hardware/software interface (2. ed., 3rd print. ed.). San Francisco: Kaufmann. ISBN 1-55860-428-6 

Bibliographia recensere

  • Rodriguez, C.; Villagra, M.; Baran, B. (29 August 2008). "Asynchronous team algorithms for Boolean Satisfiability". Bio-Inspired Models of Network, Information and Computing Systems, 2007. Bionetics 2007. 2nd: 66–69 
  • Sechin, A.; Parallel Computing in Photogrammetry. GIM International. #1, 2016, pp. 21–23.

Nexus externi recensere