Rinnakkaisohjelmointi

Rinnakkaisohjelmointi on ohjelmointiparadigma, joka pyrkii hyödyntämään ohjelmointikielen tukea rinnakkaisuudelle.

Esimerkki rinnakkaisohjelmointiin tarkoitetuista ohjelmointikielistä on Alef, joka kehitettiin Plan 9 -käyttöjärjestelmän kanssa Bell Labs:ssa. Alef-kieli osoittautui liian vaikeaksi ylläpitää eri alustojen välillä, mutta sen tekijät ottivat siitä opiksi C-kielen säiekirjastoon.

Paradigman toteuttavia ohjelmointikieliä ovat muun muassa Googlen Go (golang), Limbo sekä Occam.

C-kielestä on kehitetty murteita rinnakkaisohjelmointiin kuten Unified Parallel C (UPC), joka käyttää SPMD-mallin suoritusta.

Rinnakkaisohjelmoinnin (parallel) lisäksi on yhtäaikainen (concurrent) ohjelmointi, joka käyttää yhtä aikaa suoritettavia prosesseja ja säikeitä.

Yleiskäyttöisten rinnakkaisohjelmointialgoritmien kehittäminen on vaikeampaa kuin yleiskäyttöisien sarjamuotoisten algoritmien.

Neljä tärkeintä MIMD-tyyppiseen rinnakkaisohjelmointiin käytettäviä paradigmoja ovat:
 compute-aggregate-broadcast
 divide-and-conquer
 pipelining
 reduction

Katso myös 
 Rinnakkaislaskenta

Lähteet 

Ohjelmointiparadigmat
Tietojenkäsittelytiede