Download presentation
Presentation is loading. Please wait.
1
COMPUTATIONAL MODELS
2
Architectural Models For Parallel Algorithm Design
Different algorithms require different architectures to solve the some problem efficiently Need to design a new algorithm for each architecture? To avoid the complexity and cost of (software development) we need Universal abstract model for parallel architectures -parallel programs can be ported to specific computers -parallel programs can be written for the 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.
3
Universal model characteristics
Sufficiently general to capture the most important properties of a large class of parallel computers Programs designed for this abstract model must execute efficiently on parallel computers. (1) 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 (a) If the abstract model assumes low connectivity, Alg. Designed for it will be optimal for parallel architectures with those characteristics, and suboptimal for architectures with high connectivity (i.e. communication resources under-utilized)
4
(b) * similarly, in the case the abstract model assumes high connectivity…
=> 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 is: Design parallel algorithms in terms of basic data communication operations. *only implementation of those operations must be optimized for different parallel computers. *communication operations area a small set. Concurrency ----- vs data locality
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.