CENG 546 Dr. Esma Yıldırım.  A fundamental enabling technology for the "Grid," letting people share computing power, databases, and other tools securely.

Slides:



Advertisements
Similar presentations
Globus Workshop at CoreGrid Summer School 2006 Dipl.-Inf. Hamza Mehammed Leibniz Computing Centre.
Advertisements

The Anatomy of the Grid: An Integrated View of Grid Architecture Carl Kesselman USC/Information Sciences Institute Ian Foster, Steve Tuecke Argonne National.
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.
CERN LCG Overview & Scaling challenges David Smith For LCG Deployment Group CERN HEPiX 2003, Vancouver.
High Performance Computing Course Notes Grid Computing.
GridFTP: File Transfer Protocol in Grid Computing Networks
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:
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © Chapter 1, pp For educational use only.
Office of Science U.S. Department of Energy Grids and Portals at NERSC Presented by Steve Chan.
1-2.1 Grid computing infrastructure software Brief introduction to Globus © 2010 B. Wilkinson/Clayton Ferner. Spring 2010 Grid computing course. Modification.
Milos Kobliha Alejandro Cimadevilla Luis de Alba Parallel Computing Seminar GROUP 12.
4b.1 Grid Computing Software Components of Globus 4.0 ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4b.
Grid Services at NERSC Shreyas Cholia Open Software and Programming Group, NERSC NERSC User Group Meeting September 17, 2007.
First steps implementing a High Throughput workload management system Massimo Sgaravatto INFN Padova
Simo Niskala Teemu Pasanen
Globus Computing Infrustructure Software Globus Toolkit 11-2.
Evaluation of the Globus GRAM Service Massimo Sgaravatto INFN Padova.
Asynchronous Web Services Approach Enrique de Andrés Saiz.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
GridFTP Guy Warner, NeSC Training.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Part Three: Data Management 3: Data Management A: Data Management — The Problem B: Moving Data on the Grid FTP, SCP GridFTP, UberFTP globus-URL-copy.
The Glidein Service Gideon Juve What are glideins? A technique for creating temporary, user- controlled Condor pools using resources from.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
High Performance Louisiana State University - LONI HPC Enablement Workshop – LaTech University,
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
Computational grids and grids projects DSS,
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
Topaz : A GridFTP extension to Firefox M. Taufer, R. Zamudio, D. Catarino, K. Bhatia, B. Stearn University of Texas at El Paso San Diego Supercomputer.
Globus GridFTP and RFT: An Overview and New Features Raj Kettimuthu Argonne National Laboratory and The University of Chicago.
1 Globus Grid Middleware: Basics, Components, and Services Source: The Globus Project Argonne National Laboratory & University of Southern California
August 13, 2003Eric Hjort Getting Started with Grid Computing in STAR Eric Hjort, LBNL STAR Collaboration Meeting August 13, 2003.
Grid NERSC demo Shreyas Cholia Open Software and Programming NERSC User Group Meeting September 19, 2007.
Communicating Security Assertions over the GridFTP Control Channel Rajkumar Kettimuthu 1,2, Liu Wantao 3,4, Frank Siebenlist 1,2 and Ian Foster 1,2,3 1.
© 2007 UC Regents1 Track 1: Cluster and Grid Computing NBCR Summer Institute Session 1.1: Introduction to Cluster and Grid Computing July 31, 2007 Wilfred.
Ames Research CenterDivision 1 Information Power Grid (IPG) Overview Anthony Lisotta Computer Sciences Corporation NASA Ames May 2,
Condor-G A Quick Introduction Alan De Smet Condor Project University of Wisconsin - Madison.
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
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.
GRIDS Center Middleware Overview Sandra Redman Information Technology and Systems Center and Information Technology Research Center National Space Science.
GridFTP GUI: An Easy and Efficient Way to Transfer Data in Grid
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.
CEOS Working Group on Information Systems and Services - 1 Data Services Task Team Discussions on GRID and GRIDftp Stuart Doescher, USGS WGISS-15 May 2003.
Basic Grid Projects - Globus Sathish Vadhiyar Sources/Credits: Project web pages, publications available at Globus site. Some of the figures were also.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Globus Grid Tutorial Part 2: Running Programs Across Multiple Resources.
AERG 2007Grid Data Management1 Grid Data Management GridFTP Carolina León Carri Ben Clifford (OSG)
ALCF Argonne Leadership Computing Facility GridFTP Roadmap Bill Allcock (on behalf of the GridFTP team) Argonne National Laboratory.
Grid Compute Resources and Job Management. 2 Grid middleware - “glues” all pieces together Offers services that couple users with remote resources through.
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
Manchester Computing Supercomputing, Visualization & eScience Seamless Access to Multiple Datasets Mike AS Jones ● Demo Run-through.
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 Sneak Peak of What’s New in Globus GridFTP John Bresnahan Michael Link Raj Kettimuthu (Presenting) Argonne National Laboratory and The University of.
LCG2 Tutorial Viet Tran Institute of Informatics Slovakia.
A System for Monitoring and Management of Computational Grids Warren Smith Computer Sciences Corporation NASA Ames Research Center.
Duncan MacMichael & Galen Deal CSS 534 – Autumn 2016
Example: Rapid Atmospheric Modeling System, ColoState U
Peter Kacsuk – Sipos Gergely MTA SZTAKI
Study course: “Computing clusters, grids and clouds” Andrey Y. Shevel
Globus Job Management. Globus Job Management Globus Job Management A: GRAM B: Globus Job Commands C: Laboratory: globusrun.
Grid Computing Software Interface
Presentation transcript:

