CCA Common Component Architecture CCA Forum Tutorial Working Group Introduction to the Ccaffeine.

Slides:



Advertisements
Similar presentations
The InterComm-based CCA MxN components Hassan Afzal Alan Sussman University of Maryland.
Advertisements

Programming with Objects: Class Libraries and Reusable Code.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Installing and running COMSOL on a Windows HPCS2008(R2) cluster
Introduction to AppInventor Dr. José M. Reyes Álamo.
© 2010 IBM Corporation IBM Experience Modeler - Theme Editor Installing Python Image Library Presenter’s Name - Presenter’s Title DD Month Year.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Reproducible Environment for Scientific Applications (Lab session) Tak-Lon (Stephen) Wu.
Digital Image Processing Lecture3: Introduction to MATLAB.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Android Apps: Look and Feel Module 6, Intro to I.T., Fall 2011 Sam Scott.
Linux Operations and Administration
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Center for Component Technology for Terascale Simulation Software 122 June 2002Workshop on Performance Optimization via High Level Languages and Libraries.
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
Introduction to NS2 -Network Simulator- -Prepared by Changyong Jung.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
Guideline: How to build AMSS source code? History: 01/02/ Make Draft 05/02/2010 – Release /02/2010 – Updated.
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
CCA Common Component Architecture CCA Forum Tutorial Working Group Contributors: Language Interoperability Using Gary.
Tutorial build Main ideas –Reuse as much previously obtained configuration information as possible: from Babel, cca-spec-babel, etc. –Extract all irrelevant.
CCA Common Component Architecture CCA Forum Tutorial Working Group Introduction to the Ccaffeine.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
9/2/ CS171 -Math & Computer Science Department at Emory University.
CCA Common Component Architecture Ccaffeine Convenience Scripts 1 setup_path script export SIDL_DLL_PATH=“” DL_PATH=$BABEL_ROOT/lib for i in `ls $TUT_COMP_ROOT.
SciDAC SSS Quarterly Report Sandia Labs August 27, 2004 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
NHSC PACS How to Use getObservation And saveObservation To Access and Save Herschel Data in HIPE Yi Mei (NHSC/Caltech) Y. Mei NHSC Data Workshop – August.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing QMTest test framework LCG AppArea meeting (16/07/03) LCG/SPI LCG Software.
CCA Common Component Architecture CCA Forum Tutorial Working Group An Overview of Components.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
CCA Common Component Architecture CCA Forum Tutorial Working Group Writing Components.
Slides prepared by Rose Williams, Binghamton University Chapter 20 Java Never Ends.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Test Automation Using Selenium Presented by: Shambo Ghosh Ankit Sachan Samapti Sinhamahapatra Akshay Kotawala.
CCA Common Component Architecture CCA Forum Tutorial Working Group A Simple CCA Component Application.
CCA Common Component Architecture CCA Forum Tutorial Working Group Contributors: Introduction to the Ccaffeine Framework.
CCA Common Component Architecture CCA Forum Tutorial Working Group Writing Components.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
CCA Common Component Architecture CCA Forum Tutorial Working Group Writing Components.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
CCA Common Component Architecture CCA Forum Tutorial Working Group A Simple CCA Component.
Geant4 GRID production Sangwan Kim, Vu Trong Hieu, AD At KISTI.
CCA Common Component Architecture CCA Forum Tutorial Working Group Introduction to the Ccaffeine.
“Port Monitor”: progress & open questions Torsten Wilde and James Kohl Oak Ridge National Laboratory CCA Forum Quarterly Meeting Santa Fe, NM ~ October.
SciDAC SSS Quarterly Report Sandia Labs January 25, 2005 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
The BLISS Framework 4.
Python’s Modules Noah Black.
Project 1 Simple Socket Client.
pycuda Jin Kwon Kim May 25, 2017 Hi my name is jin kwon kim.
Getting Started with R.
Chapter 2: System Structures
Simple Socket Client Project 1.
Simple Socket Client Project 1.
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Digital Image Processing
Introduction to AppInventor
Chapter 5 Architectural Design.
Java phoneME CDC AMS July, 15, 2008 by Wooram Noh.
Web Application Development Using PHP
Presentation transcript:

CCA Common Component Architecture CCA Forum Tutorial Working Group Introduction to the Ccaffeine Framework

CCA Common Component Architecture Using Ccaffeine 2 Outline What is a CCA Framework and what is Ccaffeine? How can I slip my own component into Ccaffeine? How do I run Ccaffeine? Live Demo – how does it work?

CCA Common Component Architecture Using Ccaffeine 3 CCA What CCA compliant framework is expected to do … Exchange interfaces among components without one component needing to know more about the other than the interface itself Component 1Component 2 CCAServices 2 4 registerUsesPort("A") 1 addProvidesPort(,"A") = getPort("A") 3 Port

CCA Common Component Architecture Using Ccaffeine 4 Interactive Parallel Components: what Ccaffeine does Executable ccafe-client: –PVM, MPI, or whatever is used for communication between clients –Muxer enforces “single process image” of SPMD parallel computing How To: –Build Ccaffeine –Run Ccaffeine

CCA Common Component Architecture Using Ccaffeine 5 How to build Ccaffeine Have a look at Obtain the required packages gcc ( Java (>jdk1.2) ( MPI ( BOOST headers ( Babel ( Ccaffeine tar ball download (or rpm) Optional software –Fortran 77 and 90 compilers –Ruby –Python 2.x 2.Install prerequisites

CCA Common Component Architecture Using Ccaffeine 6 How to build Ccaffeine (cont’d) Untar Ccaffeine-xxx.tgz in build dir –3 directories appear cca-spec-babel (the spec), cca-spec-classic (old C++ spec), dccafe Run configure –If confused type “configure --help”; example options: (cd./cca-spec-babel; configure --with-babel=/usr/local/babel \ --with-jdk12=/usr/local/java;make; make install) (cd./cca-spec-classic; configure; make; make install) (cd./dccafe;./configure --with-cca-babel=`pwd`/../cca-spec-babel \ --with-cca-classic=`pwd`/../cca-spec-classic –with-babel=/usr/local/babel \ --with-mpi=/usr/local/mpich --with-jdk12=/usr/local/java \ --with-lapack=/home/rob/cca/dccafe/../LAPACK/liblapack.a \ --with-blas=/home/rob/cca/dccafe/../LAPACK/libblas.a; make; make install)

CCA Common Component Architecture Using Ccaffeine 7 Ccaffeine build (cont’d) Example output at “make install” completion: ===================================================================== Testing the Ccaffeine build... proceeding with env vars: # LD_LIBRARY_PATH=/home/norris/cca/dccafe/cxx/dc/babel/babel- cca/server:/home/software/mpich ifc/lib/shared:/home/norris/cca/babel /lib:/usr/local/lib/python2.2/config:/usr/local/intel/compiler70/ ia32/lib:/usr/local/lib:/usr/local/lib # SIDL_DLL_PATH=/home/norris/cca/dccafe/lib didn't crash or hang up early... looks like it is working. Looks like CLASSIC dccafe is working. Looks like BABEL dccafe is working. done with Ccaffeine tests. simpleTests: output is in /home/norris/cca/dccafe/simpleTests.out.XXXAL8Cmk. ===================================================================== Note: depending on environment settings, sometimes the simple tests may fail but you may still have a functional framework.

CCA Common Component Architecture Using Ccaffeine 8 Running Ccaffeine Framework needs to be told: –Where to find components –Which components to instantiate –Which uses port gets connected to which provides port –Which go port sets the application in motion User-Ccaffeine interaction techniques: –GUI interface (with some Ccaffeine scripting help) –Pure Ccaffeine scripting (useful in batch mode) –Python component driver (with some Ccaffeine scripting help)

CCA Common Component Architecture Using Ccaffeine 9 How to run Ccaffeine: Ccaffeine interactive language –Used to configure batch and interactive sessions –Allows useful “defaults” –Allows the GUI to talk over a socket

CCA Common Component Architecture Using Ccaffeine 10 The Ccaffeine GUI Java front end to one (or more) framework instances running in the background Events propagated to all frameworks through a muxer Framework(s) still need Ccaffeine script to know about available components GUI used to instantiate, connect, and configure components (and to launch the whole application as well) Usage modes: –Compose and launch application from scratch (graphically). –Load pre-composed applications (the.bld files)

CCA Common Component Architecture Using Ccaffeine 11 The GUI #!ccaffeine bootstrap file. # don't change anything ABOVE this line path set /home/elwasif/CCA/tutorial/src/sidl/random-component-c++ path append /home/elwasif/CCA/tutorial/src/sidl/function-component-c++ path append /home/elwasif/CCA/tutorial/src/sidl/integrator-component-c++ path append /home/elwasif/CCA/tutorial/src/sidl/driver-component-c++ repository get randomgen.RandRandomGenerator repository get functions.LinearFunction repository get functions.PiFunction repository get functions.NonlinearFunction Component paths and types needed by the framework(s) (the.rc files) Click and drag to interact with the framework(s) SIDL_DLL_PATH environment variable also used for locating component shared libraries!

CCA Common Component Architecture Using Ccaffeine 12 The Command Line Way: Using Ccaffeine Scripting Simple scripting “language” to talk to the framework. For the full list of commands: UNIX>ccafe-single cca> help Some commands: –path set –path append –repository get –instaniate –connect \ –go –bye

CCA Common Component Architecture Using Ccaffeine 13 Ccaffeine scripting language for batch use Two modes of execution: –ccafe-single : uniprocessor, interactive, no MPI –ccafe-batch or ccafe-client: parallel jobs, GUI Refer to for more detailed description of the commands You can run Ccaffeine interactively by typing: prompt> ccafe-single MPI_Init called in CmdLineClientMain.cxx my rank: 0, my pid: (output cruft deleted) cca>help (complete listing of commands and what they do)

CCA Common Component Architecture Using Ccaffeine 14 Quick run-through of the Ccaffeine scripting language Scripting language does everything that the GUI does Warning: there are two files that Ccaffeine uses to locate and load component libraries: –“rc” and script files for building and running apps –GUI “.bld” files that store state saved by the Ccaffeine GUI These are not the same and will give, sometimes spectacular, undefined behavior when used improperly.

CCA Common Component Architecture Using Ccaffeine 15 Example: example1_rc #!ccaffeine bootstrap file. # don't change anything ABOVE this line path set /home/elwasif/CCA/tutorial/random-component-c++ path append /home/elwasif/CCA/tutorial/function-component-c++ path append /home/elwasif/CCA/tutorial/integrator-component-c++ path append /home/elwasif/CCA/tutorial/driver-component-c++ # load components into the “pallet” repository get functions.PiFunction repository get integrators.MonteCarloIntegrator repository get integrators.MidPointIntegrator repository get integrators.ParallelIntegrator repository get randomgen.RandRandomGenerator repository get tutorial.driver functions.PiFunction integrators.MonteCarloIntegrator integrators.MidPointIntegrator integrators.ParallelIntegrator randomgen.RandRandomGenerator tutorial.driver Component classes/types At this point no components are instantiated, but are simply known to the system SIDL_DLL_PATH environment variable also used for locating component shared libraries!

CCA Common Component Architecture Using Ccaffeine 16 Example (cont.): Instantiation create randomgen.RandRandomGenerator rand create functions.PiFunction function create integrators.MonteCarloIntegrator integrator create tutorial.Driver driver rand function integrator driver Component intances names

CCA Common Component Architecture Using Ccaffeine 17 Example (cont.): Connection # Connect uses and provides ports connect integrator FunctionPort function FunctionPort connect integrator RandomGeneratorPort rand RandomGeneratorPort connect driver IntegratorPort integrator IntegratorPort FunctionPort IntegratorPort RandomGeneratorPort “Provides” ports names FunctionPort IntegratorPort RandomGeneratorPort “Uses” ports names

CCA Common Component Architecture Using Ccaffeine 18 Example (cont.): Application Launch # Good to go() go driver GoPort GoPort Provided Go port name At this point Ccaffeine gets completely out of the way –So much so that it will not respond until (or if) your application returns from the invocation of the “go()” method –There is only one thread of control

CCA Common Component Architecture Using Ccaffeine 19 The third way: Using CCA BuilderService Deficiencies of Ccaffeine Scripting –Non “standard” –No error checking !!!! Solution: Use a more “complete” scripting language, e.g. Python Why Python?? Supported By Babel Strategy: –Use a Python “mega driver” to assemble the application –Talk to the framework through BuilderService interface –Still need snippets of Ccafeine scripting to set paths, instantiate python driver, and launch it

CCA Common Component Architecture Using Ccaffeine 20 The BuilderService Port “Provided” by the Framework, “used” by any component Major methods: –createInstance(instanceName, className, properties) –connect(userID, usePortName, providerID, providPortName) –See file cca.sidl for complete interface. Many more methods Can be “used” from any language, Python just more convenient See driver-python for details

CCA Common Component Architecture Using Ccaffeine 21 Component discovery and instantiation CCA is working on an XML component delivery specification, until then Ccaffeine has some specific requirements “.cca” file describes what the type of the component is: e.g., “babel” or “classic”(Pre-Babel / C++ only binding). –Previously there was type “Classic”. !date=Thu Jul 3 14:53:23 EDT 2003 !location= !componentType=babel dummy_libIntegrator-component-c++.so dummy_create_MonteCarloIntegrator integrators.MonteCarloIntegrator Component type(class); ( pre-Babel ) Component type: “babel” or “classic” (C++).so library containing component ( pre-Babel ) Component creation function; ( pre-Babel )

CCA Common Component Architecture Using Ccaffeine 22 Showing How it All Works The Scripts The Scripts