ECEN 5553 - Parallel Processing
Spring Semester
3 credit hours
On-line materials
Catalog Description: This course examines a range of topics involved in using parallel operations to improve computational performance. Discusses parallel architectures and parallel algorithms, and parallel programming languages. Architectures covered include vector computers, multiprocessors, network computers, and data flow machines.
Prerequisites: Background in computer architecture, computer languages and numerical analysis to the specific topic of parallel computing.
Textbook:
-
Culler and Pal Singh,
Parallel Computer Architecture: A Hardware/Software Approach,
Morgan/Kaufman, 1st Ed.
Goals: The course extends work in computer architecture, computer languages and numerical analysis to the specific topic of parallel computing.
Topics:
- Parallel algorithms: depth and size of an algorithm, divide and conquer methods, speedup, and efficiency.
- Parallel architectures: SIMD instruction sets and vector computers; memory interconnection networks array organization in memory and associative processors. Multiprocessors: shared memory and distributed systems. Dataflow machines: the abstract model and approximate realization. Parallel architecture survey: multiprocessors, vector computers, associative processors, and dataflow systems.
- Parallel programming languages. Language features for synchronization: control flow based and data item based. Data dependency analysis and automatic vectorization. Value oriented languages for data flow.
- Performance Analysis. Matching algorithms to architectures. Synchronization and start-up overhead.
- Since class access to a wide range of parallel computers is not a reasonable expectation, the class will have to be taught by simulation of such computer facilities. Alternatively, as the class develops, the use of ordinary university computer facilities or even student-owned computers to simulate parallel algorithms may be valuable.
- None.
