Grid Resource Allocation Management (GRAM) GRAM provides the user to access the grid in order to run, terminate and monitor jobs remotely. The job request.

Slides:



Advertisements
Similar presentations
Three types of remote process invocation
Advertisements

Globus Workshop at CoreGrid Summer School 2006 Dipl.-Inf. Hamza Mehammed Leibniz Computing Centre.
A3.1 Assignment 3 Simple Job Submission Using GT 4 GRAM.
Role Based VO Authorization Services Ian Fisk Gabriele Carcassi July 20, 2005.
NorduGrid Grid Manager developed at NorduGrid project.
CERN LCG Overview & Scaling challenges David Smith For LCG Deployment Group CERN HEPiX 2003, Vancouver.
Job Submission The European DataGrid Project Team
Condor-G: A Computation Management Agent for Multi-Institutional Grids James Frey, Todd Tannenbaum, Miron Livny, Ian Foster, Steven Tuecke Reporter: Fu-Jiun.
A Computation Management Agent for Multi-Institutional Grids
USING THE GLOBUS TOOLKIT This summary by: Asad Samar / CALTECH/CMS Ben Segal / CERN-IT FULL INFO AT:
Globus Toolkit 4 hands-on Gergely Sipos, Gábor Kecskeméti MTA SZTAKI
A Grid Resource Broker Supporting Advance Reservations and Benchmark- Based Resource Selection Erik Elmroth and Johan Tordsson Reporter : S.Y.Chen.
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Chapter 1, pp For educational use only.
6a.1 Globus Toolkit Execution Management. Data Management Security Common Runtime Execution Management Information Services Web Services Components Non-WS.
Assignment 3 Using GRAM to Submit a Job to the Grid James Ruff Senior Western Carolina University Department of Mathematics and Computer Science.
Grid Services at NERSC Shreyas Cholia Open Software and Programming Group, NERSC NERSC User Group Meeting September 17, 2007.
UNICORE UNiform Interface to COmputing REsources Olga Alexandrova, TITE 3 Daniela Grudinschi, TITE 3.
Workload Management Massimo Sgaravatto INFN Padova.
Grids and Globus at BNL Presented by John Scott Leita.
1b.1 Globus Toolkit 4.0 Grid Resource Allocation Manager (GRAM) Job submission ITCS 4146/5146 Grid Computing, 2007, UNC-Charlotte, B. Wilkinson. Jan 24,
Asynchronous Web Services Approach Enrique de Andrés Saiz.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
SUN HPC Consortium, Heidelberg 2004 Grid(Lab) Resource Management System (GRMS) and GridLab Services Krzysztof Kurowski Poznan Supercomputing and Networking.
A Java Based Prototype Grid User Interface Janice Drohan Project Supervisor: Prof. Peter Clarke.
High Performance Louisiana State University - LONI HPC Enablement Workshop – LaTech University,
Job Submission Condor, Globus, Java CoG Kit Young Suk Moon.
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
Computational grids and grids projects DSS,
Grid Computing I CONDOR.
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
Nadia LAJILI User Interface User Interface 4 Février 2002.
Javascript Cog Kit By Zhenhua Guo. Grid Applications Currently, most grid related applications are written as separate software. –server side: Globus,
Rochester Institute of Technology Job Submission Andrew Pangborn & Myles Maxfield 10/19/2015Service Oriented Cyberinfrastructure Lab,
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
August 13, 2003Eric Hjort Getting Started with Grid Computing in STAR Eric Hjort, LBNL STAR Collaboration Meeting August 13, 2003.
Open Science Grid OSG CE Quick Install Guide Siddhartha E.S University of Florida.
Java Commodity Grid (Java CogKit) Java CogKits allow developers to use commodity technologies such as Java or Python in programming the Grid based on Globus.
© Geodise Project, University of Southampton, Geodise Middleware & Optimisation Graeme Pound, Hakki Eres, Gang Xue & Matthew Fairman Summer 2003.
July 11-15, 2005Lecture3: Grid Job Management1 Grid Compute Resources and Job Management.
Part Five: Globus Job Management A: GRAM B: Globus Job Commands C: Laboratory: globusrun.
Globus Toolkit Massimo Sgaravatto INFN Padova. Massimo Sgaravatto Introduction Grid Services: LHC regional centres need distributed computing Analyze.
Resource Management Task Report Thomas Röblitz 19th June 2002.
APST Internals Sathish Vadhiyar. apstd daemon should be started on the local resource Opens a port to listen for apst client requests Runs on the host.
1 High-Performance Grid Computing and Research Networking Presented by David Villegas Instructor: S. Masoud Sadjadi
Basic Grid Projects - Globus Sathish Vadhiyar Sources/Credits: Project web pages, publications available at Globus site. Some of the figures were also.
Creating and running an application.
The DZero/PPDG Test Bed Test bed composition as of Feb 2002: 3 PC at Fermilab (sammy, samadams, sameggs) Contact: Gabriele Garzoglio 1 PC at Imperial College.
E-infrastructure shared between Europe and Latin America 1 Workload Management System-WMS Luciano Diaz Universidad Nacional Autónoma de México - UNAM Mexico.
High-Performance Computing Lab Overview: Job Submission in EDG & Globus November 2002 Wei Xing.
Job Submission with Globus, Condor, and Condor-G Selim Kalayci Florida International University 07/21/2009 Note: Slides are compiled from various TeraGrid.
© Geodise Project, University of Southampton, Geodise Middleware Graeme Pound, Gang Xue & Matthew Fairman Summer 2003.
Globus Grid Tutorial Part 2: Running Programs Across Multiple Resources.
Nguyen Tuan Anh Page 1 Grid Computing – Master Course 2007 Grid Computing Dr. Nguyen Tuan Anh Contacts: Tel: (84-8)
Korea Workshop May GAE CMS Analysis (Example) Michael Thomas (on behalf of the GAE group)
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
© Geodise Project, University of Southampton, Geodise Compute Toolbox Functions CommandFunctionCommandFunction gd_certinfo.
Status of Globus activities Massimo Sgaravatto INFN Padova for the INFN Globus group
MGRID Architecture Andy Adamson Center for Information Technology Integration University of Michigan, USA.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Practical using WMProxy advanced job submission.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
The Globus Toolkit The Globus project was started by Ian Foster and Carl Kesselman from Argonne National Labs and USC respectively. The Globus toolkit.
A Resource Management Architecture for Metacomputing Systems Karl Czajkowski Ian Foster Nicholas Karonis Carl Kesselman Stuart Martin Warren Smith Steven.
HTCondor’s Grid Universe Jaime Frey Center for High Throughput Computing Department of Computer Sciences University of Wisconsin-Madison.
Duncan MacMichael & Galen Deal CSS 534 – Autumn 2016
How to connect your DG to EDGeS? Zoltán Farkas, MTA SZTAKI
Peter Kacsuk – Sipos Gergely MTA SZTAKI
Workload Management System ( WMS )
Globus Job Management. Globus Job Management Globus Job Management A: GRAM B: Globus Job Commands C: Laboratory: globusrun.
The DZero/PPDG D0/PPDG mission is to enable fully distributed computing for the experiment, by enhancing SAM as the distributed data handling system of.
Presentation transcript:

