CS 520-3
Advanced Topics in Parallel and Distributed Computing
Catalog Description
An advanced treatment of parallel and distributed computing; review of hardware and software considerations for parallel computation; development and analysis of parallel algorithms (with particular attention to the communication and synchronization costs associated with parallel algorithms); effect of granularity on performance; a comparison of the parallel and distributed programming paradigms including a detailed study of the central features of each approach; software systems for distributed computing including exposure to one or more distributed programming environments; the direction of parallel computing as suggested by recent, high level parallel languages; parallelizing serial programs; parallelizing compilers; future directions of parallel and distributed computing systems. The course will include a student project.
Prerequisite:
CS 420.
Course Outline
| Lectures | ||
| 1. | Review of hardware and software considerations for parallel computation | 6 |
| 2. | Components of parallel processing | 3 |
| 3. | Development and analysis of parallel algorithms | 9 |
| 4. | Comparison of parallel and distributed programming paradigms | 6 |
| 5. | Recent high level parallel languages | 5 |
| 6. | Parallel compilers | 5 |
| 7. | Future directions of parallel and distributed computing systems | 6 |
| Total | 40 | |