section_heading: Paralelni programski jezici
paragraph_text: Brojni konkurentni programski jezici, biblioteke, API-i i paralelni programski modeli su stvoreni za programiranje paralelnih računala. Ona se općenito mogu podijeliti u skupine bazirane na pretpostavci o memorijskoj arhitekturi – dijeljena memorija, distribuirana memorija ili dijeljeno-distribuirana memorija. Programski jezici za rad s dijeljenom memorijom komuniciraju upravljanjem dijeljenih memorijskih varijabli. Distribuirana memorija koristi sustav poruka. POSIX Threads i OpenMP su dva najraširenija korištena API-a za dijeljenu memoriju, gdje je Message Passing Interface (MPI) najrašireniji sustav prosljeđivanja poruka. Jedan od koncepata koji se koristi kod programiranja paralelnih programa jest koncept budućnosti, gdje se u budućnosti jedan dio programa obvezuje proslijediti traženi podatak drugom dijelu programa.