Introduction to Charm++ Machine Layer Gengbin Zheng Parallel Programming Lab 4/3/2002.

Slides:



Advertisements
Similar presentations
Multithreading Overview Multithreading Models Threading Issues
Advertisements

TeraGrid Community Software Areas (CSA) JP (John-Paul) Navarro TeraGrid Grid Infrastructure Group Software Integration University of Chicago and Argonne.
Parallel Processing with OpenMP
1 ISCM-10 Taub Computing Center High Performance Computing for Computational Mechanics Moshe Goldberg March 29, 2001.
Introductions to Parallel Programming Using OpenMP
IPv6 Technologies and Advanced Services page 1 Porting applications to IPv6 OpenH323 and IPv6 support K. Stamos Computer Engineer, University of Patras.
Commodity Computing Clusters - next generation supercomputers? Paweł Pisarczyk, ATM S. A.
♦ Commodity processor with commodity inter- processor connection Clusters Pentium, Itanium, Opteron, Alpha GigE, Infiniband, Myrinet, Quadrics, SCI NEC.
Parallel/Concurrent Programming on the SGI Altix Conley Read January 25, 2007 UC Riverside, Department of Computer Science.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt OTP Development update.
CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
UPC at CRD/LBNL Kathy Yelick Dan Bonachea, Jason Duell, Paul Hargrove, Parry Husbands, Costin Iancu, Mike Welcome, Christian Bell.
How to get a CD-based installer for VisualWorks? March 2007.
Unix Presentation. What is an Operating System An operating system (OS) is a program that allows you to interact with the computer -- all of the software.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
September 6, 2015 Connecting Client Applications to Informix Databases using IBM Informix Connect and ODBC James Edmiston Database Consultant Quest Information.
Porting Charm++ to a New System Writing a Machine Layer Sayantan Chakravorty 5/01/20081Parallel Programming Laboratory.
Executing OpenMP Programs Mitesh Meswani. Presentation Outline Introduction to OpenMP Machine Architectures Shared Memory (SMP) Distributed Memory MPI.
OMPi: A portable C compiler for OpenMP V2.0 Elias Leontiadis George Tzoumas Vassilios V. Dimakopoulos University of Ioannina.
OpenMP in a Heterogeneous World Ayodunni Aribuki Advisor: Dr. Barbara Chapman HPCTools Group University of Houston.
119th International Unicode ConferenceSan Jose, California, September 2001 An Overview of ICU Helena Shih Chapman Doug Felt
Parallel HDF5 Introductory Tutorial May 19, 2008 Kent Yang The HDF Group 5/19/20081SCICOMP 14 Tutorial.
1 Nachos Introduction Lecturer: Tei-Wei Kuo TA: Ya-Su Chen, Yuan-Hao chang Date: 2005/10/19.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Operating System Principles Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Networked Application Architecture Design. Application Building Blocks Application Software Data Infrastructure Software Local Area Network Server Desktop.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe.
University of Maryland The DPCL Hybrid Project James Waskiewicz.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
OpenMP – Introduction* *UHEM yaz çalıştayı notlarından derlenmiştir. (uhem.itu.edu.tr)
Parallel Computing with Matlab CBI Lab Parallel Computing Toolbox TM An Introduction Oct. 27, 2011 By: CBI Development Team.
1 Blue Gene Simulator Gengbin Zheng Gunavardhan Kakulapati Parallel Programming Laboratory Department of Computer Science.
Supercomputing ‘99 Parallelization of a Dynamic Unstructured Application using Three Leading Paradigms Leonid Oliker NERSC Lawrence Berkeley National Laboratory.
The Roadmap to New Releases Derek Wright Computer Sciences Department University of Wisconsin-Madison
Scalable Systems Lab / The University of New Mexico© Summer 2000 by Adrian Riedo- Slide 1 - by Adrian Riedo - Summer 2000 High Performance Computing using.
1 Advanced Charm++ Tutorial Charm Workshop Tutorial Gengbin Zheng charm.cs.uiuc.edu 10/19/2005.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
1Charm++ Workshop 2010 The BigSim Parallel Simulation System Gengbin Zheng, Ryan Mokos Charm++ Workshop 2010 Parallel Programming Laboratory University.
© 2001 Barton P. MillerParadyn/Condor Week (12 March 2001, Madison/WI) The Paradyn Port Report Barton P. Miller Computer Sciences Department.
Preparatory Research on Performance Tools for HPC HCS Research Laboratory University of Florida November 21, 2003.
1 Qualifying ExamWei Chen Unified Parallel C (UPC) and the Berkeley UPC Compiler Wei Chen the Berkeley UPC Group 3/11/07.
1 MPI_Connect and Parallel I/O for Distributed Applications Dr Graham E Fagg Innovative Computing Laboratory University of Tennessee Knoxville, TN
Cluster Software Overview
Introduction on WRF-Var Regression Test Ruifang Li MMM Phone:
Chapter 4: Threads.
Support for Platforms in Geant4. Gunter Folger, CERN PH/SFT Geant4 Technical Forum CERN, 5 February 2004.
Introduction to UNIX CS 2204 Class meeting 1 *Notes by Doug Bowman and other members of the CS faculty at Virginia Tech. Copyright
COMP2322 Lab 1 Introduction to Wireshark Weichao Li Jan. 22, 2016.
1 Converse BlueGene Emulator Gengbin Zheng Parallel Programming Lab 2/27/2001.
Unified Parallel C at LBNL/UCB Berkeley UPC Runtime Report Jason Duell LBNL September 9, 2004.
Chapter 4: Threads 羅習五. Chapter 4: Threads Motivation and Overview Multithreading Models Threading Issues Examples – Pthreads – Windows XP Threads – Linux.
POE Parallel Operating Environment. Cliff Montgomery.
CMake: Experience in ALICE P. Hristov 19/06/12. History I Recursive makefiles (F.Carminati): – Problems in dependencies – Slow "Recursive Makefiles.
UDel CISC361 Study Operating System principles - processes, threads - scheduling - mutual exclusion - synchronization - deadlocks - memory management -
Introduction to threads
Build and Test system for FairRoot
UPC at NERSC/LBNL Kathy Yelick, Christian Bell, Dan Bonachea,
Client-Server Communication
GdX - Grid eXplorer parXXL: A Fine Grained Development Environment on Coarse Grained Architectures PARA 2006 – UMEǺ Jens Gustedt - Stéphane Vialle - Amelia.
Chapter 4: Multithreaded Programming
Introduction to Clusters, Rocks, and MPI
Overview of System Development for Windows CE.NET
Emulating Massively Parallel (PetaFLOPS) Machines
IS 4506 Configuring the FTP Service
Presentation transcript:

