H. El-Rewini, T. G. Lewis, H. Ali, Task Scheduling in Parallel and Distributed Systems , Prentice Hall, 1994.
C. Xu and F. Lau, Kluwer, Load Balancing in Parallel Computers - Theory and Practice , Academic Publishers, 1997.
Since students come from different departments and backgrounds, the lectures will attempt to emphasize an even spread of topics in computer architecture, software, numerical methods, algorithm design. Students will spend time on particular parallel algorithms for scientific problems and their implementations on parallel and distributed machines. Among sample problems we can enumerate: linear algebra and large systems of differential equations arising in global climate modeling, CFD applications, hierarchical methods for particle simulations (N-body simulations for gravitational problems, molecular dynamics and plasma physics), etc.
We will have invited talks related to our topics given by researchers at the ERC on: numerical analysis, CFD applications and runtime environments. There will be several assignments, a project, midterm and final paper. All projects will be presented before the end of the semester. The final grade will be based on all of the above.
Students are responsible for checking the announcements regularly. For important announcements, click here.
The course will cover material from the following topics:
Scientific Computing: scientific problems and their characteristics; the impact of parallel programming on performance and numerical properties.
Fundamentals of parallel and distributed computing: models of parallel computation; parallel programming paradigms, design methodology for parallel algorithms; performance analysis and evaluation.
Scheduling Parallel Tasks: optimal scheduling algorithms; NP- completeness of the scheduling problem; considering communication delay; list scheduling heuristics; advanced scheduling heuristics; dynamic task scheduling; loop scheduling.
Load Balancing Algorithms: classification, models and performance metrics; nearest -neighbors algorithms; deterministic and stochastic algorithms; diffusion, dimension exchange and the gradient models; termination detection problem, edge-coloring, and optimality analysis (lower bounds); combinatorial optimizations (branch-and-bounds methods);
Applications: parallel unstructured grid partitioning: flow calculation, selection of vertices for load migration, experimental results; the use of recent technology.
[INSTRUCTOR] [HOURS] [PREREQUISITES] [OBJECTIVES] [REQUIREMENTS] [GRADING] [ANNOUNCEMENTS] [OUTLINE]