Cluster Computing

The final exam formulation

A MiG tutorial on how to get to the hardware.


Slides from the lectures

Lecture 1 Introduction

Lecture 1 Computer Architecture

Lecture 2 Shared Memory Introduction

Lecture 3 Programming with Threads

Lecture 4 Network of workstations

Lecture 5 Parallel Virtual Machines

Lecture 6 Massive Parallel Processors

Lecture 7 Message Passing Interface

Lecture 8 Remote Memory

Lecture 9 Cluster Interconnects

Lecture 10 Tuple Spaces

Lecture 11 DSM architectures


Notes

Note on how to perform performance meassurements.

Shared Memory architecture and programming


Recomended books

Parallel programming

Parallel hardware


Links

Andrew D. Birrell, An Introduction to Programming with Threads, SRC Research Report 35.

Simultaneous Multithreading Project Academic project with much information and no 'sales' material.

SUN Ultrasparc T1

The Register Story on Intel SMP on a chip

Getting Started with POSIX Threads

PVM:Parallel Virtual Machine A Users' Guide and Tutorial for Networked Parallel Computing

Anderson et al. A Case for Networks of Workstations: NOW. IEEE Micro, Feb, 1995

Adam J. Ferrari,  JPVM: Network Parallel Computing in Java,  ACM 1998 Workshop on Java for High-Performance Network Computing

The TOP500 project was started in 1993 to provide a reliable basis for tracking and detecting trends in high-performance computing. Twice a year, a list of the sites operating the 500 most powerful computer systems is assembled and released. The best performance on the Linpack benchmark is used as performance measure for ranking the computer systems. The list contains a variety of information including the system specifications and its major application areas.

Appendix G Vector processor from John L. Hennessy and David A. Patterson: "ComputerArchitecture - A Quantitative Approach", third edition, Morgan Kaufmann, 2003.

The Earth Simulator is built from 640 units of high performance nodes which employ eight vector processors and 16 Gbytes of high speed memory, interconnected via a high speed crossbar network.

IBM Blue Gene is described in IBM Journal of Research and Development Volume 49, Number 2/3, 2005. The article "Overview of the Blue Gene/L system architecture" can be recommended.

MPI home page The Message Passing Interface (MPI) standard, contains lots of useful material.

MPI: A Message-Passing Interface Standard. The reference manual for MPI. Don't print!

Writing Message Passing Parallel Programs with MPI. Course notes for a two day course on MPI usage, N. MacDonald, E. Minty, J. Malard, T. Harding, S. Brown, M. Antonioletti, Edinburgh Parallel Computing Centre.

Kørselsvejledning til Kvaser. How to run parallel programs on Kvaser using MPI. Se useful examples in /opt/scali/examples/TUTORIAL/c/ on Kvaser.

ScaMPI User's guide. The reference manual for the implementation of MPI used on Kvaser.

The paper ORCA: A LANGUAGE FOR PARALLEL PROGRAMMING OF DISTRIBUTED SYSTEMS describes both language and implementation. esides it sketches Linda and Shared Virtual Memory concepts and implementation.

An introduction to the InfiniBand architecture describes this new industry standard.

The conference paper A family of routing and communication chips based on the Mosaic from 1993 gives the background technology for the first generation of Myrinet. The principle of wormhole routing originates from Seitz and his group at Caltech.

Brian Vinter. Chapter 2 and 3 of: PastSet - A Structured Distributed Shared Memory System. Dr. Scient, Thesis,Tromsø University, 1999, pp . 25-62.

IBM TSpaces Programmer's Guides.


Software

VMware player image with all tools for this class

Username is user and password is user. If you need root access the root password is cluster.

Download VMware player here


Assignments

Road Map assignment Help Presentation

Race Trap assignment. Help Presentation

Freeze Trap assignment Help Presentation Frysefælden contains extra material for assignment 3.

Wind Trap assignment. Help Presentation

Clone assignment. Help Presentation


eScience Assignments

Tumor Radiaiton assignment Code

Protein folding assignment Code

Heat equation Code

Lattice Gas Code

NBody Code