Introduction to Charm++ Machine Layer Gengbin Zheng Parallel Programming Lab 4/3/2002

Machine Layer Overview Startup and initialization; Low level communication CmiFreeSendFn, etc CmiSyncBroadcastAllFn(), etc SMP support Multiple worker threads and one comm thread; Thread creation and state initialization;

Supported Platforms Charm version OS Communication Compiler net-linux PC Linux UDP/Myrinet GNU compiler net-linux-ia64 IA64 Linux UDP/Myrinet GNU compiler net-axp Alpha UDP GNU compiler net-cygwin Win32/cygwin UDP GNU compiler net-win32 Win32 UDP MS Visual C++ net-sol Solaris UDP GNU compiler net-irix IRIX UDP GNU compiler net-hp HP-UX UDP GNU compiler net-ppc-darwin MacOS X UDP GNU C++ compiler mpi-linux PC Linux MPI GNU compiler mpi-linux-ia64 IA64 Linux MPI GNU compiler mpi-axp Alpha MPI GNU compiler mpi-linux-axp Alpha Linux MPI GNU compiler mpi-origin Origin2000 MPI C++ compiler mpi-sp AIX MPI AIX xlC Compiler origin2000 Origin2000 shared-mem SGI C++ compiler t3e Cray T3E shared-mem Cray C++ compiler

Communication Architecture Communication API (Send/Recv) Net MPI Shmem UDP (machine-eth.c) TCP (machine-tcp.c) Myrinet (machine-gm.c)

Machine Layer Files Layout Configuration files for each main platform: conv-mach.h conv-common.h conv-mach-opt.h from: smp, scyld, bluegene, gm, vmi, tcp … cc, cxx, kcc, cc64, acc, ecc … Implementations: common.net, common.mpi, common.shmem machine.c

How ‘build’ works build charm++ net-linux gm smp kcc bluegene build charm++ net-linux gm smp kcc bluegene Sort gm, smp and bluegene Mkdir net-linux-bluegene-gm-smp-kcc Cat conv-mach-[kcc|bluegene|gm|smp].h to conv-mach-opt.h Cat conv-mach-[kcc|bluegene|gm|smp].sh to conv-mach-opt.sh Gather files from common.net, etc (Makefile) Make charm++ under net-linux-bluegene-gm-smp-kcc/tmp

Parallel Program Startup Net version - nodelist Charmrun node compute node Rsh/ssh (IP, port) my node (IP, port) Broadcast all nodes (IP, port) compute node Rsh/ssh (IP, port)

Converse life ConverseInit Global variables initialization; Start worker threads; ConverseRunPE for each Charm PE Per thread initialization; Loop into scheduler: CsdScheduler()

Message formats Net version #define CMK_MSG_HEADER_BASIC { CmiUInt2 d0,d1,d2,d3,d4,d5,hdl,d7; } Dgram Headerlength handlerxhandler MPI version #define CMK_MSG_HEADER_BASIC { CmiUInt2 rank, root, hdl,xhdl,info,d3; } infohandlerxhandlerrankrootd3

SMP support MPI-smp as an example Create threads: CmiStartThreads Worker threads work cycle See code in mahcine-smp.c Communication thread work cycle See code in machine-smp.c