Enabling Grids for E-sciencE www.eu-egee.org EGEE-II INFSO-RI-031688 BG induction to GRID Computing and EGEE project – Sofia, 2006 Practical: Porting applications.

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

SARA Reken- en NetwerkdienstenToPoS | 3 juni 2007 More efficient job submission Evert Lammerts SARA Computing and Networking Services High Performance.
12th EELA Tutorial, Lima, FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America.
INFSO-RI Enabling Grids for E-sciencE Workload Management System and Job Description Language.
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.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Job Submission Fokke Dijkstra RuG/SARA Grid.
Introduction to UNIX/Linux Exercises Dan Stanzione.
Enabling Grids for E-sciencE gLite training at Sinaia '06 Victor Penso Kilian Schwarz GSI Darmstadt Germany.
FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America Luciano Díaz ICN-UNAM Based on Domenico.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Example Gridification via command-line Application Developer Training Day IV. Miklos Kozlovszky Ankara, 25. October, 2007.
The gLite API – PART I Giuseppe LA ROCCA INFN Catania ACGRID-II School 2-14 November 2009 Kuala Lumpur - Malaysia.
INFSO-RI Enabling Grids for E-sciencE GILDA Praticals GILDA Tutors INFN Catania ICTP/INFM-Democritos Workshop on Porting Scientific.
Computational grids and grids projects DSS,
:: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :: GridKA School 2009 MPI on Grids 1 MPI On Grids September 3 rd, GridKA School 2009.
Nadia LAJILI User Interface User Interface 4 Février 2002.
INFSO-RI Enabling Grids for E-sciencE Workload Management System Mike Mineter
Group 1 : Grid Computing Laboratory of Information Technology Supervisors: Alexander Ujhinsky Nikolay Kutovskiy.
Enabling Grids for E-sciencE EGEE-II INFSO-RI Practical: Porting applications to the GILDA grid Slides from Vladimir Dimitrov, IPP-BAS.
EGEE-III INFSO-RI Enabling Grids for E-sciencE Gridification practices in gLite 3.x Vladimir Dimitrov IPP-BAS “gLite middleware.
Enabling Grids for E-sciencE EGEE-II INFSO-RI Introduction to Grid Computing, EGEE and Bulgarian Grid Initiatives Plovdiv, 2006.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Using gLite API Vladimir Dimitrov IPP-BAS “gLite middleware Application Developers.
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 Gergely Sipos
INFSO-RI Enabling Grids for E-sciencE GILDA Practicals : Security systems GILDA Tutors Singapore, 1st South East Asia Forum -- EGEE.
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.
Job Management DIRAC Project. Overview  DIRAC JDL  DIRAC Commands  Tutorial Exercises  What do you have learned? KEK 10/2012DIRAC Tutorial.
Parameter Study Principles & Practices. What is Parameter Study? Parameter study is the application of a single algorithm over a set of independent inputs:
FP7-INFRA Enabling Grids for E-sciencE EGEE Induction Grid training for users, Institute of Physics Belgrade, Serbia Sep. 19, 2008.
INFSO-RI Enabling Grids for E-sciencE Αthanasia Asiki Computing Systems Laboratory, National Technical.
Enabling Grids for E-sciencE Workload Management System on gLite middleware - commands Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi.
EGEE-0 / LCG-2 middleware Practical.
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,
EGEE-II INFSO-RI Enabling Grids for E-sciencE Workload management in gLite 3.x - MPI P. Nenkova, IPP-BAS, Sofia, Bulgaria Some of.
1 P-GRADE Portal tutorial at EGEE’09 Introduction to hands-on Gergely Sipos MTA SZTAKI EGEE.
INFSO-RI Enabling Grids for E-sciencE Job Submission Tutorial (material from INFN Catania)
FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America WMS+LB Server Installation Tony Calanducci.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Grid2Win : gLite for Microsoft Windows Roberto.
FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America Moisés Hernández Duarte UNAM FES Cuautitlán.
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
INFSO-RI Enabling Grids for E-sciencE GILDA Praticals Giuseppe La Rocca INFN – Catania gLite Tutorial at the EGEE User Forum CERN.
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 EGEE and gLite are registered trademarks WMS tricks & tips – further scripting Giuseppe.
FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America WMS+LB Server Installation Eduardo Murrieta.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Practical using WMProxy advanced job submission.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite – UNICORE interoperability Daniel Mallmann.
User Interface UI TP: UI User Interface installation & configuration.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Using Certificate & Simple Job Submission Jinny Chien ASGC.
LCG2 Tutorial Viet Tran Institute of Informatics Slovakia.
Job Management Beijing, 13-15/11/2013. Overview Beijing, /11/2013 DIRAC Tutorial2  DIRAC JDL  DIRAC Commands  Tutorial Exercises  What do you.
Introduction to Computing Element HsiKai Wang Academia Sinica Grid Computing Center, Taiwan.
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.
Practical using C++ WMProxy API advanced job submission
Workload Management System
Introduction to P-GRADE Portal hands-on
5. Job Submission Grid Computing.
gLite Job Management Christos Theodosiou
GENIUS Grid portal Hands on
Hands on Session: DAG Job Submission
Presentation transcript:

