LRR-TUM-Logo Department of Informatics
Technische Universität München
Informatik X: Rechnertechnik und Rechnerorganisation / Parallelrechnerarchitektur
Prof. Dr. Arndt Bode , Prof. Dr. Hans Michael Gerndt
abakus50x50.gif
 Home  | Addresses  | Staff  | Research  | Lectures 
Search 

Tutorial on SMiLE Shared Memory Programming

Held at the SCI Summer School 2000

October 3rd, 2000, Trinity College Dublin


This page is part of the electronic proceedings for the SCI Summer School 2000. The complete proceedings covering any session can be found at the summer school web site.


Presenters from the SMiLE group:

Abstract:

For last few years the SMiLE (Shared Memory in a LAN-like Environment) project at LRR-TUM has investigated in the various aspects of SCI based clusters focusing on both hardware and software developments. As one result of these efforts, a comprehensive software infrastructure has been created and compiled supporting both message passing and shared memory style programming.

The latter one is based directly on the hardware DSM capabilities offered by SCI in order to fully exploit the performance potential of the network and is offered to the user at two different levels of abstraction: based on individually mapped segments of remote memory or using a transparent global virtual memory system. While the first is based on a straightforward implementation, the SISCI low-level API, but burdens the programmer with extra complexity, the second one provides a shared memory environment at a similar abstraction than SMPs, but requires a complex hybrid DSM system. Such a system, the SCI Virtual Memory or SCI-VM has been developed within SMiLE. Together with a general framework for arbitrary shared memory programming models, called HAMSTER (Hybrid-dsm based Modular and Adaptive Shared memory archiTEctuRe), it provides the means for an efficient and easy-to-use shared memory programming environment.

The presentation will introduce both models and describe their implementation, challenges, and applicability for the end user. It will discuss how they relate to each other and how they fit into the overall software infrastructure. This discussion will be based on many examples and will enable the participants to understand the issues involved in using SCI as the basis for shared memory programming.

The tutorial is split in two parts, a lecture and a lab part. During the lecture the issues involved in building a comprehensive software infrastructure are discussed together with the basic SCI mechanisms available to to shared memory programming. During the lab, the participants will get a hands-on experience of shared memory programming on SCI. This part will again be split into two parts: basic shared memory programming using the SISCI API and through a high-level programming model relying on the SCI Virtual Memory.


Slides

The slides from the tutorial are available in three separate parts:


Examples from the Lab session

The lab session was split in two parts - an example for the SISCI API and an example for the HAMSTER environment based on a SPMD programming model. The instructions for both lab parts are contained in the lab slides linked above. In both examples a source code with gaps is given. It was the task of the participants to fill these gaps correctly and then play with the complete code to get familiar with the runtime behavior of the discussed APIs. The packages above contain both, the original code with gaps and the completed solution.


Software

The software used in the SMiLE Shared Memory Lab Session will be available from the newly created SMiLE software repository. Please check back at the end of October.


Back to SMiLE homepage

Questions, suggestions, ideas, criticism ?
Don't hesitate to send us an eMail!

(none) Webmaster