Using the GAT (GAT the semester project?) :-P Hartmut Kaiser

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
A Computation Management Agent for Multi-Institutional Grids
T-FLEX DOCs PLM, Document and Workflow Management.
WP 1 Grid Workload Management Massimo Sgaravatto INFN Padova.
Workload Management Workpackage Massimo Sgaravatto INFN Padova.
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 8: Designing and developing applications for z/OS.
Workload Management Massimo Sgaravatto INFN Padova.
Globus Computing Infrustructure Software Globus Toolkit 11-2.
Types of software. Sonam Dema..
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
UCoMS: Grid Computing Framework for Petroleum Engineering.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 7: Designing and developing applications for z/OS.
Grid Monitoring By Zoran Obradovic CSE-510 October 2007.
Perforce (Version Control Software). Perforce is an enterprise version management system in which users connect to a shared file repository. Perforce.
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
Linux Operations and Administration
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
GRID job tracking and monitoring Dmitry Rogozin Laboratory of Particle Physics, JINR 07/08/ /09/2006.
The Glidein Service Gideon Juve What are glideins? A technique for creating temporary, user- controlled Condor pools using resources from.
ITEC224 Database Programming
Workload Management WP Status and next steps Massimo Sgaravatto INFN Padova.
Standard Grade Computing System Software & Operating Systems.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
WP9 Resource Management Current status and plans for future Juliusz Pukacki Krzysztof Kurowski Poznan Supercomputing.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
NeSC Apps Workshop July 20 th, 2002 Customizable command line tools for Grids Ian Kelley + Gabrielle Allen Max Planck Institute for Gravitational Physics.
RISICO on the GRID architecture First implementation Mirko D'Andrea, Stefano Dal Pra.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
GLOBAL GRID FORUM 10 Workflows in PROGRESS and GridLab environments Michał Kosiedowski.
Grid Workload Management Massimo Sgaravatto INFN Padova.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
Resource Brokering in the PROGRESS Project Juliusz Pukacki Grid Resource Management Workshop, October 2003.
Ames Research CenterDivision 1 Information Power Grid (IPG) Overview Anthony Lisotta Computer Sciences Corporation NASA Ames May 2,
Review of Condor,SGE,LSF,PBS
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Creating and running an application.
Middleware for Campus Grids Steven Newhouse, ETF Chair (& Deputy Director, OMII)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Application Software System Software.
How to Program? -- Part 1 Part 1: Problem Solving –Analyze a problem –Decide what steps need to be taken to solve it. –Take into consideration any special.
© Geodise Project, University of Southampton, Geodise Middleware Graeme Pound, Gang Xue & Matthew Fairman Summer 2003.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Status of Globus activities Massimo Sgaravatto INFN Padova for the INFN Globus group
Grid Workload Management (WP 1) Massimo Sgaravatto INFN Padova.
OPERATING SYSTEM BY KINSHUK RASTOGI. WHAT IS AN OPERATING SYSTEM? What is an operating system in the first place? An operating system is a software that.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
Writing GAT Adaptors Hartmut Kaiser
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
Introduction To Software Development Environment.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Workload Management Workpackage
Development Environment
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
Object oriented system development life cycle
Design and Programming
Overview of Workflows: Why Use Them?
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Using the GAT (GAT the semester project?) :-P Hartmut Kaiser

October, 17th 2005Using the GAT2 Semester Project Problem –You have an application which has to be run 1000 times with different input data –You have the 1000 different input files –You want to get back 1000 result files You want to distribute this to all available machines The data transfer should be as effective as possible

October, 17th 2005Using the GAT3 Semester Project - Roadmap Requirements analysis Problem decomposition Interface analysis System architecture design Tool selection Goal setting We will do that for the whole system today You‘ll be expected to do that for your subproject in the coursework

October, 17th 2005Using the GAT4 Requirements analysis Overall application needs to be able to –Discover and select resources and services –Copy files reliable using existing services –Submit jobs to selected resources –Decide about parameters for file transfer –Decide about how to distribute jobs to available resources –Figure out when to bring back result files –Correct things when something fails –Keep track what‘s going on –Be independent from the Grid architecture

October, 17th 2005Using the GAT5 Problem decomposition Service/resource discovery –Using information repositories -> MDS, IGRID, GPIR, local configuration files? Service/resource selection –Using which criteria? –Match with application requirements File transfer –Protocol/service selection, parameter selection, optimisation Job submission –Selection of method to use Information gathering –Notifications, polling?

