Abstract Models - El‐Rewini, Hesham; Abd‐El‐Barr, Mostafa (Advanced Computer Architecture and Parallel Processing, 2004)
In this chapter, we study abstract models for both shared memory and message passing systems. We study several parallel and distributed algorithms and evaluate their complexities using these models. At first glance, abstract models may appear to be inappropriate in real‐world situations due to their idealistic nature. However, abstract machines have been very useful in studying parallel and distributed algorithms and evaluating their anticipated performance independent of the real machines. Clearly, if the performance of an algorithm is not satisfactory on an abstract system, it is meaningless to implement it on a real system. Although abstract models do not consider some practical considerations in real parallel and distributed systems, they focus on the computational aspects of the algorithmic complexity, which makes it less difficult to find performance bounds and complexity estimates. We begin by discussing a model of shared memory systems called PRAM (Parallel Random Access Machine). We also study the PRAM model and the relationships between its different variations. In addition, we present a computational model for synchronous message passing systems. Furthermore, we discuss complexity analysis of algorithms described in terms of both PRAM and message passing models. An assortment of algorithms for both models will be presented and evaluated.