Course Overview
7045 Distributed and High-Performance Computing
(Advanced Operating Systems D)
Lecturers:
Dr Paul Coddington, Room 1052f, paulc@cs.adelaide.edu.au
Dr Francis Vaughan, Room 2017, francis@cs.adelaide.edu.au
Level: IV
Duration: Semester 1, 2003
Course Home Page:
http://www.cs.adelaide.edu.au/users/honours/dhpc/
Course Objectives
This course is aimed at bridging the gap between undergraduate computer
science and state-of-the-art technologies and research in distributed
and high-performance computing (DHPC).
The course provides an overview of
distributed computing systems, vector and parallel computers,
and other high-performance computing systems (or supercomputers),
and examples of the types of applications that require DHPC systems.
Some historical background is given on architectures for
high-performance computing, but the
emphasis is on what the software developer needs to know to exploit
distributed and parallel computing hardware for maximising efficiency
and performance.
The course has a strongly applied outlook, and focusses on the most
commonly used programming languages for distributed and parallel
processing, with case studies and examples.
Course Content
The course will provide an introduction to the following areas:
- High-Performance Computing: supercomputers and the need for speed.
- Parallel Computing: extra performance or price/performance
from utilizing multiple processors.
- Distributed Computing: added performance, functionality and
reliability by using multiple computers distributed over a
local or wide-area network.
- Grid Computing or Metacomputing: high-performance computing
over wide-area networks and the Internet.
We will focus on the following DHPC technologies:
- High-Performance Computing Architectures: Vector, Distributed memory,
Shared memory.
- Data Parallel Programming: Fortran 90 and High Performance Fortran (HPF).
- Message Passing Programming: Message Passing Interface (MPI).
- Shared Memory Programming: OpenMP, Java threads.
- Distributed Computing Middleware: DCE, RPC, CORBA, Java RMI.
- Cluster Computing: Beowulf PC clusters, networks of workstations,
network technologies, cluster management software.
- Grid Computing and Internet Computing: Globus, Legion, DISCWorld,
SETI@Home etc.
The course will cover the following broad areas:
- Applications and Motivation: an overview of key applications areas
of DHPC, such as large-scale science and engineering calculations.
- Supercomputer Architectures: a historical and modern look at some
important architectural aspects of DHPC systems.
- Programming Tools and Languages: how to program parallel and
distributed computers.
- Profiling and Performance Measurement: how to how to analyze the
performance and speedup of programs on DHPC systems.
- Case Studies: parallel programs for some scientific computations.
Prerequisites
There are no formal prerequisites.
Computer Architecture and Advanced Programming Paradigms are useful
background but not required.
However you must be able to program in at least one of C, Fortran or Java.
It will be helpful for some sections of the course to be able to
understand examples of code presented in each of these languages.
Recommended reading
A list of suggested
references
to Web pages, papers, and books is available on the course Web page.
Assessment
The course will be assessed as follows:
- Programming practicals : 40%
- Research a topic and write a report : 20%
- Final Exam : 40%
Computer accounts
Students will be given accounts on some parallel machines for
doing the programming labs and the programming practicals.
Accounts for University of Adelaide students should be set up
automatically.
Other students will need to have accounts set up for them.
The procedure for doing this will be explained in the lectures.
Lectures
There will be 12 lectures on the following dates:
1. Wed March 5
2. Wed March 12
3. Wed March 19
4. Wed March 26
5. Wed April 2
6. Wed April 9
- Mid-Semester Break
- Mid-Semester Break
7. Wed April 30
8. Wed May 7
9. Wed May 14
10. Wed May 21
11. Wed May 28
12. Wed Jun 4
All lectures are from 4.10pm - 6pm in the Computer Science Lecture Theatre,
room 2060 on Level 2 of the Plaza Building.
Distributed and High-Performance Computing course,
Paul Coddington
(paulc@cs.adelaide.edu.au)
and
Francis Vaughan
(francis@cs.adelaide.edu.au)
Semester 1, March - June 2003.