programming paradigm in which many calculations or the execution of processes are carried out simultaneously