병렬 알고리즘(Parallel algorithm)은 컴퓨터 과학에서 전통적인 직렬 알고리즘과 달리 주어진 시간에 여러 작업을 수행할 수 있는 알고리즘이다. 추상 기계 모델(종종 랜덤 접근 기계로 알려진 모델)에서 직렬 알고리즘을 설명하는 것이 컴퓨터 과학의 전통이었다. 마찬가지로, 많은 컴퓨터 과학 연구자들은 병렬 추상 머신(공유 메모리)으로 소위 PRAM(병렬 랜덤 액세스 머신)을 사용해 왔다.[1][2]
많은 병렬 알고리즘은 동시에 실행된다. 일반적으로 병행 알고리즘은 별개의 개념이지만 이러한 개념은 종종 혼동되어 알고리즘의 어떤 측면이 병렬이고 어떤 측면이 동시인지 명확하게 구별되지 않는다. 또한, 비병렬, 비동시 알고리즘은 동시 알고리즘과 달리 "순차 알고리즘"이라고도 한다.