Enabling Grids for E-sciencE EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Practical: Porting applications to the GILDA grid Vladimir Dimitrov IPP-BAS

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 2 Introduction and basic theory The main goal:  To port and execute an existing non- grid application to the Grid. (In particular, this is GILDA Grid for training purpose.) Some sources define this process commonly as “gridifying”. There are many useful and “single-processor” or “single-machine” applications which need gridifying.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 3 Common obstacles  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.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 4 Common obstacles (continued)  The application might be written in many different programming languages – C, C++, C#, Java, FORTRAN etc. or even 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.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 5 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.  Finally, the formal procedure for accepting a new application to be ported to a Grid for production or even experimental purpose is not simple. Therefore, the porting of an arbitrary application to Grid could be very long, difficult and expensive process!

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 6 The practical Goal: 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 institute, Budapest, 2006.) MatrixDemo is written in C programming language. Many Grids, especially GILDA and EGEE Grid middleware (gLite) are based on Globus Toolkit, ( The Globus Toolkit is written in C, so porting the C or C++ programs is easy … probably.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 7 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 ).

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 8 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.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 9 MatrixDemo: compilation Step: 1.Log on to the GILDA user interface using PuTTY client located on your Windows Desktop. (The user input is given in red color.) Hostname: glite-tutor.ct.infn.it 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 sofia15 is GridSOF15.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 10 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

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 11 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

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 12 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: more MatrixDemo.c

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 13 MatrixDemo: preparing the corresponding JDL-file Step: 5.Look to the supplied MatrixDemo.jdl file: more MatrixDemo.jdl The MatrixDemo.jdl contents: [ VirtualOrganisation = "gilda"; Executable = "MatrixDemo"; JobType = "Normal"; Arguments = "I V"; StdOutput = "std.out"; StdError = "std.err"; InputSandbox = { "MatrixDemo", "INPUT1" }; OutputSandbox = { "std.out", "std.err", "OUTPUT" } ]

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 14 MatrixDemo: preparing the JDL-file (continued) Short explanation of some important JDL-attributes:  VirtualOrganisation – this points to our training VO (gilda);  Executable – sets the name of the executable file;  Arguments – command line arguments of the program;  StdOutput, StdError - files for storing the standard output and error messages output;  InputSandbox – input files needed by the program, including the executable;  OutputSandbox – output files which will be written during the execution, including standard output and standard error output;

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 15 gLite: entering the Grid! Step: 6.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

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 16 gLite: Checking the job requirements Step: 6.Investigate the abilities to run the job among the Grid- sites with gilda VO support: glite-job-list-match 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.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 17 gLite: Submitting the job to GILDA Grid Steps: 7.Execute the following command: glite-job-submit –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-job-status –i MatrixDemo.id Execute this command several times until “Done (Success)” status.

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 18 gLite: retrieving the job results Step: 9.Execute the following command: glite-job-output –i MatrixDemo.id –dir./ This will retrieve the Output sandbox files and will store them into a local directory with a strange name under the current directory. Directory name will be something like sofia01_aJiesiAtu96H09XASy_j_Q. Enter the output directory and look at the files named OUTPUT and std.out more OUTPUT more std.out

EGEE-II INFSO-RI BG induction to GRID Computing and EGEE project – Sofia, 2006 Enabling Grids for E-sciencE 19 Exercise! Modify and execute the job in a way that it will produce multiplication of the two matrices stored in INPUT1 and INPUT2 files. Check up the result by hand. ;-) Questions?