|
Sep 07, 2024
|
|
|
|
2022-2023 Undergraduate Catalog [ARCHIVED CATALOG]
|
CS 3600 Parallel and Distributed Computing An introduction to the concepts, models, architectures, and programming methodologies for parallel and distributed computation. Parallel algorithm design strategies (with patterns such as divide-and-conquer, map and reduce, master-workers) for multi-core, multi-processor, and network-based concurrency and parallelism by applying OpenMP. MPI, threads, semaphores, message-passing, and other coordination tools, both in tightly-coupled and networked environments. Issues in shared memory, racing, and deadlock, and other problems will be addressed and resolved.
Actual coding projects will be in C++, Java, Hadoop, and other languages in support of these paradigms with appropriate API’s (application program interfaces). Performance will be determined both by experimentation and analytic methods with respect to several measures such as time and space complexity.
Prerequisite(s): CS 3420 with a grade of C- or better Credits: 3.0
|
|