Grid Resource Allocation Management (GRAM) GRAM provides the user to access the grid in order to run, terminate and monitor jobs remotely. The job request is sent to the gatekeeper of the machine. The gatekeeper creates a job manager to handle the job process. Image source: A Resource Management Architecture for Metacomputing Systems

Grid Resource Allocation Management (GRAM) Job is a binary executable or command to be run in a remote machine. The remote machine to be contacted should have Globus toolkit installed. The server, which manages the requests of clients, is called a “gatekeeper”. Gatekeeper’s job is: –to perform mutual authentication of user and resource, –determining a local user name for the remote user, –starting a job manager which executes as that local user and actually handles the request. A job manager is responsible for creating the actual processes requested by the user. Job submission modes: It can be either batch or non-batch. –Batch Jobs: A job-id is returned when the job is submitted. The output is obtained via the job-id afterwards. It is useful in process-intensive applications. –Non-batch Jobs: The client will wait for the remote gatekeeper throughout the whole process and then receive the output. The GRAM reporter is responsible for storing into MDS various information about scheduler structure and state You will be authenticated to the system using the following command: –grid-proxy-init Your certificate was created under /tmp directory. –ls –al /tmp

Resource Specification Language (RSL) RSL provides a common language for the description of jobs and resources. It enables the user to construct complex resource and runtime environment descriptions by introducing specific attribute-value pairings. Example: & (executable = /bin/ls (* <-- that is an unquoted literal *)) (arguments = /grid/users) (stdout = output.stdout) Before sending the query, first create a directory under /grid/users. Specify the name of the directory as your name. mkdir /grid/users/tugba Then, run the following command: globusrun -r concorde03.mcs.surrey.ac.uk '&(executable=/bin/ls)(arguments= /grid/users)(stdout= output.stdout)’ You will see the following output: GRAM Job submission successful GLOBUS_GRAM_PROTOCOL_JOB_STATE_ACTIVE GLOBUS_GRAM_PROTOCOL_JOB_STATE_DONE The output.stdout file is saved under your $HOME directory. Please see the contents. Question: Why isn’t it in your current directory?

