Using Simple Abstraction to Reinvent Computing for Parallelism. - VISHKIN, UZI (Communications of the ACM, 2011)
The article presents a method for teaching computer programmers to think in terms of parallel algorithms, designed to enable improved programming for multi-processor machines. It involves an Immediate Concurrent Execution (ICE) abstraction, which is supported by explicit multi-threaded (XMT) computer architecture and parallel random-access machine (PRAM) algorithmics. A workflow using these techniques is described, and the advantages of such an approach over serial algorithms are explicated. The major steps involved in the ranking/merging algorithm are discussed, and a block diagram of the XMT architecture is included.