Parallel Programming in C with MPI and OpenMP

advertisement
Parallel and Distributed
Computing Overview and
Syllabus
Professor Johnnie Baker
Guest Lecturer: Robert Walker
Instructors
• Professor Johnnie W. Baker
– Primary Lecturer
• Professor Robert Walker
– Guest lectures on specific architectures
– Guest lecture on his groups VLSI work on
parallel architectures
• Possible guest lecturers from parallel
processing group
– Lecture in areas of expertise
– Occasionally cover classes when I am away
Prerequisites
• Designed to be accessible to all graduate
students in computer science
• Students who are not CS graduate
students may also be qualified to take
course
Textbook and References
• Textbook
– Parallel Programming in C with MPI and
OpenMP
– Michael Quinn, author
– Published by McGraw Hill in 2004
• References for Supplementary Reading
– Classroom Slides will also include additional
information from a wide range of sources
– Any additional needed reference material will
be handed out or posted on course website
Some Features of Course
• Includes coverage of fundamental
concepts of parallel computation, rather
than focusing only on latest trends.
– Often quickly outdated due to rapid
technological changes
• Also covers the currently popular cluster
architectures, shared memory processors,
and the MP language.
– This is the focus of the Quinn Textbook
Course Features (cont.)
• Covers the common techniques for
parallel computation by looking at three
key features for each technique:
– Typical architectural features
– Typical programming languages used
– Typical algorithm design techniques used.
Some Specific Topics
• Fundamental concepts applicable to all
parallel computation.
• Asynchronous (MIMD) distributed memory
computation
– Message passing communications
– Programming using the MPI Language
– Architectural features
– Examples of typical algorithms
Specific Topics (cont.)
• Asynchronous (MIMD) shared memory
computation
– Symmetric Multiprocessors or SMPs
– OpenMP language overview
• Synchronous Computation
– SIMD, vector, pipeline computing
– Associative and Multi-Associative Computing
– Programming using the ASC language
– Programming on WorldScape system with Cn
– Fortran 90 and HPF Language overviews
– Algorithm examples
Specific Topics (cont.)
• Interconnection Networks
– Specific Computer Examples including 2D
mesh, hypercube, etc.
– Synchronous and asynchronous
considerations
• Comparing MIMD & SIMD Computation
using a Real-Time Application
– ATC (Air Traffic Control)
Some Benefits of Course
• While principal focus is on parallel computation,
most information is applicable to distributed
computing.
• There is a wide choice of thesis and dissertation
topics in this area
• Several professors in department work in this
area or make major use of parallel computation
in their research
• Students working on a thesis or dissertation in
another area may benefit from being able to use
parallel computation in their work.
Benefits (cont.)
• Most large computational problems require
a parallel or distributed system to satisfy
the speed and memory requirements
• Parallel computation currently has major
advantages over both distributed
computation and grid computation for
computational intensive problems.
– Programs are normally much simpler
– Architectures are much cheaper
– Grid computing is currently fairly futuristic
Two Complementary Courses
• Parallel & Distributed Computing (Fall)
–
–
–
–
Architectures
Languages
Parallel Programming
Algorithm Examples for some architectures
• Parallel & Distributed Algorithms (Alternate
Springs)
– Important Parallel Models
– Designing Efficient Algorithms for Various Models
– Expect to be next offered in Spring 2009
• PDC and PDA can be taken in either order
– Preference is for PDC to be taken first
Real-Time Systems Course
• Will be offered this Spring as an online
course
• Co-taught with Professor Drew at Ohio
University
• Plan to have a project on implementing a
basic ATC system on a WorldScapeClearSpeed parallel computer.
• The PDC class should provide useful
background information for this course.
Assignments and Grading
• Homework assignments
– Problems assigned for most chapters
– Probably 5-7 different assignments
– Some assignments will involve programming
• Course Grade
– Based on homework, midterm, and final
– Approximate weights
• Homework
40%
• Midterm Exam 30%
• Final Exam
30%
Documented Disabilities
• If you have documented disabilities,
please contact me and make me aware of
your needs.
• For information on disability
accommodations, support, and verification
procedure, please see www.kent.edu/sds
Course Website
• Will be established quickly
• Class slides, assignments, and some
references will be posted on this website.
• Also, an online reference textbook and a
pointer to a second online textbook will be
available at this site.
• First Assignment – Read Chapter 1 in
textbook.
Download