CENG 546 Dr. Esma Yıldırım

 A fundamental enabling technology for the "Grid," letting people share computing power, databases, and other tools securely online across corporate, institutional, and geographic boundaries without sacrificing local autonomy

 It includes software services and libraries for resource monitoring, discovery, and management, plus security and file management  security,  information infrastructure,  resource management,  data management,  communication,  fault detection,  portability

 How did Globus become the “de facto standard” for Grid Computing  A small team led by Ian Foster at Argonne created new protocols that allowed I-WAY users to run applications on computers across the country at Super Computing 95  The experiment got the attention of DOE and NSF  With the funding from many national agencies, it began in  The project has spurred a revolution in the way science is conducted.  High-energy physicists designing the Large Hadron Collider at CERN are developing Globus-based technologies through the European Data Grid, and the U.S. efforts like the Grid Physics Network (GriPhyN) and Particle Physics Data Grid.

 The Grid Resource Allocation and Management (GRAM5) component is used to locate, submit, monitor, and cancel jobs on Grid computing resources.  GRAM5 is not a Local Resource Manager, but rather a set of services and clients for communicating with a range of different batch/cluster job schedulers using a common protocol.

 GRAM 5 Components  Gate Keeper  Job Manager  Scheduler Event Generator  LRM Adaptor

 The globus-gatekeeper service provides a network interface to the GRAM5 system.  It authenticates client identities and starts Job Manager processes using the local user account to which the client identity is mapped.  One instance of the globus-gatekeeper process runs to accept network connections, and forks a new short-lived process to process each new connection.

 The globus-job-manager daemon processes job requests and coordinates file transfers.  There is one long-lived instance of this per user per LRM and one short-lived instance per job.

 The globus-scheduler-event-generator process parses LRM-specific data relating to job startup, execution, and termination into an LRM-independent data format.  There is optionally one instance of this program per LRM.

 The LRM adapter provides an interface between the GRAM5 system components and the LRM.  It provides concrete implementations of the submit, cancel, and poll functionality for a particular system's LRM and to generate job status change events.

 GRAM jobs consist of file transfers and program execution on one or more compute elements managed by a local resource manager  The GRAM client can submit the job and then later poll for its status, or it can request that the GRAM service notify it when the job changes state or completes.  While the job is executing, the client may send control messages to the GRAM service to monitor or modify the job.  GRAM provides reliable job submission, job recovery in case of service or client failures, file staging, and asynchronous notification messages.

 GRAM achieves its uniform interface by implementing a domain-specific language called the Resource Specification Language (RSL) which provides a simple way to express job requirements, environment, and commands in a specification which is independent of the local resource manager which will actually execute the job.

 GRAM uses a proxy certificate which is a short- term credential digitally signed by a private key  You must first obtain a security credential (.X509 certificate)

 Before interacting with a GRAM service, you must know its contact address  grid.example.org:2120/jobmanager- sge:/C=US/O=Example/OU=Grid/CN=host/ grid.example.org Host name Port No Service Name Credential name

 globus-job-run : waits until the job terminates before exiting and prints job standard output and stderr after the job completes  globus-job-submit : submit the job and then exit immediately, printing the job contact to its standard output stream  globusrun : Uses RSL language to run jobs

 Minimal job running  submits a single instance of the /bin/hostname executable to the resource named by grid.example.org/jobmanager-pbs % globus-job-run grid.example.org/jobmanager-pbs /bin/hostname node1.grid.example.org % globus-job-run grid.example.org/jobmanager-pbs /bin/hostname node1.grid.example.org

 Multiprocess job running  submits ten instances of an executable /bin/hostname.  The output of the job is the name of the ten hosts that the job ran on. The -np COUNT option causes globus- job-run to run COUNT instances of the executable. % globus-job-run grid.example.org/jobmanager-pbs -np 4 /bin/hostname node1.grid.example.org node3.grid.example.org node2.grid.example.org node10.grid.example.org % globus-job-run grid.example.org/jobmanager-pbs -np 4 /bin/hostname node1.grid.example.org node3.grid.example.org node2.grid.example.org node10.grid.example.org

 Staging an executable file  submits an executable which is local to the submit machine to the GRAM resource, then executes it.  The executable is removed automatically from the GRAM resource after the job completes.  The -s option prior to the executable name causes globus-job- run to stage the executable using GASS (an https-based protocol) from the machine running globus-job-run to the GRAM resource. % globus-job-run grid.example.org/jobmanager-pbs -s my-executable node1.grid.example.org % globus-job-run grid.example.org/jobmanager-pbs -s my-executable node1.grid.example.org

 Providing an input file to a job  submits a job to a GRAM resource.  When this job runs, its standard input will read from the file $HOME/inputfile.txt, which is located on the GRAM resource.  The -stdin command-line option indicates this path. % globus-job-run grid.example.org/jobmanager-pbs -stdin inputfile.txt /bin/cat Hello, Grid % globus-job-run grid.example.org/jobmanager-pbs -stdin inputfile.txt /bin/cat Hello, Grid

 Staging an input file to a job  submits a job to a GRAM resource.  When this job runs, its standard input will read from the file inputfile.txt, which is located on the submit client machine.  The -stdin -s command-line option combination causes the input to be staged in the above executable staging example % globus-job-run grid.example.org/jobmanager-pbs -stdin -s inputfile.txt /bin/cat Hello, staged input on the Grid % globus-job-run grid.example.org/jobmanager-pbs -stdin -s inputfile.txt /bin/cat Hello, staged input on the Grid

