Morning Tutorials: 09:30 - 12:30, Tuesday, 26. August
Enabling Technologies for High Performance Computing
Jack Dongarra
(
University of Tennessee and Oak Ridge National Laboratory, USA)
Who Should Attend
People with an interest in network distributed computing and numerical
methods.
Course Description
Wide area computer networks have become a basic part of today's computing
infrastructure. These networks connect a variety of machines, presenting an
enormous computing resource.
In this talk we focus on developing methods
and tools which allow a programmer to tap into this resource.
We describe tools such as ScaLAPACK,
NetSolve, PVM, MPI, and, tools and methodology
under development that assists a programmer in developing programs to execute
on a parallel computer.
Lecturer (short vita)
Jack Dongarra holds a joint appointment as Distinguished Professor
of Computer Science in the Computer Science Department at the
University of Tennessee (UT) and as Distinguished Scientist in
the Mathematical Sciences Section at Oak Ridge National Laboratory
(ORNL) under the UT/ORNL Science Alliance Program.
He specializes in numerical algorithms in linear algebra, parallel
computing, use of advanced-computer architectures, programming
methodology, and tools for parallel computers. Other current research
involves the development, testing and documentation of high quality
mathematical software. He was involved in the design and implementation
of the software packages EISPACK, LINPACK, the BLAS, LAPACK, ScaLAPACK,
Netlib, PVM/HeNCE, MPI, the National High-Performance
Software Exchange and NetSolve; and is currently involved in the
design of algorithms and techniques for high performance computer
architectures.
He has published numerous articles, papers, reports and technical memoranda,
and has given many presentations on his research interests.
Recent Advances in Parallel Computer Architecture
Per Stenström
(
Chalmers University of Technology, Sweden)
Who Should Attend
The tutorial is mainly targeted to practitioners in the field of
computer engineering, but also to researchers in computer science
who are interested in the state of the art of parallel computer
architecture. The tutorial assumes basic knowledge in programming
and computer organization and architecture.
Course Description
We cover in this tutorial recent advances in parallel computer
architecture. Parallel computer architectures are gaining widespread
use, not only for compute-intensive scientific and engineering applications
but also for emerging high-performance application domains including
various flavors of database management and multimedia processing
such as computer graphics.
Since the dominating parallel computer architectures have emerged from
computational needs from emerging high-volume applications on one hand,
and technological advances on the other, we will in this tutorial cover
design principles and performance aspects of mainstream parallel computer
architectures. We will first discuss two prevailing programming models
for these parallel machines: message-passing (such as MPI and PVM) and
shared-memory. We then look into the design principles for architectures
that support these programming models directly: symmetric multiprocessors and
distributed-memory machines. We then move on to look at machines at the
larger scale and will specifically focus on design principles for distributed
shared-memory machines. One observation is that both programming models
can be efficiently supported under this machine model. Throughout the
presentation, we will illustrate many of the design principles with examples
of commercial machines.
Some of the concepts that will be covered are
- shared-memory programming interfaces
- message-passing programming interfaces
- communication architecture
- memory organization
- interconnection networks for parallel computer architectures
- cache hierarchies and cache coherence issues
- latency-reducing and tolerating techniques
Lecturer (short vita)
Per Stenström is a Professor of Computer Engineering with a chair in
computer architecture at Chalmers University of Technology since 1995.
He was previously on the faculty of Lund University where he also received
his MS degree in Electrical Engineering and PhD degree in Computer Engineering
in 1981 and 1990, respectively. Dr. Stenström's research interests are
in computer architecture in general with a special emphasis on multiprocessor
design and performance analysis as well as compiler optimization techniques.
He has published more than 50 papers in these areas and has authored two
textbooks on computer architecture and organization. As a visiting scientist,
he has participated in major multiprocessor architecture research projects
at Carnegie-Mellon, Stanford University, and University of Southern California.
He is on the editorial board of the Journal of Parallel and Distributed
Computing (JPDC) and has served on numerous programme committees for computer
architecture and parallel processing conferences. Dr. Stenström is a
member of the IEEE and the Computer Society as well as the ACM and the SIGARCH.
BSP Programming
Jonathan Hill
and
David Skillicorn
(
Oxford University, UK and
Queen's University Kingston, Canada)
Who Should Attend
Would you like to be able to write architecture-independent but
efficient parallel code? Have you tried MPI and PVM, and would like a
simpler alternative?
This tutorial will be of interest to anyone wishing to learn how to
develop portable and scalable parallel programs. The only
prerequisite is some familiarity with a standard sequential
programming language such as C or Fortran.
Course Description
Scalable computing will, over the next few years, become the normal
form of computing. Software for scalable computing will have to be
fully portable across the whole range of general-purpose parallel
architectures, from simple networks of PCs to large parallel
supercomputers. It will also have to be efficient, achieving optimised
performance, in a predictable way, on all such architectures. The BSP
model provides a discipline for the design, analysis and
implementation of universal software of this kind. This tutorial
provides an introduction to the theory and practice of BSP computing,
and shows how it is currently being used to produce portable parallel
software for industrial applications.
The tutorial will provide an introduction to the principles of BSP
cost modeling and performance prediction. It will also show how to
design, analyse and implement BSP programs using the various software
tools that have been developed to provide a BSP Programming
Environment.
Lecturers (short vita)
Jonathan M.D. Hill is a Research Officer at the Oxford University
Computing Laboratory and Oxford Parallel. The work he is involved in
is a British EPSRC funded project ``Portable Software Tools for
Parallel Architectures.'' He was involved in the standardisation of the
BSPLib libraries for C and Fortran, and did most of the
implementation. He has developed tools for profiling and cost
prediction of BSP programs. These tools were successfully used, for
example, to predict the performance of a CFD application on an IBM
SP-2 from its performance on an SGI PowerChallenge.
David Skillicorn is a Professor in the Department of Computing and
Information Science at Queen's University in Kingston, Canada. His
research is in models of parallel computation, particularly those
properties most important for general-purpose parallelism. He also has
a lively interest in software development, implementation, and performance
for parallel computing.
(C)opyright
by University of Passau,
Sven Anders
14.05.1997