Rinnakkaislaskenta tapahtuu, kun tietokone suorittaa useamman kuin yhden tehtävän samanaikaisesti. Tämän tekniikan avulla tietokoneet voivat toimia nopeammin kuin yhden asian tekeminen kerralla, aivan kuten henkilö, jolla on kaksi vapaata kättä, voi kantaa enemmän kuin henkilö, jolla on yksi vapaa käsi. Perinteisesti tietokoneohjelmat on suunniteltu tavalla, joka ei välttämättä salli rinnakkaislaskentaa, vaan ne on suoritettava askel kerrallaan. Jotta ohjelma voidaan laskea tällä tavalla, se on suunniteltava siten, että se voidaan jakaa pienempiin tehtäviin, jotka voidaan suorittaa erikseen. Esimerkkinä siitä, miten rinnakkaislaskenta liittyy tavalliseen ihmiseen, monissa henkilökohtaisissa tietokoneissa on useita prosessointiytimiä, joiden avulla he voivat käsitellä useita tehtäviä samanaikaisesti sen sijaan, että tehtävät toisensa jälkeen, kuten yhden prosessorin tietokoneella.
Tietokoneohjelman kirjoittaminen niin, että se voidaan jakaa erillisiin suoritettaviin tehtäviin, on usein vaikeampaa kuin kirjoittaa yksi kerrallaan käyttämällä lineaarista suoritusta. Tietokoneohjelmissa, jotka suoritetaan peräkkäin, ensimmäinen tehtävä määrittää yleensä tiedot, jotka ovat olennainen osa järjestyksen toista tehtävää. Ilman ensimmäistä tietoa, joka syntyy ensimmäisen tehtävän suorittamisesta, toinen tehtävä voi olla turha suorittaa. Kun kirjoitat ohjelmaa niin, että se voidaan jakaa eri osiin, ajoitus niin, että ohjelman eri osilla on tarvitsemansa tiedot, kun he tarvitsevat niitä, eivätkä tee päätöksiä vanhentuneiden tietojen perusteella, voi olla ainutlaatuinen haaste. Tämä huolenaihe liittyy yleensä yleisimpiin tietokonevirheisiin, joita rinnakkaisohjelmistot kohtaavat.
Rinnakkaislaskennan tärkein etu on, että ohjelmat voivat suorittaa nopeammin. Jos tietokonelaitteella, joka suorittaa ohjelmaa rinnakkaislaskennalla, on arkkitehtuuri, kuten useampi kuin yksi keskusyksikkö (CPU), rinnakkaislaskenta voi olla tehokas tekniikka. Vertailun vuoksi, jos yksi mies voi kuljettaa yhden laatikon kerrallaan ja CPU on mies, peräkkäin suoritettava ohjelma saattaa pystyä kuljettamaan vain yhden laatikon kerrallaan. Kun sama ohjelma suoritetaan rinnakkain, sama ohjelma saattaa pystyä jakautumaan kahteen erilliseen tehtävään, ja jos on kaksi prosessoria, jotka voivat hyödyntää sitä, kanna molemmat laatikot samanaikaisesti. Näin mies kantaa molemmat laatikot ja suorittaa tehtävänsä nopeammin.