SMiLE Lehrstuhl für Betriebssysteme SCI Low-level programming Lab-Session Joachim Worringen Lehrstuhl für Betriebssysteme RWTH Aachen Martin Schulz Lehrstuhl.

Slides:



Advertisements
Similar presentations
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Scienze dellInformazione Università di Bologna.
Advertisements

1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 2 Getting Started.
Copyright © 2002 Pearson Education, Inc. Slide 1.
DC-API: Unified API for Desktop Grid Systems Gábor Gombás MTA SZTAKI.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 7 1 Microsoft Office Word 2003 Tutorial 7 – Collaborating With Others and Creating Web Pages.
Michigan Electronic Grants System Plus
0 - 0.
Multiple Processor Systems
Managing data using CSPro
Teacher/Mentor Institute Using the Cortex Chuck Powell.
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Parallel List Ranking Advanced Algorithms & Data Structures Lecture Theme 17 Prof. Dr. Th. Ottmann Summer Semester 2006.
Project 5: Virtual Memory
1 Symbol Tables. 2 Contents Introduction Introduction A Simple Compiler A Simple Compiler Scanning – Theory and Practice Scanning – Theory and Practice.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
1 Distribution of Data and Remote Invocation of Programs Tomasz Müldner, Zhonghai Luo and Elhadi Shakshuki* Jodrey School of Computer Science, Acadia University,
1 NS-2 Tutorial COMP R2 University of Manitoba March 4, 2009.
Addition 1’s to 20.
Chapter 10 Linking and Loading. Separate assembly creates “.mob” files.
TM Graphical Monitoring Electronic Service Tools.
Shared Memory Programming on SCI-Connected Clusters Lab Session SCI Summer School 2001 Trinitiy College Dublin Joachim Worringen Lehrstuhl für Betriebssysteme.
MotoHawk Training Model-Based Design of Embedded Systems.
ALEPH version 21 Task Manager. New Task Manager Interface Admin tab 2 The Task Manager interface has been removed from the ALEPH menu, and is now found.
OpenVMS System Management A different perspective by Andy Park TrueBit b.v.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
CS201 - Laboratory Submittal Using the submit command.
CSCI 4550/8556 Computer Networks Comer, Chapter 3: Network Programming and Applications.
Process management in Minix1 Processes Process is a program in execution. Program is a static entity while process is an active entity. Process Control.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
1 Network File System. 2 Network Services A Linux system starts some services at boot time and allow other services to be started up when necessary. These.
NDT Tools Tutorial: How-To setup your own NDT server Rich Carlson Summer 04 Joint Tech July 19, 2004.
Solaris Software Packaging and Installation Paul Foster 14/11/2000.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Distributed Computing Systems Project 1 – Dumpster Diving Due: Tuesday, March 25 th.
Nachos.
Donald Stark National Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) Wednesday 29 June, 2011 GSI Fundamentals (1): Setup.
Nachos Phase 1 Code -Hints and Comments
Guideline: How to build AMSS source code? History: 01/02/ Make Draft 05/02/2010 – Release /02/2010 – Updated.
FTP Client Application CSC 8560 Brian Jorgage 4/27/2004.
VHDL Project I: Introduction to Testbench Design Matthew Murach Slides Available at:
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Oracle Data Integrator Procedures, Advanced Workflows.
MACCE and Real-Time Schedulers Steve Roberts EEL 6897.
By James Braunsberg. What are Modules? Modules are files containing Python definitions and statements (ex. name.py) A module’s definitions can be imported.
Manage Directories and Files in Linux. 2 Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February Session 11.
OS2014 PROJECT 2 Supplemental Information. Outline Sequence Diagram of Project 2 Kernel Modules Kernel Sockets Work Queues Synchronization.
Setting up Cygwin Computer Organization I 1 May 2010 ©2010 McQuain Cygwin: getting the setup tool Free, almost complete UNIX environment emulation.
Creating and running an application.
How to Setup and Score a Tournament May Let’s Get Organized The setup and organization outlined in this clinic are suggested steps however can be.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Functions Math library functions Function definition Function invocation Argument passing Scope of an variable Programming 1 DCT 1033.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Hadoop Joshua Nester, Garrison Vaughan, Calvin Sauerbier, Jonathan Pingilley, and Adam Albertson.
Linux Operations and Administration
1 G52IWS: Example Web-services Chris Greenhalgh. 2 Contents Software requirements AXIS web service run-time components Getting started with Jetty & AXIS.
CSCI 156: Lab 11 Paging. Our Simple Architecture Logical memory space for a process consists of 16 pages of 4k bytes each. Your program thinks it has.
GDT Tips and Tricks. GDT Tips and Tricks Doug Evans GDT 2004 International User Conference – Evolving the Legacy July  Tucson, Arizona GDT Tips.
Assembly Language Co-Routines
January 9, 2001 Router Plugins (Crossbow) 1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Exercises.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
OpenMP Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
Distributed Computing Systems
WORKSHOP 3 GSE IMPORT.
Operation System Program 4
Cygwin: getting the setup tool
Preparation for Assignment 2
SPL – PS1 Introduction to C++.
Presentation transcript:

