병렬 랜덤 접근 기계(parallel random-access machine) 또는 병렬 램(parallel RAM, PRAM)은 컴퓨터 과학에서 공유 메모리추상 기계이다. 이름에서 알 수 있듯이 PRAM은 RAM(랜덤 접근 기계)에 대한 병렬 컴퓨팅 비유로 사용된다(랜덤 액세스 메모리와 구별됨).[1] 순차 알고리즘 설계자가 알고리즘 성능(예: 시간 복잡도)을 모델링하기 위해 RAM을 사용하는 것과 마찬가지로 PRAM은 병렬 알고리즘 설계자가 병렬 알고리즘 성능(예: 프로세서 수에 따른 시간 복잡도)을 모델링하는 데 사용된다. 일반적으로 가정된 내용도 명시되어 있다). RAM 모델이 주 메모리 대비 캐시 메모리에 대한 액세스 시간과 같은 실질적인 문제를 무시하는 방식과 유사하게 PRAM 모델은 동기화 및 통신과 같은 문제를 무시하지만 문제 크기에 따라 원하는 수의 프로세서를 제공한다. 예를 들어 알고리즘 비용은 두 개의 매개변수 O(시간)과 O(시간 × 프로세서_번호)를 사용하여 추정된다.
Vishkin, Uzi (2011), “Using simple abstraction to reinvent computing for parallelism”, 《Communications of the ACM》 54: 75–85, doi:10.1145/1866739.1866757
Caragea, George Constantin; Vishkin, Uzi (2011), 〈Brief announcement: Better speedups for parallel max-flow〉, 《Proceedings of the 23rd ACM symposium on Parallelism in algorithms and architectures - SPAA '11》, 131쪽, doi:10.1145/1989493.1989511, ISBN9781450307437, S2CID5511743
Ghanim, Fady; Vishkin, Uzi; Barua, Rajeev (2018), “Easy PRAM-based High-performance Parallel Programming with ICE”, 《IEEE Transactions on Parallel and Distributed Systems》 29 (2): 377–390, doi:10.1109/TPDS.2017.2754376, hdl:1903/18521