Mis on paralleelarvutus?

Paralleelne andmetöötlus toimub siis, kui arvuti täidab korraga rohkem kui ühte ülesannet. See tehnika võimaldab arvutitel töötada kiiremini kui ühe asja korraga tegemine, just nagu kahe vaba käega inimene suudab kanda rohkem kui ühe vaba käega inimene. Traditsiooniliselt on arvutiprogrammid välja töötatud viisil, mis ei võimalda tingimata paralleelset andmetöötlust, vaid tuleb läbi viia üks samm korraga. Programmi sellisel viisil arvutamiseks peab see olema kavandatud nii, et seda saab jagada väiksemateks ülesanneteks, mida saab teha eraldi. Näitena selle kohta, kuidas paralleelarvutus on seotud tavainimesega, on paljudel personaalarvutitel mitu töötlustuuma, mis võimaldavad neil korraga töödelda mitut ülesannet, selle asemel, et üks ülesandeid teise järel nagu ühe protsessoriga arvuti puhul.

Arvutiprogrammi kirjutamine nii, et seda saaks jagada eraldi ülesanneteks, et neid saaks eraldi täita, on sageli raskem kui ükshaaval kirjutamine, kasutades lineaarset täitmist. Järjestikku käivitatavate arvutiprogrammide puhul määrab esimene ülesanne tavaliselt teabe, mis on jada teise ülesande lahutamatu osa. Ilma selle esimese teabebitita, mis tuleneb esimese ülesande täitmisest, võib teise ülesande täitmine olla mõttetu. Programmi kirjutamisel, et seda saaks jagada erinevateks osadeks, võib olla ainulaadne väljakutse ajastada asju nii, et programmi eri osad saaksid vajaliku teabe just siis, kui nad seda vajavad ja ei tee otsuseid aegunud teabe põhjal. Seda muret seostatakse tavaliselt kõige levinumate arvutivigade tüüpidega, millega paralleelarvutusprogrammid kokku puutuvad.

Paralleelse andmetöötluse peamine eelis on programmide kiirem käivitamine. Kui paralleelarvutust kasutaval programmi käivitaval arvutiriistvaral on arhitektuur, näiteks rohkem kui üks keskprotsessor (CPU), võib paralleelne andmetöötlus olla tõhus tehnika. Analoogiana võib öelda, et kui üks mees saab kanda ühte kasti korraga ja et CPU on mees, võib järjestikku täitev programm olla võimeline kandma ainult ühte kasti korraga. Paralleelsel käivitamisel võib sama programmi olla võimalik jagada kaheks eraldi ülesandeks ja kui selle eeliseks on kaks protsessorit, kandke mõlemat kasti korraga. Seda tehes kannab mees mõlemat kasti ja täidab oma ülesande kiiremini.