% globus-job-submit grid.example.org/jobmanager-pbs /bin/hostname % globus-job-status PENDING % globus-job-status ACTIVE % globus-job-status DONE % globus-job-get-output -r grid.example.org/jobmanager-fork \ node1.g rid.example.org % globus-job-clean -r grid.example.org/jobmanager-fork \ WARNING: Cleaning a job means: - Kill the job if it still running, and - Remove the cached output on the remote resource Are you sure you want to cleanup the job now (Y/N) ? y Cleanup successful. % globus-job-submit grid.example.org/jobmanager-pbs /bin/hostname % globus-job-status PENDING % globus-job-status ACTIVE % globus-job-status DONE % globus-job-get-output -r grid.example.org/jobmanager-fork \ node1.g rid.example.org % globus-job-clean -r grid.example.org/jobmanager-fork \ WARNING: Cleaning a job means: - Kill the job if it still running, and - Remove the cached output on the remote resource Are you sure you want to cleanup the job now (Y/N) ? y Cleanup successful.

 Basic interactive job  submit interactive job with globusrun. When the -s is used, the output of the job command is returned to the client and displayed as if the command ran locally. This is similar to the behavior of the globus- job-run program described. % globusrun -s -r example.grid.org/jobmanager-pbs "&(executable=/bin/hostname (count=5)” node03.grid.example.org node01.grid.example.org node02.grid.example.urg node05.grid.example.org node04.grid.example.org % globusrun -s -r example.grid.org/jobmanager-pbs "&(executable=/bin/hostname (count=5)” node03.grid.example.org node01.grid.example.org node02.grid.example.urg node05.grid.example.org node04.grid.example.org

 Basic batch job  submit, monitor, and cancel a batch job using globusrun. This method is useful for the case where the job may run for a long time, the job may be queued for a long time, or when there are network reliability issues between the client and service % globusrun -b -r grid.example.org/jobmanager-pbs "&(executable=/bin/sleep)(arguments=500)” globus_gram_client_callback_allow successful GRAM Job submission successful OBUS_GRAM_PROTOCOL_JOB_STATE_PENDING % globusrun -status NDING % globusrun -k % % globusrun -b -r grid.example.org/jobmanager-pbs "&(executable=/bin/sleep)(arguments=500)” globus_gram_client_callback_allow successful GRAM Job submission successful OBUS_GRAM_PROTOCOL_JOB_STATE_PENDING % globusrun -status NDING % globusrun -k %

 One of the foundational issues in HPC computing is the ability to move large (multi Gigabyte, and even Terabyte), file-based data sets between sites.  Simple file transfer mechanisms such as FTP and SCP are not sufficient either from a reliability or performance perspective.  GridFTP extends the standard FTP protocol to provide a high-performance, secure, reliable protocol for bulk data transfer

 Performance - GridFTP protocol supports using parallel TCP streams and multi-node transfers to achieve high performance.  Checkpointing - GridFTP protocol requires that the server send restart markers (checkpoint) to the client.  Third-party transfers - The FTP protocol on which GridFTP is based separates control and data channels, enabling third-party transfers, that is, the transfer of data between two end hosts, mediated by a third host.  Security - Provides strong security on both control and data channels. Control channel is encrypted by default. Data channel is authenticated by default with optional integrity protection and encryption.

 A server implementation called globus-gridftp- server,  A scriptable command line client called globus- url-copy,  A set of development libraries for custom clients.

 globus-url-copy –vb -p 4 source_url destination_url  -vb -> outputs transfer performance  -p -> sets the number of parallel streams  globus-url-copy -vb -p 4 -r -cd - cc 4 source_url destination_url  Directory transfer  -r -> copy files in sub directories  -cd -> create destination directory  -cc -> number of concurrent connections

 Source and Destination URLs  file:///path/to/my/file  if you are accessing a file on a file system accessible by the host on which you are running your client.  gsiftp://hostname/path/to/remote/file  if you are accessing a file from a GridFTP server.

 Uploading a File  globus-url-copy -vb -p 4 file:///tmp/foo gsiftp://remote.machine.my.edu/tmp/bar  Downloading a File  globus-url-copy -vb -p 4 gsiftp://remote.machine.my.edu/tmp/bar file:///tmp/foo  Third party Transfers  globus-url-copy -vb -p 4 gsiftp://other.machine.my.edu/tmp/foo gsiftp://remote.machine.my.edu/tmp/bar

 Job Submission  GRAM  Data Transfer  GridFTP  Security  GSI -> Coming Soon