Carnegie Mellon Parralel Computing Notes on Lecture 6

key goals that are at odds with each other balance

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: and stores (like shared address space) - Special built-in primitives: e.g., reduce 2. Shared address space model - Synchronization: - Locks used to ensure mutual exclusion - Barriers used to express coarse dependencies (e.g., between phases of computation) Communication - Implicit in loads/stores to shared variables 3. Message passing model - Synchronization: - - Implemented via messages Mutual exclusion exists by default: no shared data structures Communication: - Explicit communication via send/recv needed for parallel program correctness Bulk communication for efficiency: e.g., communicate entire rows, not single elements Several variants of send/recv, each has different semantics CMU 15-418, Spring 2014 Optimizing parallel program performance ( how to be l33t ) CMU 15-418, Spring 2014 Programming for high performance ▪ Optimizing the performance of parallel programs is an iterative process of re ning choices for decomposition, assignment, and orchestration... ▪ Key goals (that are at odds with each other) - Balance workload onto available execution resources Reduce communication (to avoid stalls) Reduce ex...
View Full Document

This document was uploaded on 03/19/2014 for the course CMP 15-418 at Carnegie Mellon.

Ask a homework question - tutors are online