Distributed and High-Performance Computing
(Advanced Operating Systems D)
Dr Paul Coddington
Department of Computer Science
University of Adelaide
Room 1052
http://dhpc.adelaide.edu.au/
paulc@cs.adelaide.edu.au
July - October 2000
Course Home Page
http://dhpc.adelaide.edu.au/education/CS7933/
Course Objectives
This course is aimed at bridging the gap between undergraduate computer
science and state-of-the-art research work in distributed and
high-performance computing (DHPC). The course provides background material
in distributed computing systems, parallel computing systems, and
other high-performance computing 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
high-performance hardware for maximising efficiency and performance.
The course has a strongly applied outlook with numerous case studies
and examples from industry and computational science.
The course will discuss the following questions and provide a close
look at past and present research in distributed and high-performance
computing.
- What is Distributed Computing?
- What is High-Performance Computing?
- What is the relationship between the two?
- Why are they important and to whom?
- A review of some important systems.
- An introduction into active research in these areas,
looking at research efforts worldwide as well as those
in our own DHPC project.
Course Contents
Definition of the following areas:
- High-Performance Computing: Faster, cheaper, better,...
- Parallel Computing: Extra performance or price/performance
usually in a tightly coupled environment
- Distributed Computing: Added functionality and reliability
over a local or wide-area network
- Grid Computing or Metacomputing: High-performance computing
over wide-area networks and the Internet
We will cover the following broad areas:
- Applications and Motivation: An overview of key applications areas
of DHPC
- Architectures and Applications: A historical look at
some important architectural aspects of DHPC systems
- Profiling, Measurement and Code Porting: Some examples of how to
get code running efficiently on a new DHPC system,
how to analyse/model/benchmark/optimize the code
- Case Studies: Computational physics; Weather forecasting, etc.
- The Research Problems: Security and Authentication; Name Spaces for
Control and Storage; Heterogeneous Systems and Integration; Interoperability.
- Where to Find More Information: Some web sites and key research
groups around the world.
and in particular focus on the following DHPC technologies:
- Data Parallelism: (HPF, HPC, ...)
- Message Passing: (PVM, MPI, ...)
- Shared Memory Systems: (CC-NUMA, OpenMP, Java threads, ...)
- Distributed Environments: (DCE, RPC, CORBA, Java RMI, ...)
- Metacomputing or Grid Computing: (Globus, Legion, DISCWorld,
SETI@Home, ...)
The course is intended to cover as up-to-date material as possible,
and will include lectures on recent areas of interest such as:
-
Cluster computing, and in particular presentation of software and
ideas for clustered PCs (Beowulf Project), and new networking
technologies such as Myrinet and VIA.
-
Some Java distributed computing technology such as Java Jini
and the DISCWorld Java based middleware being developed by the
DHPC group.
The lecture notes and an outline of the topics covered by each lecture
for last year's course are available from the course home page.
Some of last year's material will be changed to incorporate
recent advances in DHPC technologies.
Pre-requisites
You must be able to program at least one of C, Java, or Fortran,
and it will be helpful to be able to understand code presented
in C and Java.
Administration
There will be 11 Lectures on the following dates:
- 1. Friday, July 28
- 2. Friday, August 4
- 3. Friday, August 11
- 4. Friday, August 18
- 5. Friday, August 25
- 6. Friday, September 1
- 7. Friday, September 8
- 8. Friday, September 15
- -
- -
- 9. Friday, October 6
- 10. Friday, October 13
- 11. Friday, October 20
All lectures are from 4.15pm - 6pm in the CS Dept Lecture Theatre
on Level 2 of the Plaza Building.
Assessment
The course will be assessed as follows:
- Practical programming exercise - choice of several: 40%
- Research a topic - choice of several ( 2500 word Essay ): 40%
- In addition there will be one other (shorter) Essay to be written
earlier on in the course to allow time to provide feedback: 20%
Distributed and High-Performance Computing course,
Paul Coddington
(paulc@cs.adelaide.edu.au),
July - October 2000.