EGEE-III INFSO-RI-222667 Enabling Grids for E-sciencE www.eu-egee.org Gridification practices in gLite 3.x Vladimir Dimitrov IPP-BAS “gLite middleware.

Slides:



Advertisements
Similar presentations
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Introduction to EGEE hands-on Gergely Sipos.
Advertisements

P. Kacsuk, G. Sipos, A. Toth, Z. Farkas, G. Kecskemeti and G. Hermann P. Kacsuk, G. Sipos, A. Toth, Z. Farkas, G. Kecskemeti and G. Hermann MTA SZTAKI.
Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
Riccardo Bruno, INFN.CT Sevilla, 10-14/09/2007 GENIUS Exercises.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE Tutorial Getting started with GILDA.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE Tutorial How to get started.
INFSO-RI Enabling Grids for E-sciencE EGEE Middleware The Resource Broker EGEE project members.
Introduction to UNIX/Linux Exercises Dan Stanzione.
INFSO-RI Enabling Grids for E-sciencE FloodGrid application Ladislav Hluchy, Viet D. Tran Institute of Informatics, SAS Slovakia.
INFSO-RI Enabling Grids for E-sciencE Practicals on VOMS and MyProxy Emidio Giorgio INFN Retreat between GILDA and ESR VO, Bratislava,
A Project about: Molecular Dynamic Simulation (MDS) Prepared By Ahmad Lotfy Abd El-Fattah Grid Computing Group Supervisors Alexandr Uzhinskiy & Nikolay.
Enabling Grids for E-sciencE EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Practical: Porting applications.
Example Gridification via command-line Application Developer Training Day IV. Miklos Kozlovszky Ankara, 25. October, 2007.
GRID Computing: Ifrastructure, Development and Usage in Bulgaria M. Dechev, G. Petrov, E. Atanassov.
INFSO-RI Enabling Grids for E-sciencE Logging and Bookkeeping and Job Provenance Services Ludek Matyska (CESNET) on behalf of the.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Grid application development with gLite and P-GRADE Portal Miklos Kozlovszky MTA SZTAKI.
07/06/11 New Features of WS-PGRADE (and gUSE) 2010 Q Q2 Miklós Kozlovszky MTA SZTAKI LPDS.
INFSO-RI Enabling Grids for E-sciencE Workload Management System Mike Mineter
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
LCG Middleware Testing in 2005 and Future Plans E.Slabospitskaya, IHEP, Russia CERN-Russia Joint Working Group on LHC Computing March, 6, 2006.
Group 1 : Grid Computing Laboratory of Information Technology Supervisors: Alexander Ujhinsky Nikolay Kutovskiy.
INFSO-RI Enabling Grids for E-sciencE Supporting legacy code applications on EGEE VOs by GEMLCA and the P-GRADE portal P. Kacsuk*,
Enabling Grids for E-sciencE EGEE-II INFSO-RI Practical: Porting applications to the GILDA grid Slides from Vladimir Dimitrov, IPP-BAS.
Enabling Grids for E-sciencE EGEE-II INFSO-RI Introduction to Grid Computing, EGEE and Bulgarian Grid Initiatives Plovdiv, 2006.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
The Grid computing Presented by:- Mohamad Shalaby.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Using gLite API Vladimir Dimitrov IPP-BAS “gLite middleware Application Developers.
Enabling Grids for E-sciencE EGEE-III INFSO-RI Using DIANE for astrophysics applications Ladislav Hluchy, Viet Tran Institute of Informatics Slovak.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks David Kelsey RAL/STFC,
EGEE-III INFSO-RI Enabling Grids for E-sciencE Training services offered by SZTAKI for EGEE and EGI Gergely Sipos MTA SZTAKI (Hungarian.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Introduction to GILDA and gaining access.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Next steps with EGEE EGEE training community.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Next steps with EGEE Gergely Sipos
EGEE-III INFSO-RI Enabling Grids for E-sciencE Feb. 06, Introduction to High Performance and Grid Computing Faculty of Sciences,
EGEE-II INFSO-RI Enabling Grids for E-sciencE The GILDA training infrastructure.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
Creating and running an application.
1 Grid2Win: porting of gLite middleware to Windows Dario Russo INFN Catania
INFSO-RI Enabling Grids for E-sciencE Αthanasia Asiki Computing Systems Laboratory, National Technical.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Progress on first user scenarios Stephen.
Enabling Grids for E-sciencE Workload Management System on gLite middleware - commands Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi.
INFSO-RI Enabling Grids for E-sciencE GILDA and GENIUS Guy Warner NeSC Training Team An induction to EGEE for GOSC and the NGS NeSC,
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
1 P-GRADE Portal tutorial at EGEE’09 Introduction to hands-on Gergely Sipos MTA SZTAKI EGEE.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Grid2Win : gLite for Microsoft Windows Roberto.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Command Line Grid Programming Spiros Spirou Greek Application Support Team NCSR “Demokritos”
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Computational chemistry with ECCE on EGEE.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Introduction to P-GRADE Portal hands-on Miklos Kozlovszky MTA SZTAKI
EGEE-II INFSO-RI Enabling Grids for E-sciencE P-GRADE overview and introduction: workflows & parameter sweeps (Advanced features)
Enabling Grids for E-sciencE EGEE-II INFSO-RI Porting an application to the EGEE Grid & Data management for Application Rachel Chen.
Enabling Grids for E-sciencE Sofia, 17 March 2009 INFSO-RI Introduction to Grid Computing, EGEE and Bulgarian Grid Initiatives –
1 P-GRADE Portal hands-on Gergely Sipos MTA SZTAKI Hungarian Academy of Sciences.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Practical using WMProxy advanced job submission.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Using Certificate & Simple Job Submission Jinny Chien ASGC.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Overview of gLite, the EGEE middleware Mike Mineter Training Outreach Education National.
INFSO-RI Enabling Grids for E-sciencE GILDA t-Infrastructure Antonio Fuentes Bermejo
SAM architecture EGEE 07 Service Availability Monitor for the LHC experiments Simone Campana, Alessandro Di Girolamo, Nicolò Magini, Patricia Mendez Lorenzo,
InSilicoLab – Grid Environment for Supporting Numerical Experiments in Chemistry Joanna Kocot, Daniel Harężlak, Klemens Noga, Mariusz Sterzel, Tomasz Szepieniec.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
Enabling Grids for E-sciencE Work Load Management & Simple Job Submission Practical Shu-Ting Liao APROC, ASGC EGEE Tutorial.
EGEE-III INFSO-RI Enabling Grids for E-sciencE Application Porting Support SSC and proposal Gergely Sipos
Grid2Win Porting of gLite middleware to Windows XP platform
Grid Application Support Group Case study Schrodinger equations on the Grid Status report 16. January, Created by Akos Balasko
Grid2Win: Porting of gLite middleware to Windows XP platform
Grid2Win: Porting of gLite middleware to Windows XP platform
Workload Management System
Introduction to P-GRADE Portal hands-on
GENIUS Grid portal Hands on
Presentation transcript:

EGEE-III INFSO-RI Enabling Grids for E-sciencE Gridification practices in gLite 3.x Vladimir Dimitrov IPP-BAS “gLite middleware Application Developers Course”, Sofia, Bulgaria,

Enabling Grids for E-sciencE EGEE-III INFSO-RI Outline This talk gives a high-level view of application development in Grids Contents –Review of concepts: grids and grid applications –Characteristics of VOs –Challenges to researchers who write applications –General steps of application gridification –Practical: Preparing and submitting a job based on a simple non- grid application. Acknowledgements –Gergely Sipos, SZTAKI, Hungary –Miklos Kozlovszky, SZTAKI, Hungary –Mike Mineter, University of Edinburgh, UK, “Application Development and Aspects of gLite 3.0”, 2006 –Douglas Thain, The University of Notre Dame –GILDA team

Enabling Grids for E-sciencE EGEE-III INFSO-RI Definition Software that interacts with Grid services to achieve requirements that are specific to a particular Virtual Oraganization (VO) or user. What is a grid application?

Enabling Grids for E-sciencE EGEE-III INFSO-RI Characteristics of VOs What is being shared? –resources of storage and/or compute cycles –software and/or data Distinct groups of developers and of users? –Some VOs have distinct groups of developers and users…  Biomedical applications used by clinicians,…. –…. Some don’t  Physics application developers who share data but write own analyses –Effect: need to  hide complexity from the 1 st type of VOs  expose functionality to 2 nd type of VOs  many security issues

Enabling Grids for E-sciencE EGEE-III INFSO-RI Basic tasks while Porting applications to the Grid 1.Developing a non-Grid application (or inheriting and adapting an ancient one); 2.Go/no-Go decision about gridification Is it suitable for the Grid environment? “Cost/profit” analysis / feasibility study Typical Questions Groups: –Current structure of the application –Dependencies of the application –Available resources (manpower, knowledge, etc.) –Requirements for the gridified application –Expected impact of gridification –Requirements for the grid infrastructure

Enabling Grids for E-sciencE EGEE-III INFSO-RI Basic tasks while Porting applications to the Grid (contd.) 3.Grid environment access Requesting Certificates / VO membership Accessing Grid environment Appropriate VO UI machine account for command line Portal GUI account; 4.Executing, Testing and Debugging the application; Testing the non-grid application (debugging in Grid environment is a hard task), creating use cases for single (non-grid) runs; 5.Constructing the job suite – JDL (Job Description Language) files, executables, auxiliary scripts and input/output data files; 6.Submitting the job to the Grid as a small-scale pilot application;

Enabling Grids for E-sciencE EGEE-III INFSO-RI Basic tasks while Porting applications to the Grid (contd.) 7.Executing, Testing and Debugging the pilot application; 8.IF something goes wrong THEN GOTO 4; 9.IF everything seems to work THEN increase the scale of the application (increase problem size, amount of used resources); 10.Optimizing and improving the Grid application;

Enabling Grids for E-sciencE EGEE-III INFSO-RI Code from the past, maintained because it works Often supports business critical functions Not Grid enabled Port them onto the Grid with minimum user effort! What to do with legacy codes in service Grids? Bin them and reimplement them as grid services Reengineer them  who knows the source code? Porting legacy code applications

Enabling Grids for E-sciencE EGEE-III INFSO-RI Practical gridification Hiding Grid remote storage system from a legacy application Parrot –a handy tool for attaching old programs to new storage systems –EGEE (gLite module) Data Access: GFAL, LFN, GUID, SRM, RFIO, DCAP, and LFC –does not require any special privileges, any recompiling to existing programs –For example, an anonymous FTP service is made available to vi like so: parrot vi /anonftp/ftp.cs.wisc.edu/RoadMap Or example with gsiftp: $./parrot app_name /gsiftp/ More info:

Enabling Grids for E-sciencE EGEE-III INFSO-RI Grid Application Development Support Model 8 steps support model –Contact phase –Pre-selection phase –Analysis phase –Planning phase –Prototyping phase –Testing phase –Execution phase –Dissemination and feedback phase

Enabling Grids for E-sciencE EGEE-III INFSO-RI In the practical The application called MatrixDemo will be ported and executed in GILDA grid environment. (The program is borrowed from the “EGEE summer school” at MTA SZTAKI, 2006.) MatrixDemo is written in C programming language. GILDA environment (gLite based) is supporting C, so porting the C or C++ programs is easy … hopefully.

Enabling Grids for E-sciencE EGEE-III INFSO-RI MatrixDemo program MatrixDemo program performs some matrix operations – inverting, multiplying, etc. Usage: MatrixDemo has command line interface which accepts several arguments. Starting the program without any argument will display a short help. –Example: MatrixDemo I V This will Invert ( I ) the matrix defined in the file named INPUT1 and will store the result in the file OUTPUT with verbose details ( V ).

Enabling Grids for E-sciencE EGEE-III INFSO-RI MatrixDemo program (continued) Prerequisites: File MatrixDemo.c – the source code of the program. Files INPUT1 and INPUT2 – they contain matrix data in the following text format: rows, columns, cell1, cell2, cell3 … Where rows is an integer representing the number of rows. columns represents number of columns, and cell1, cell2 etc. are the cells of the matrix, floating point numbers separated by commas (,). A standard C compiler and linker. In this case we will use GNU C (gcc) already installed. File MatrixDemo.jdl – a prepared JDL (Job Description Language) file.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Log on to User Interface Step: 1.Log on to the user interface using PuTTY SSH (Secure shell) client located on your Windows Desktop. (The user input is given in red color.) Hostname: ui.grid.acad.bg login as: sofiaXX (where XX must be 01, 02 etc.) Password: GridSOFXX (where XX is the same number as above) For example: the password for user sofia12 is GridSOF12.

Enabling Grids for E-sciencE EGEE-III INFSO-RI MatrixDemo: getting the prerequisites Step: 2.Download the prerequisites stored in a zipped file MatrixDemo.zip with the following command: wget Unzip the archive in your current directory with the command: unzip MatrixDemo.zip (This will create a subdirectory matrix with all of the prerequisite files inside.) Change the current directory: cd matrix

Enabling Grids for E-sciencE EGEE-III INFSO-RI MatrixDemo: compilation Step: 3.Compile and link the program using GNU C compiler / linker: gcc –o MatrixDemo MatrixDemo.c This will create an executable file MatrixDemo. Look at the directory contents: ls –l

Enabling Grids for E-sciencE EGEE-III INFSO-RI MatrixDemo: testing as a non-grid application Step: 4.Invert the matrix stored in INPUT1 file with the following command:./MatrixDemo I V Look at the content of the input file INPUT1: more INPUT1 Look at the content of the output file OUTPUT: more OUTPUT And you may examine the source code and JDL file: more MatrixDemo.c more MatrixDemo.jdl

Enabling Grids for E-sciencE EGEE-III INFSO-RI gLite: entering the Grid! Step: 5.Authenticate yourself as a Grid user with gilda VO membership: voms-proxy-init –-voms gilda This will ask for the passphrase which is SOFIA for all users. Check the proxy status with: voms-proxy-info

Enabling Grids for E-sciencE EGEE-III INFSO-RI gLite: Checking the job requirements Step: 6.Investigate the abilities to run the job among the Grid- sites with gilda VO support: glite-wms-job-list-match -a MatrixDemo.jdl This command will produce a listing with all of the Grid Computing elements together with jobmanager queues that fulfill the requirements of our job.

Enabling Grids for E-sciencE EGEE-III INFSO-RI gLite: Submitting the job to GILDA Grid Steps: 7.Execute the following command: glite-wms-job-submit -a –o MatrixDemo.id MatrixDemo.jdl This will submit the job and will store its unique identifier in a file called MatrixDemo.id. You may look at that file. 8.Monitor the job status with: glite-wms-job-status -i MatrixDemo.id Execute this command several times until “Done (Success)” status.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Common problems and obstacles Now some bad news:  The candidate-applications for porting usually are huge and complex.  Some of them use low-level network functions and/or parallel execution features of a specific non-grid environment.  Usage of non-standard or proprietary communication protocols.  The complete source code might not be available, might not be well documented or its “out-of-host” usage is restricted by a license agreement.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Common obstacles (continued)  The application might be written in many different programming languages – C, C++, C#, Java, FORTRAN etc. or even a mixture of them.  Applications may depend on third-party libraries or executables which are not available by default on some Grid worker nodes.  Some application features could cause unintentional violation of Grid Acceptable Use Policies (Grid AUP).  Furthermore, the application can have hidden security weakness which will be very dangerous in case of remote Grid job execution.

Enabling Grids for E-sciencE EGEE-III INFSO-RI Common obstacles (continued)  Some applications are pre-compiled or optimized for using on a machine with particular processor(s) only – Intel, AMD, in 32-bit or 64-bit mode, etc. But the Grid is heterogeneous!  The application may contain serious bugs, which have never been detected while running in a non-grid environment.  Lack of convenient Grid-enabled program development tools, debuggers and profilers.  Finally, the formal procedure for accepting a new application to be ported to a Grid for production or even for experimental purpose is not simple. Therefore, the porting of an arbitrary application to Grid could be a very long, difficult and expensive process!

Enabling Grids for E-sciencE EGEE-III INFSO-RI Back to MatrixDemo Step: 9.Execute the following command: glite-wms-job-output -i MatrixDemo.id --dir out This will retrieve the Output sandbox files and will store them into a local directory named out. Enter the output directory and look at the files named OUTPUT and std.out more OUTPUT more std.out

Enabling Grids for E-sciencE EGEE-III INFSO-RI Questions? ?