Professor Ioana Banicescu CSE 8843 Computational Models Professor Ioana Banicescu CSE 8843
Architectural Models for Parallel Algorithm Design Different algorithms require different architectures to solve the same problem efficiently Need to design a new algorithm for each architecture To avoid the complexity and cost of software development
Universal Abstract Model for Parallel Architecture Parallel programs can be ported to specific computers Parallel programs can be written for abstract model Software development cost is reduced Performance can be predicted since: parameters (characteristics) of the abstract model vs. those of specific architectures are known
Universal Model Characteristics Sufficiently general to capture the most important properties of a class of parallel computers Programs designed for this abstract model must execute efficiently on parallel computers and (2) are conflicting goals. Observation: The abstract model must make assumptions about the connectivity (degree of connectivity) among processors: Linear arrays and meshes: low Hypercubes: high
Universal Model Characteristics (continued) If the abstract model assumes low connectivity, algorithms designed for it will be optimal for parallel architectures with these characteristics and sub- optimal for architectures with high connectivity (i.e. communication resources under-utilized) Similarly in the case, the abstract model assume high connectivity
Universal Model Characteristics (continued) Regardless of the connectivity of the parallel model, it yields sub-optimal performance for some architectures Argument against the existence of a universal abstract model: No such model is currently known
Today’s Methodology in Parallel Algorithm Design Design parallel algorithms in terms of basic data communication operations Only implementation of these operations must be optimized for different parallel computers Communication operations are a small set Concurrency vs. Data locality