Author’s name Introduction Kelly Davis MPI-AEI.

Slides:



Advertisements
Similar presentations
Data Management Expert Panel - WP2. WP2 Overview.
Advertisements

Android architecture overview
Database Concepts Lec. 5. What Is a Database? Data are unprocessed raw facts that include text, number, images, audio, and video. Information is processed.
Condor-G: A Computation Management Agent for Multi-Institutional Grids James Frey, Todd Tannenbaum, Miron Livny, Ian Foster, Steven Tuecke Reporter: Fu-Jiun.
The road to reliable, autonomous distributed systems
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
GridLab Enabling Applications on the Grid Jarek Nabrzyski et al. Poznań Supercomputing and Networking.
GRID workload management system and CMS fall production Massimo Sgaravatto INFN Padova.
GridScape Ding Choon Hoong Grid Computing and Distributed Systems (GRIDS) Lab. The University of Melbourne Melbourne, Australia WW Grid.
Kelly Davis GAT: Grid Application Toolkit Kelly Davis AEI-MPG.
Kelly Davis Architecture of GAT Kelly Davis AEI-MPG.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
SUN HPC Consortium, Heidelberg 2004 Grid(Lab) Resource Management System (GRMS) and GridLab Services Krzysztof Kurowski Poznan Supercomputing and Networking.
- 1 - Grid Programming Environment (GPE) Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
Building service testbeds on FIRE D5.2.5 Virtual Cluster on Federated Cloud Demonstration Kit August 2012 Version 1.0 Copyright © 2012 CESGA. All rights.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
GridLab A Grid Application Toolkit and Testbed IST Jarek Nabrzyski GridLab Project Coordinator Poznań.
DISTRIBUTED COMPUTING
ARGONNE  CHICAGO Ian Foster Discussion Points l Maintaining the right balance between research and development l Maintaining focus vs. accepting broader.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
WP9 Resource Management Current status and plans for future Juliusz Pukacki Krzysztof Kurowski Poznan Supercomputing.
GridLab: Grid Application Toolkit and Testbed Gabrielle Allen, Ed Seidel and GridLab Team Center for Computation & Technology, LSU Albert Einstein Institute,
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Hartmut Kaiser GAT - The Grid Application Toolkit Abstracting the Grid for Application Programmers Hartmut Kaiser
Cactus Project & Collaborative Working Gabrielle Allen Max Planck Institute for Gravitational Physics, (Albert Einstein Institute)
The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Dataset Caitlin Minteer & Kelly Clynes.
Android for Java Developers Denver Java Users Group Jan 11, Mike
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Windows NT Chapter 13 Key Terms By Bill Ward NT Versions NT Workstation n A desktop PC that both accesses a network and works as a stand alone PC NT.
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
Condor Birdbath Web Service interface to Condor
GridLab: A Grid Application Toolkit and Testbed Jarosław Nabrzyski GridLab Project Manager Poznań Supercomputing and Networking Center, Poland
GridLab: A Grid Application Toolkit and Testbed
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Workshop on Grid Application Programming 19th-21st July 2004, Edinburgh, 1 Hartmut Kaiser The C Implementation of the GAT OO Specification Hartmut Kaiser.
Middleware for Grid Computing and the relationship to Middleware at large ECE 1770 : Middleware Systems By: Sepehr (Sep) Seyedi Date: Thurs. January 23,
Object Oriented Software Development 10. Persistent Storage.
Kelly Davis and Tom Goodale Architecture of GAT Kelly Davis and Tom Goodale and
Developing Applications on Today’s Grids Tom Goodale Max Planck Institute for Gravitational Physics
Review of Condor,SGE,LSF,PBS
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
GridLab WP-2 Cactus GAT (CGAT) Ed Seidel, AEI & LSU Co-chair, GGF Apps RG, Gridstart Apps TWG Gabrielle Allen, Robert Engel, Tom Goodale, *Thomas Radke.
GridLab Resource Management System (GRMS) Jarek Nabrzyski GridLab Project Coordinator Poznań Supercomputing and.
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Digging into the GAT API Comparing C, C++ and Python API‘s Hartmut Kaiser
UNIX & Windows NT Name: Jing Bai ID: Date:8/28/00.
Globus and PlanetLab Resource Management Solutions Compared M. Ripeanu, M. Bowman, J. Chase, I. Foster, M. Milenkovic Presented by Dionysis Logothetis.
Kelly Davis MPI-AEI Why GAT? Kelly Davis MPI-AEI.
GridLab Resource Management System (GRMS) Jarek Nabrzyski GridLab Project Coordinator Poznań Supercomputing and.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Getting ready. Why C? Design Features – Efficiency (C programs tend to be compact and to run quickly.) – Portability (C programs written on one system.
PROGRESS: GEW'2003 Using Resources of Multiple Grids with the Grid Service Provider Michał Kosiedowski.
EGI Technical Forum Amsterdam, 16 September 2010 Sylvain Reynaud.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
Models for Resources and Management
CASE STUDY 1: Linux and Android
MOBILE DEVICE OPERATING SYSTEM
CMPE419 Mobile Application Development
Module 01 ETICS Overview ETICS Online Tutorials
An introduction to the Linux environment v
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
Lecture 1 Runtime environments.
Instructor: Xiuwen Liu Department of Computer Science
CMPE419 Mobile Application Development
Presentation transcript:

Author’s name Introduction Kelly Davis MPI-AEI

Author’s name Table of Contents Introduction Why GAT? Installation Hello Cruel World GAT Object Model File Management FileStream Management LogicalFile Management Advert Management Job Management Endtroduction

Author’s name Introduction: Outline Speaker Background GridLab Background

Author’s name Speaker Background High energy theoretical particle physicist Spent a number of years in software industry Joined the GridLab project two years ago

Author’s name GridLab Background EU Project Funded by 5th Framework PSNC, AEI, ZIB, MASARYK, SZTAKI ISUFI, Cardiff, NTUA, Chicago, ISI Wisconsin, Sun, Compaq,… 12 Work Packages covering Grid Portals Mobile Users Grid Services Applications Testbed GAT: Grid Application Toolkit

Author’s name Why GAT? Kelly Davis MPI-AEI

Author’s name Why GAT?: Outline What is GAT? Why GAT? What can GAT do? File Management FileStream Management LogicalFile Management Advert Management Job Management Monitoring And more…

Author’s name What is GAT? …an API and toolkit for developing and running portable grid apps independently of the underlying grid infrastructure and available services GAT is…?

Author’s name What is GAT? GAT is…?

Author’s name Why GAT? “It’s in there!” The Grid RFT OGSA globus unicore wsdl …and more

Author’s name Why GAT? …..simplicity

Author’s name What can GAT Do? File Management Move Files Copy Files Delete Files Examine File Properties …and more … all in a manner independent of the file's location or method of access!

Author’s name What can GAT Do? FileStream Management Read Bytes from a File Write Bytes to a File Seek on a File …and more …in such a ways as to lift the burden of protocols, security, and other details from the user's shoulders!

Author’s name What can GAT Do? LogicalFile Management Replicates files …and more …so as to maximize use of available network bandwidth and never have to worry about the details of security,protocols, Globus…

Author’s name What can GAT Do? Advert Management Persist objects Query for persisted objects Move objects across machine boundaries Move objects across language boundaries …and more …so as to never yoke the application programmer with the details. It just works!

Author’s name What can GAT Do? Job Management Schedule Jobs Un-Schedule Jobs Stop Jobs Checkpoint Jobs Migrate Jobs …and more …while not bothering the user with the details of traditional job management systems such as Condor, Globus, Unicore…

Author’s name What can GAT Do? Monitoring Monitor almost anything Monitor continuous events Monitor “event-like” events Allows GAT application to be monitored …and more …while the user never needs to know the details of Mercury, NWS, or any other monitoring system.

Author’s name What can GAT Do? …and More Explore Resources on “The Grid” Obtain Resource Reservations Instrument GAT Applications for Checkpointing Communicate -- socket-like -- between processes ”Everything, including the Kitchen Sink”

Author’s name GATObject Model Kelly Davis AEI

Author’s name GATObject Model: Outline C ain’t OO GAT Object Model GAT Interface Model Examples Getting an object’s GATType Determining object equality GAT Core Objects

Author’s name C ain’t Object Oriented C Object Orientation “Square Peg in a Round Hole”

Author’s name GAT Object Model The GAT “inheratence” tree…

Author’s name GAT Object Model The GATObject …

Author’s name GAT Object Model GATObject_GetType

Author’s name GAT Object Model GATObject_Destroy

Author’s name GAT Object Model GATObject_Equals

Author’s name GAT Object Model GATObject_Clone

Author’s name GAT Object Model GATObject_GetInterface

Author’s name GAT Object Model Example: GATTime…

Author’s name GAT Object Model GATObject casting functions… GATTime GATObject_ToGATTime(GATObject object) GATObject GATTime_ToGATObject(GATTime derived) GATTime_const GATObject_ToGATTime_const(GATObject_const object) GATObject_const GATTime_ToGATObject_const(GATTime_const derived)

Author’s name GAT Interface Model GAT interfaces…

Author’s name GAT Interface Model Example: GATFile…

Author’s name GAT Interface Model GATFile_SerialiseProc

Author’s name GAT Interface Model GATFile_DeSerialiseProc

Author’s name GAT Interface Model GATFile_GetIsDirty

Author’s name Examples… Getting an Object’s Type #include "GAT.h" int main(void) { GATType type; GATTime time; /* Create a GATTime corresponding to now */ time = GATTime_Create(0); /* Obtain the GATType of the GATTime time */ if( NULL != time ) { type = GATTime_GetType(time); /* Destroy the GATTime time */ GATTime_Destroy( &time ); } return 0; } Here’s the action!

Author’s name Examples… Determining Object Equality … /* Determine semantic equivalence of timeOne and timeTwo */ if( (NULL != timeOne) && (NULL != timeTwo) ) { result = GATTime_Equals( timeOne, timeTwo, &isequal ); if( GAT_SUCCEEDED( result ) ) { if( GATTrue == isequal ) { printf( "timeOne and timeTwo are semantically equivalent\n" ); } else { printf( "timeOne and timeTwo are not semantically equivalent\n" ); } }\ … Here’s the equals

Author’s name Core Objects GATPreferences To contain user preference infoPurpose:

Author’s name Core Objects GATContext To centralize a GAT user’s state informationPurpose:

Author’s name Core Objects GATContext To centralize a GAT user’s state informationPurpose: Preferences Functions

Author’s name Core Objects GATContext To centralize a GAT user’s state informationPurpose: Service actions

Author’s name Core Objects GATLocation To represent a URIPurpose:

Author’s name Core Objects GATLocation To represent a URIPurpose: Creation

Author’s name Core Objects GATLocation To represent a URIPurpose: Getters …

Author’s name Core Objects GATTime To represent an instant in timePurpose:

Author’s name Core Objects GATTime To represent an instant in timePurpose: Creation (Seconds after 00:00 hours, Jan 1, 1970 UTC)

Author’s name Core Objects GATTime To represent an instant in timePurpose: Getter

Author’s name Core Objects GATTimePeriod To represent a time durationPurpose: Creation (Duration in Seconds)

Author’s name Core Objects GATTimePeriod To represent a time durationPurpose: Getter

Author’s name Installation Kelly Davis MPI-AEI

Author’s name Installation: Outline Download, configure. make, make install Set Environment Test

Author’s name Installation Download, configure, make, make install… Don’t worry about it…

Author’s name Installation Download, configure, make, make install… Experiment

Author’s name Installation Download, configure, make, make install…

Author’s name Installation Download, configure, make, make install… cd ~/tmp/GATEngine-distrib

Author’s name Installation Download, configure, make, make install… ls -l configure and make stuff

Author’s name Installation Download, configure, make, make install… ls -l LICENSE and README

Author’s name Installation Download, configure, make, make install… ls -l Default adaptors

Author’s name Installation Download, configure, make, make install… ls -l example code

Author’s name Installation Download, configure, make, make install… ls -l External libraries

Author’s name Installation Download, configure, make, make install… ls -l The source Luke

Author’s name Installation Download, configure, make, make install… ls -l Unit tests

Author’s name Installation Set Environment setenv GAT_LOCATION `pwd`/loc_install/

Author’s name Installation Set Environment echo $GAT_LOCATION

Author’s name Installation Set Environment setenv GAT_ADAPTOR_PATH $GAT_LOCATION/lib/GAT/adaptor-list

Author’s name Installation Set Environment echo $GAT_ADAPTOR_PATH

Author’s name Installation Test cd examples

Author’s name Installation Test./example_01_-_initialization

Author’s name Hello Cruel World Kelly Davis MPI-AEI

Author’s name Hello Cruel World: Outline Code Run

Author’s name Hello Cruel World Code cd $GAT_LOCATION/../examples

Author’s name Hello Cruel World Code vi example_03_-_file_size.c

Author’s name Hello Cruel World Code vi example_03_-_file_size.c

Author’s name Hello Cruel World Code vi example_03_-_file_size.c Examine the code

Author’s name Hello Cruel World Run./example_03_-_file_size example_03_-_file_size.c

Author’s name File Management Kelly Davis MPI-AEI

Author’s name File Management: Outline File Package Overview The GATFile class Code Example Exercise

Author’s name File Management File Package Overview The File Package allows application programmers to manipulate Files in a “Grid” environment.

Author’s name File Management File Package Overview …and contains a single class!

Author’s name File Management File Package Overview GATFIle allows an application to Copy Files Move Files Delete Files Examine Files …

Author’s name File Management File Package The GATFile class copies, moves, deletes…files

Author’s name File Management Code Example cd $GAT_LOCATION/../examples

Author’s name File Management Code Example vi example_03_-_file_size.c

Author’s name File Management Code Example vi example_03_-_file_size.c

Author’s name File Management Code Example vi example_03_-_file_size.c Examine the code

Author’s name File Management Code Example./example_03_-_file_size example_03_-_file_size.c

Author’s name File Management Code Exercise Modify example_03_-_file_size.c to delete a file instead of getting its length.

Author’s name FileStream Management Kelly Davis MPG-AEI

Author’s name FileStream Management: Outline Stream Package Overview GATFileStream class Code Example Exercise

Author’s name FileStream Management Stream Package Overview The Stream Package allows application programmers to stream data to and from remote or local processes and to stream data to and from remote or local files.

Author’s name FileStream Management Stream Package Overview … and consists of various classes and interfaces.

Author’s name FileStream Management Stream Package Overview We’ll cover only GATFileStream.

Author’s name FileStream Management Stream Package GATFileStream class streams data to/from a file

Author’s name FileStream Management Code Example cd $GAT_LOCATION/../examples

Author’s name FileStream Management Code Example vi example_20_-_filestream_simple.c

Author’s name FileStream Management Code Example vi example_20_-_filestream_simple.c

Author’s name FileStream Management Code Example vi example_20_-_filestream_simple.c Examine the code

Author’s name FileStream Management Code Example./example_20_-_filestream_simple HelloWorld.txt

Author’s name FileStream Management Code Exercise Modify example_20_-_filestream_simple.c to write your name, say, to file.

Author’s name LogicalFile Management Kelly Davis MPI-AEI

Author’s name LogicalFile Management: Outline LogicalFile Package Overview GATLogicalFile class Code Example

Author’s name LogicalFile Management LogicalFile Package Overview The LogicalFile Package exists to replicate files which are identical, but dispersed geographically in an efficient manner.

Author’s name LogicalFile Management LogicalFile Package Overview …and consists of a single class!

Author’s name LogicalFile Management LogicalFile Package GATLogicalFile class replicates files in a “Grid” environment

Author’s name LogicalFile Management Code Example cd $GAT_LOCATION/../examples

Author’s name LogicalFile Management Code Example vi example_31_-_logicalfile_ops.c

Author’s name LogicalFile Management Code Example vi example_31_-_logicalfile_ops.c

Author’s name LogicalFile Management Code Example vi example_31_-_logicalfile_ops.c Examine the code

Author’s name LogicalFile Management Code Example./example_31_-_logicalfile_ops myfirstlogicalfile \ example_31_-_logicalfile_ops.c example_31_-_logicalfile_ops.c.bak

Author’s name Advert Management Kelly Davis MPI-AEI

Author’s name Advert Management Advert Package Overview GATInterface_Iadvertisable GATAdvertService class Code Example

Author’s name Advert Management Advert Package Overview The Advert Package allows an application to persistently store objects “advertisables”, query such stored advertisables, and move such advertisables across machine and language boundaries.

Author’s name Advert Management Advert Package Overview … and consists of only one class and one interface.

Author’s name Advert Management Advert Package GATInterface_IAdvertisable The interface GATInterface_IAdvertisable marks objects capable of being persisted in a GATAdvertService, it’s similar to Java’s serilizable.

Author’s name Advert Management Advert Package GATAdvertService - Stores advertisables and allows one to query for these advertisables across machine boundaries.

Author’s name Advert Management Code Example cd $GAT_LOCATION/../examples

Author’s name Advert Management Code Example vi example_41_-_advertservice_ops.c

Author’s name Advert Management Code Example vi example_41_-_advertservice_ops.c

Author’s name Advert Management Code Example vi example_41_-_advertservice_ops.c Examine the code

Author’s name Advert Management Code Example./example_41_-_advertservice_ops

Author’s name Job Management Kelly Davis MPI-AEI

Author’s name Job Management: Outline Job Package Overview GATResourceDescription’s GATResource’s GATResourceBroker GATSoftwareDescription GATJobDescription GATJob Code Example

Author’s name Job Management Job Package The Job Package allows an application to obtain resource, reserve resources, and submit and manage jobs.

Author’s name Job Management Job Package …and consists of many classes and interfaces.

Author’s name Job Management Job Package GATResourceDescription’s A GATHardwareResourceDescription describes a hardware resource, such as a Linux box with 1GB of memory. A GATSoft- wareResourceDescription describes a software resource, such as an OS.

Author’s name Job Management Job Package GATResource’s A GATHardwareResource represents a hardware resource, such as a Linux box with 1GB of memory. A GATSoftwareResource represents a software resource, such as a running OS.

Author’s name Job Management Job Package GATResourceBroker A GATResourceBroker instance is able to broker resources, it can find or reserve resources; also, it can submit jobs to such resources.

Author’s name Job Management Job Package GATSoftwareDescription A GATSoftwareDescription instance describes an executable, for example /bin/date

Author’s name Job Management Job Package GATJobDescription A GATJobDescription instance describes a job which is can be executed. It includes a description of the hardware and software for the job.

Author’s name Job Management Job Package GATJob A GATJob represents a job that has been submitted to a resource management system.

Author’s name Job Management Code Example cd $GAT_LOCATION/../examples

Author’s name Job Management Code Example vi example_60_-_job_submit.c

Author’s name Job Management Code Example vi example_60_-_job_submit.c

Author’s name Job Management Code Example vi example_60_-_job_submit.c Examine the code

Author’s name Job Management Code Example./example_60_-_job_submit /bin/date

Author’s name Endtroduction Kelly Davis MPI-AEI

Author’s name Endtroduction GAT - The Grid Application Toolkit Abstracts the Grid from application programmers Gives application programmers a uniform Grid-API Supports adaptors to plugin various grid technologies GAT-API Simple to use Supports major Grid functionalaties That’s All Folks!