Resource Specification Language (RSL) You can also save the RSL string to a file. The extension of the file should be.rsl. Save the following RSL string as test.rsl under /grid/users/. & (executable = /bin/ls (* <-- that is an unquoted literal *)) (arguments = /grid/users) (stdout = output.stdout) Then, run the following command: globusrun -r concorde02.mcs.surrey.ac.uk -f test.rsl You will see the following output: GRAM Job submission successful GLOBUS_GRAM_PROTOCOL_JOB_STATE_ACTIVE GLOBUS_GRAM_PROTOCOL_JOB_STATE_DONE

Resource Specification Language (RSL) Exercise 1: Execute a Java program on a remote machine. The Java program will write “Hello World” the command line. Create HelloWorld.java file under $HOME/gt3/samples. public class HelloWorld{ public static void main(String args[]){ System.out.println("\n\n\n"+args[0]); } Compile the Java program. javac HelloWorld.java Execute the job on the remote machine: globusrun -r concorde02.mcs.surrey.ac.uk '&(rsl_substitution=(OUTPUT_PATH /user/csckmst/css1tt/gt3/samples)(JAVA_PATH /opt/SUNWjava/j2sdk1.4.1_01/bin))(executable=$(JAVA_PATH)/java)(directory=$(OUTPUT_PATH)) (stdout=outputjava.stdout)(arguments=HelloWorld Hello)’ “rsl_substitution” enables the user to define generic attribute-value pairs. These attributes can be used elsewhere in the command. The RSL parser substitutes the attribute with its value before the execution of the command during compilation. “rsl_substitution” is preferred as it increases the readibility of the RSL string and avoids the repetitions of long declarations. “directory” is the job’s active directory. The output file will be saved under $HOME/gt3/samples. Exercise: Write the RSL part of the query to a file and execute the command using that file.

Resource Specification Language (RSL) The DUROC component of the Globus Toolkit allows resources to be coallocated for a single job. This means that the multiple resources can be allocated simultaneously for a single job and executed in parallel. Aim: Run two different jobs in parallel. Both jobs are to list the contents of a specific directory for “count” number of times and writes the output to the specified file. Create a RSL file called “duroctest.rsl”. Write the following lines to the file: + (&(resourceManagerContact="concorde02.mcs.surrey.ac.uk") (executable="/bin/ls") (count=20) (arguments= /dev) (environment=(GLOBUS_DUROC_SUBJOB_INDEX 0 ) ) (label="subjob 0") (stderr="durocex.err") (stdout="duroc1.out") ) (&(resourceManagerContact=concorde03.mcs.surrey.ac.uk) (executable="/bin/ls") (arguments= /sbin) (count=40) (environment=(GLOBUS_DUROC_SUBJOB_INDEX 1 ) ) (label="subjob 1") (stderr=durocex1.err) (stdout=duroc2.out) )

Resource Specification Language (RSL) Run the following command: globusrun -f duroctest.rsl While it is running, run “ps -u css1tt” (replace with your login name) on remote machines. You will see that your processes are running successfully.The output will be like: pts/0 00:00:00 tcsh ? 00:00:00 globus-job-mana ? 00:00:00 globus-job-mana ? 00:00:00 ls ? 00:00:00 ls ? 00:00:00 ls ? 00:00:00 ls ? 00:00:00 ls ? 00:00:00 globus-gass-cac Exercise: Write a Java program, which will count from 1 to any given number 10 number of times and write the results to the screen. Then, you are expected to run this application at least on three machines in parallel. The limit numbers have to be greater than The output has to be directed to a file, which is under $HOME/gt3/samples/RSLExample.

Resource Specification Language (RSL) Important RSL strings: –arguments: executable name –count: number of executions –directory: the directory where the jobmanager uses –environment: the environment variables required to execute the job –stderr: Remote file to store the standard error from the job. –stdin: Remote file to be used as an standard input –stdout: Remote file to store the output of the job.

Global Access to Secondary Storage (GASS) and GridFTP –GridFTP: GridFTP is a high-performance, secure protocol based on the Internet Engineering Task Force's FTP standards which uses the GSI (Grid Security Infrastructure) for authentication and new extensions to the FTP protocol for parallel data transfer, partial file transfer, and third-party (server-to-server) data transfer. –Data Replication: Multiple copies of data improves access on a distributed environment. The data replica, which is closest to the access point is selected when it is required. There are two data replication technologies: ‘replica catalog’ and ‘replica management tool’. –GASS: GASS allows applications to operate on remote files. GASS also provides cache management.

Global Access to Secondary Storage (GASS) and GridFTP Run the GASS server. globus-gass-server & Output will be a URL address. Copy HelloWorld.java to /grid/users/ Open another terminal in another machine such as concorde02 and run: grid-proxy-init Copy HelloWorld.java from concorde02 to concorde03. globus-url-copy file://concorde03.mcs.surrey.ac.uk/grid/users/tugba/HelloWorld.java

Global Access to Secondary Storage (GASS) and GridFTP globus-url-copy” can be used for local file transfers as well. In such cases, it acts like “cp” command in Unix. globus-url-copy file://concorde02.mcs.surrey.ac.uk/grid/users/tugba/HelloWorld.java file://concorde02.mcs.surrey.ac.uk/user/csckmst/css1tt/gt3/HelloWorld.java GridFTP also allows you to open multiple streams between two different machines for transferring files. This property allows faster transfer between the machines. The number of streams can be specified with “-p” argument. globus-url-copy -p 3 file://concorde03.mcs.surrey.ac.uk/grid/users/tugba/HelloWorld.java

References A Resource Management Architecture for Metacomputing Systems, K. Czajkowski, I. Foster, N. Karonis, C. Kesselman, S. Martin, W. Smith, and S. Tuecke; Proc. IPPS/SPDP '98 Workshop on Job Scheduling Strategies for Parallel Processing, IBM’s Grid Job submission using the Java CoG Kit: gridcog.html (prepared by Vladimir Silva) gridcog.html The Globus Resource Specification Language RSL v1.0 and Commands for Running Jobs: