*Result*: Programming Parallel Algorithms.
*Further Information*
*This article discusses the progress and development of parallel algorithms. Analyzing performance is a key part of studying algorithms. Although such analysis is not used to predict the exact running time of an algorithm on a particular machine, it is important in determining how the running time grows as a function of the input size. In parallel computing, the most common models are based on a set of processors connected either by a shared memory, as in the Parallel Random Access Machines, or through a network, as with the hypercube or grid models. In such processor-based models, performance is calculated in terms of the number of instruction cycles a computation takes and is usually expressed as a function of input size and number of processors. An important advance in parallel computing was the introduction of the notion of virtual models. A virtual model is a performance model that does not attempt to represent any machine that is actually build but rather is a higher-level model that can be mapped onto various real machines.*