CSC 548: Parallel Systems
Fall 2005
Schedule: M W 0350-0505PM, 1229 EB2 (Call # 240070)
Instructor: Xiaosong Ma (www4.ncsu.edu/~xma)
Course purpose
This class prepares you to understand
advanced research issues in parallel systems. You will be introduced to
concepts of parallel processing and parallel algorithms, state-of-the-art
parallel execution environments, message passing and shared-memory programming,
and various software components for parallel systems. The material will cover
numerous research papers besides the textbook. Current research will be
presented and discussed to give a better understanding of open issues in
parallel systems.
Course objectives
By the end of the course, you should be able
to do the following things:
● Message Passing Programming. To design and
implement parallel programs based on message passing; to analyze and
experimentally assess performance; to utilize data distribution and process
placement; to critique different implementation choices; to comprehend the
limitations of parallelization in terms of efficiency and scalability.
● Shared-Memory Programming. To design and
implement parallel programs based on the shared-memory paradigm; to analyze and
experimentally assess performance; to utilize data distribution and process
placement; to critique different implementation choices; to comprehend the
limitations of parallelization in terms of efficiency and scalability.
● Parallel Optimizations. To understand the
fundamental principles in optimizations for parallel architectures; to
comprehend and assess the benefits of optimizations on performance with respect
to architectural components, such as caches.
● Parallel I/O and Storage. To understand
common parallel I/O architecture, file systems, and storage systems; to design
and implement programs using message-passing based parallel I/O interfaces; to
comprehend and analyze parallel I/O performance issues.
● Research Topics. To reiterate hot topics in
research on parallel computing; to judge the relevance and impact of novel
approaches on the field; to present recent results in a comprehensive manner;
to identify open problems; to prototype solutions to selected hot topics and
open problems; to demonstrate the benefits of such implementations by
methodological evaluations.
Projects and exams
Students will complete a term project
(individually or in a group), and can choose the project topic under the
guidance of the instructor. There will be one midterm and one final exam.