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.