2015-2016 Undergraduate Catalog 
    
    Mar 29, 2024  
2015-2016 Undergraduate Catalog [ARCHIVED CATALOG]

CS 464 - Parallel and Distributed Computing


Distributed and Parallel Processing has established itself as one of the most important and fast-growing areas of Computer Science and Engineering. The need for Parallel Computing permeates all areas of modern scientific investigation – from DNA and protein analysis, to weather prediction, to astronomy and astrophysics research, etc. Almost all modern application software implements some forms of parallelism such as multithreading or SPMD computation. Modern hardware is designed to take advantage of the great performance enhancement inherent in parallel processing, and to accomodate the parallel execution of software. This course is intended as an introduction to the vast field of Parallel and Distributed Computing. We will discuss the advantages and limitations of parallel computing, examine applications that greatly benefit from the availability of parallel processing hardware and environments, and discuss some modern trends in parallel hardware and software development. Along the way, we will learn to write shared-memory multithreaded applications and SPMD programs for distributed memory parallel computer systems.
Lecture
3 Credits
Prerequisites: CS 301  and CS 311