SMiLE Lehrstuhl für Betriebssysteme SCI Low-level programming Lab-Session Joachim Worringen Lehrstuhl für Betriebssysteme RWTH Aachen Martin Schulz Lehrstuhl für Rechnertechnik und Rechnerorganisation Technische Universität München

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 2 Outline  Lab Setup  Experiments with the SISCI API  Compile and run SISCI segment mapping code  Small modifications  Experiments with the SMI API  Compile and run “helloworld”  Run and modify “test_regions” & “pass_pointer”  Experiments with CML+  Compile and run ringtest code

SMiLE Lehrstuhl für Betriebssysteme SCI Low-level programming Lab-Session  SCI Summer School Lab Setup Experiments with the SISCI API Experiments with the SMI API Experiments with CML+

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 4 Setup for Low-Level Lab  Ringlets with 2 machines each  Node IDs: 4 & 8 or 12 &16  Make sure you know the correct Ids  Use the Dolphin /opt/dolphin/sbin/scitools  Experiments on 2 node clusters  Log in both of them and start shells  Don‘t run more than one application at a time  Conflicts may occur  Create subdirectories for application generations

SMiLE Lehrstuhl für Betriebssysteme SCI Low-level programming Lab-Session SCI Summer School Lab Setup  Experiments with the SISCI API Experiments with the SMI API Experiments with CML+

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 6 SISCI Setup  SISCI distribution  /opt/dolphin  You might want to install environment variables  $(SCI_ROOT)= /opt/dolphin/  $(SCI_LIB)= $(SCI_ROOT)/lib  $(SCI_INCLUDE)= $(SCI_ROOT)/include  Get sisci.c from ~schulz2k/sisci/sisci.c  We will go through it together  Compile code (use appropriate flags)  Experiment with it on two nodes

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 7 SISCI sample code  Basic SCI segment operation  Master: Create a local segment  Slave: Map segment from master  Step 1: Initialize and Open  Read local SCI ID  Step 2a, Master: Create Segment  Use SCI ID as identifier  Step 2b, Slave: Connect to Segment  Wait until connection is done

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 8 SISCI sample code (cont.)  Access to global array  Master writes entries 1-15  Slave writes entries  “Synchronization”  Master waits (within this time, slave must be done)  Afterwards, print the whole array  Clean-Up  Remove all mappings / segments before exiting  Similar to shmem.c from SISCI distribution

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 9 Task during the lab  Play with this simple mapping code  Compile with appropriate flags  -I /opt/dolphin/include for SISCI API  demolib.a and libsisci.a (order!)  Start code on Slave:./sisci  Start code on Master:./sisci  Modifications  Play with actual data transfer  Add real synchronization  E.g. flag synchronization

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 10 Useful information  SISCI header file with full prototypes  $(SCI_INCLUDE)/sisci_api.h  SISCI files required for compilation  Libraries: $(SCI_LIB)  libsisci.a  demolib.a  Include files: $(SCI_INCLUDE)  Application startup  Node A: sisci  Node B: sisci

SMiLE Lehrstuhl für Betriebssysteme SCI Low-level programming Lab-Session SCI Summer School Lab Setup Experiments with the SISCI API  Experiments with the SMI API Experiments with CML+

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 12 SMI Lab Session  The slides for the SMI lab session are available on the tutorial homepage as a separate file.

SMiLE Lehrstuhl für Betriebssysteme SCI Low-level programming Lab-Session SCI Summer School Lab Setup Experiments with the SISCI API Experiments with the SMI API  Experiments with CML+ Lehrstuhl für Betriebssysteme

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 14 CML+ Setup  CML+ distribution at  ~schulz2k/packages/cmlplus.tgz  Same as available from SMiLE server  Unpack the Tar-File  Creates cmplus subdirectory tar –xzf cmplus.tgz  Binary distribution of CML+ and Headerfile  Test-Code  Makefile

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 15 To get started...  Take a look at the header file  Functions and Constants exported  Very lean API  Messaging Functionality  cml_nbsend()  cml_blreceiver()  cml_nbmatch()  Interrupts  cml_trigger()

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 16 The sample code  Ring test  Establish a logical ring between all nodes  Send one message through ring  Functionality  Master: Create message, send it, and wait  Slave: Simply forward a message  Parameters  cmltest

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 17 Compiling and Running  Change in the cmlplus directory  Modify makefile  Variable SISCI_DIR – /opt/dolphin/  Compile by typing make  Start the code on all nodes  Local identifiers can be picked freely  The receiver-ids have to form a logical ring  Example: cmltest s 1 2 cmltest m 2 1

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 18 Further Experiments  Take a look at all parameters  Identify the parameters of send and receive  Modify some of them  Overlap communication  Don‘t use blocking receive  Check for arrived messages before receiving  While (cml_nbmatch()<=1) do_useful_work()  Use strides and different block sizes

SMiLE Lehrstuhl für Betriebssysteme SCI Low-level programming Closing remarks Joachim Worringen Lehrstuhl für Betriebssysteme RWTH Aachen Martin Schulz Lehrstuhl für Rechnertechnik und Rechnerorganisation Technische Universität München Lehrstuhl für Betriebssysteme

Joachim Worringen & Martin Schulz, SCI Summer School, Oct 1-3, Dublin 20 Closing remarks... Thank you for your attention !  Further Information    Contact us via  Joachim Worringen:  Martin Schulz: Any further questions ?