October, 17th 2005Using the GAT6 Interface analysis Service/resource description –What information available/required? Job description –What needs to be specified? Notification description (do we need them at all?) –What notifications need to be defined?

October, 17th 2005Using the GAT7 Tool selection Libraries to use, depends on –Availability of libraries –Availability of services Programming language –C, C++ or Python Target operating system(s) –Portability Compilation and debug environments (compiler, debugger, tracing/logging libraries)

October, 17th 2005Using the GAT8 Libraries/Services to use Libraries –Database module –Web-service access –Logging of application activity Services –GT4 RFT –GPIR information service –Globus GRAM

October, 17th 2005Using the GAT9 Programming Language Since you want to use the GAT you have 3 alternatives C (+) Easy to learn and use (+) Lots of GAT examples (+) Complete documentation of C GAT API available (-) Low level, Error prone (-) Large code overhead for adaptor administration (-) Bad support for webservice access C++ (+) Very easy adaptor writing (+) Lots of GAT examples (+) Good library support (data structures as list, map etc.) (+/-) More complex to learn and use (-) Incomplete documentation of the C++ GAT API (-) Bad support for webservice access Python (+) Easy to learn and use (+) Very easy adaptor writing (+) Very good support for webservice access (-) Less GAT examples (-) Incomplete documentation of the Python GAT API

October, 17th 2005Using the GAT10 Target operating system(s) Linux (*nix) Mac OS (Darwin) Windows (unfortunately currently not fully supported)

October, 17th 2005Using the GAT11 Goal setting Create a Task farming manager –Usable for a class of applications: Single executable, non-MPI Reading all input from one or more files Producing one or more files in the output –Distribute tasks evenly on available resources –Stage in/out input and output files as effectively as possible (by selecting the appropriate transfer protcoll and parameters) –Keep track on the current status of all tasks, so the TFM may be restarted (no need to run it all the time)

October, 17th 2005Using the GAT12 System architecture design GAT Python/C++/C adaptor (resource and service discovery) Python/C++/C adaptor (file transfer) C adaptor (job submission) Task farming manager (Python/C++/C) Supporting libraries GT4 RFT ServiceGPIR ServiceGRAM Service

October, 17th 2005Using the GAT13 Example: Prequisites (Python) Python V2.4.3 – GAT (V1.7.1), GAT Python wrapper (V1.5.1) – SOAPpy (V0.11.6) – webserice bindings – GPIR and GT4 RFT running somewhere – (GPIR) – (GT4 RFT)

October, 17th 2005Using the GAT14 Submodules, project groups Group 1: Task farming manager –Application itself –Strategies of job distribution -> Cornelius, Krishnendu, Chirag Group 2: Resource discovery –Adaptor to connect to GPIR –Defining metadata for service/resource information -> Srikanth, Ibrahim, Rakesh Group 3: File transfer –Adaptor to connect to GT4 RFT –Optimisation of transfer parameters -> Memet, Santiago, Teresa

October, 17th 2005Using the GAT15 Semester Project -> Write a Grid based task farming manager using the GAT –Discover available resources to run jobs on Grid Information Service (GPIR) –Discover available file transfer and job submission services Grid Information Service (GPIR) –Stage input files, get back result files File Transfer Services (GT4 RFT) –Submit jobs Job Submission Service (GRAM) -> Write a GAT adaptor to connect to GPIR -> Write a GAT adaptor to use GT4 RFT ->Create your own webservice to receive notifications about job status?

October, 17th 2005Using the GAT16 Coursework Every of the project groups is expected to write a paper about their submodule containing: Elevator pitch Defining requirements, setting goals etc. Architecture diagram and description of the subprojects to deliver, containing submodules, their interfaces etc. (Due Wednesday October 26th)

October, 17th 2005Using the GAT17 The Elevator Pitch Write a short statement describing what your software will do, and why –Short is better than long –Functionality trumps technology (what and not how) –Solve a problem (explain the initial problem) –Pitch benefits not yourself –Figure out, what‘s important to your audience, address excatly that (cost, innovation, features, compatibility, or something else entirely).

October, 17th 2005Using the GAT18 Defining requirements Business requirements –High level objectives of the organisation or customer who requests the system User requirements –User goals or tasks that the users must be able to perform Functional requirements –Software functionality that must be built into the product to accomplish their tasks System requirements –Top-level requirements for the product