Everything you always wanted to know about SAGA*
|
|
- Loren Margaret Hunter
- 5 years ago
- Views:
Transcription
1 Everything you always wanted to know about SAGA* *but were afraid to ask Thilo Kielmann Shantenu Jha, Andre Merzky 2006 Open Grid Forum
2 Why SAGA? Why are there so few grid applications out there? Is there a simple, stable, integrated and uniform high-level programming interface that provides the most common grid programming abstractions? Need to hide underlying complexities, varying semantics, heterogenities and changes from application program(er) Measure(s) of success: Does SAGA enable quick development of new grid applications? Does it enable greater functionality using less code? 2
3 Copy a File: Globus GASS int copy_file (char const* source, char const* target) { globus_url_t source_url; globus_io_handle_t dest_io_handle; globus_ftp_client_operationattr_t source_ftp_attr; globus_result_t result; globus_gass_transfer_requestattr_t source_gass_attr; globus_gass_copy_attr_t source_gass_copy_attr; globus_gass_copy_handle_t gass_copy_handle; globus_gass_copy_handleattr_t gass_copy_handleattr; globus_ftp_client_handleattr_t ftp_handleattr; globus_io_attr_t io_attr; int output_file = -1; if ( globus_url_parse (source_url, &source_url)!= GLOBUS_SUCCESS ) { printf ("can not parse source_url \"%s\"\n", source_url); return (-1); } if ( source_url.scheme_type!= GLOBUS_URL_SCHEME_GSIFTP && source_url.scheme_type!= GLOBUS_URL_SCHEME_FTP && source_url.scheme_type!= GLOBUS_URL_SCHEME_HTTP && source_url.scheme_type!= GLOBUS_URL_SCHEME_HTTPS ) { printf ("can not copy from %s - wrong prot\n", source_url); return (-1); } globus_gass_copy_handleattr_init (&gass_copy_handleattr); globus_gass_copy_attr_init (&source_gass_copy_attr); if (source_url.scheme_type == GLOBUS_URL_SCHEME_GSIFTP source_url.scheme_type == GLOBUS_URL_SCHEME_FTP ) { globus_ftp_client_operationattr_init (&source_ftp_attr); globus_gass_copy_attr_set_ftp (&source_gass_copy_attr, &source_ftp_attr); } else { globus_gass_transfer_requestattr_init (&source_gass_attr, source_url.scheme); globus_gass_copy_attr_set_gass(&source_gass_copy_attr, &source_gass_attr); } output_file = globus_libc_open ((char*) target, O_WRONLY O_TRUNC O_CREAT, S_IRUSR S_IWUSR S_IRGRP S_IWGRP); if ( output_file == -1 ) { printf ("could not open the file \"%s\"\n", target); return (-1); } /* convert stdout to be a globus_io_handle */ if ( globus_io_file_posix_convert (output_file, 0, &dest_io_handle)!= GLOBUS_SUCCESS) { printf ("Error converting the file handle\n"); return (-1); } globus_ftp_client_handleattr_init (&ftp_handleattr); globus_io_fileattr_init (&io_attr); globus_gass_copy_attr_set_io (&source_gass_copy_attr, &io_attr); &io_attr); globus_gass_copy_handleattr_set_ftp_attr (&gass_copy_handleattr, &ftp_handleattr); globus_gass_copy_handle_init (&gass_copy_handle, &gass_copy_handleattr); 3 result = globus_gass_copy_register_url_to_handle ( &gass_copy_handle, (char*)source_url, &source_gass_copy_attr, &dest_io_handle, my_callback, NULL); if ( result!= GLOBUS_SUCCESS ) { printf ("error: %s\n", globus_object_printable_to_string (globus_error_get (result))); return (-1); } globus_url_destroy (&source_url); return (0); }
4 Copy a File: SAGA #include <string> #include <saga/saga.hpp> void copy_file(std::string source_url, std::string target_url) { try { saga::file f(source_url); f.copy(target_url); } catch (saga::exception const &e) { std::cerr << e.what() << std::endl; } } 4
5 What SAGA is Simple API for Grid Applications: For grid-aware applications: Dealing with the Grid explicitly High-level (= application-level) abstractions Hides details of underlying middleware(s) 5
6 What SAGA is NOT SAGA does NOT hide the grid: It still exposes that resources (like files or jobs) can be remote But it hides all those details that you never wanted to deal with... SAGA is NOT a service (management) interface 6
7 SAGA is client-side software SAGA isn't middleware 7
8 SAGA: In action A SAGA engine can talk to many middlewares at the same time, with dynamic selection/loading 8
9 The SAGA Landscape 9
10 The SAGA Interface Hierarchy Let us first have a quick tour around the API. Then, we will look at specific (small) examples. 10
11 Look&Feel: SAGA object The common root for all SAGA classes. 11
12 Errors and Exceptions SAGA defines a hierarchy of exceptions (and allows implementations to fill in specific details) 12
13 Session, Context, Permissions Only needed if you wish to handle multiple credentials. Otherwise, your default context is used. 13
14 Attributes Key-value pairs, e.g. for resource descriptions 14
15 Application Monitoring/Steering Metric defines application-level data structure(s) that can be monitored and modified (steered). 15
16 Asynchronous Operations, Tasks Most calls can be synchronous, asynchronous, or tasks (need explicit start.) 16
17 Task states 17
18 Jobs Jobs are submitted to run somewhere in the grid. 18
19 Job states Jobs: Tasks: 19
20 Jobs job_service uses job_description to create a job job_description attributes are based on JSDL State model is based on BES job_self represents the SAGA application 20
21 Files, Directories, Name Spaces Both for physical and replicated ( logical ) files 21
22 Streams Simple, data streaming end points. 22
23 Remote Procedure Call A rendering of GridRPC 23
24 Is SAGA Simple? Well, it depends: It is certainly not simple to implement; lots of the pain using the middleware goes into the SAGA engine and adaptors. But it is simple to use (see next slides): Look&Feel vs. Functional Packages Somewhat like MPI: most users only need a very small subset of calls 24
25 File Management saga::directory dir ("any://remote.host.net//data/"); if ( dir.exists ("a") && dir.is_file ("a") ) { dir.copy ("a", "b", Overwrite); } list <string> names = dir.find ("*-[123].txt"); saga::directory tmp = dir.open_dir ("tmp/", Create); saga::file file = dir.open ("tmp/data.txt"); 25
26 Job Submission saga::job_description jd; saga::job_service js ("gram://remote.host.net"); saga::job j = js.create_job (jd); j.run (); cout << "Job State: " << j.get_state () << endl; j.wait (); cout << "Retval " << j.get_attribute ("ExitCode") << endl; 26
27 Jobs (cont.) saga::job j = js.create_job (jd); j.run (); j.suspend (); j.resume (); j.checkpoint (); j.migrate (jd); j.signal (SIGUSR1); j.cancel (); 27
28 Job Migration saga::job self = js.get_self (); self.checkpoint (); self.migrate (jd); self.signal (SIGUSR1); self.cancel (); 28
29 Checking all my Jobs vector<string> ids = js.list (); while ( ids.size () ) { string id = ids[ids.size () - 1]; saga::job j = js.get_job (id); cout << id << " : " << j.get_state () << endl; } ids.pop_back (); 29
30 JSDL-based Job Descriptions saga::job_description jd; jd.set_attribute ("Executable", "/bin/tail"); jd.set_attribute ("Arguments", "-n, 20, -f, all.log"); jd.set_attribute ("Environment", "TMPDIR=/tmp/"); jd.set_attribute ("WorkingDirectory", "data/"); jd.set_attribute ("FileTransfer", "last.log >> all.log"); jd.set_attribute ("Cleanup", "False"); 30
31 SAGA Job Description Attributes 31
32 Name Spaces Management of entities in name spaces Files, replicas, information, resources, steering parameters, checkpoints... Manages hierarchy (mkdir, cd, ls,...) Managed entries are opaque (copy, move, delete...) 32
33 Files Implements name space interface POSIX oriented: read, write, seek Grid (not so simple) optimizations: Scattered I/O Pattern based I/O Extended I/O (a la GridFTP) 33
34 Replicas Implements name space interface, adds name space entries O/REP oriented: list, add, remove replicas, manage meta data Grid optimizations are hidden (replica placement, consistency,...) 34
35 Name Spaces saga::ns_dir dir ("gridftp://remote.host.net//data/"); if ( dir.is_entry ("a") &&! dir.is_dir ("a") ) { dir.copy ("a", "../b"); dir.link ("../b", "a", Overwrite); } list <string> names = dir.find ("*-{123}.text."); saga::ns_dir tmp = dir.open_dir ("tmp/", DeReference); saga::ns_entry entry = dir.open ("tmp/data.txt"); entry.copy ("data.bak", Overwrite); 35
36 Files saga::file f ("gridftp://remote.host.net/data/data.bin"); char buf[100]; if ( f.get_size () >= 223 ) { int pos = f.seek (123, Current); int len = f.read (saga::buffer (buf), 100); } 36
37 Tasks: sync and async operations saga::file file ("gsiftp://remote.host.net/data/data.bin"); // normal, synchronous file.copy ("data.bak"); // async versions saga::task t1 = file.copy <saga::task::sync> ("data.bak.1"); saga::task t2 = file.copy <saga::task::async> ("data.bak.2"); saga::task t3 = file.copy <saga::task::task> ("data.bak.3"); // t1: Done // t2: Running // t3: New 37
38 Tasks: getting results saga::file file ("gsiftp://remote.host.net/data/data.bin"); // normal, synchronous ssize_t size_0 = file.get_size (); // async versions saga::task <ssize_t> t1 = file.get_size <saga::task::sync> (); saga::task <ssize_t> t2 = file.get_size <saga::task::async> (); saga::task <ssize_t> t3 = file.get_size <saga::task::task> (); // wait... ssize_t size_1 = t1.get_result (); ssize_t size_2 = t2.get_result (); ssize_t size_3 = t3.get_result (); 38
39 Upcoming API Extensions MessageBus Structured data transfer, also many-to-many Service Discovery Based on GLUE schema Adverts Persistent storage of application-level data Checkpointing/Recovery Based on GridCPR 39
40 Implementations (late) 2007 LSU/VUA: C++ engine Local, GT4/preWS, OMII-UK GridSAM, XtreemOS LSU: C++ light Local, GT4/preWS, OMII-UK GridSAM LSU: C, Perl, Python, Fortran Wrappers for C++ engine 40
41 Implementations (late) 2007 VUA: Java engine Local, GT2/3/4, ssh, OMII-UK GridSAM, XtreemOS, PBS, SGE, glite(?) (many via Java-GAT) DEISA: Java library DEISA (Unicore) files and jobs NAREGI: Java library NAREGI services 41
42 Other Implementations UVa: Genesis-II adaptors for Java IN2P3 (Lyon) JSAGA (interoperability) Others we are not aware of? 42
An Introduction to the Simple API for Grid Applications (SAGA)
An Introduction to the Simple API for Grid Applications (SAGA) Thilo Kielmann VU University, Amsterdam kielmann@cs.vu.nl XtreemOS is funded by the European Commission under contract IST-FP6-033576 Outline
More informationGrid Application Toolkits
Grid Application Toolkits Abstracting the Grid for Application Programmers Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/~gallen/teaching 9/6/2007 1 Outline Why do we need Grids? What Grid
More informationIntroduction to the SAGA API
Introduction to the SAGA API Outline SAGA Standardization API Structure and Scope (C++) API Walkthrough SAGA SoftwareComponents Command Line Tools Python API bindings C++ API bindings [ Java API bindings
More informationThe Simple API for Grid Applications (SAGA)
The Simple API for Grid Applications (SAGA) Thilo Kielmann Vrije Universiteit, Amsterdam kielmann@cs.vu.nl A Grid Application Execution Scenario Functional Properties of a Grid API What applications need
More informationHow to build Scientific Gateways with Vine Toolkit and Liferay/GridSphere framework
How to build Scientific Gateways with Vine Toolkit and Liferay/GridSphere framework Piotr Dziubecki, Piotr Grabowski, Michał Krysiński, Tomasz Kuczyński, Dawid Szejnfeld, Dominik Tarnawczyk, Gosia Wolniewicz
More informationA Simple API for Grid Applications (SAGA)
GFD-R-P.90 Tom Goodale, Cardiff SAGA-CORE-WG Shantenu Jha, UCL 1 Hartmut Kaiser, LSU Thilo Kielmann, VU 1 Pascal Kleijer, NEC Andre Merzky, VU/LSU 1 John Shalf, LBNL Christopher Smith, Platform January
More informationGROWL Scripts and Web Services
GROWL Scripts and Web Services Grid Technology Group E-Science Centre r.j.allan@dl.ac.uk GROWL Collaborative project (JISC VRE I programme) between CCLRC Daresbury Laboratory and the Universities of Cambridge
More informationSAGA: A Simple API for Grid Applications. High-level application programming on the Grid
COMPUTATIONAL METHODS IN SCIENCE AND TECHNOLOGY 12(1), 7-20 (2006) SAGA: A Simple API for Grid Applications. High-level application programming on the Grid Tom Goodale 1, 2, Shantenu Jha 3, Hartmut Kaiser
More informationGrid Programming: Concepts and Challenges. Michael Rokitka CSE510B 10/2007
Grid Programming: Concepts and Challenges Michael Rokitka SUNY@Buffalo CSE510B 10/2007 Issues Due to Heterogeneous Hardware level Environment Different architectures, chipsets, execution speeds Software
More informationGrid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen
Grid Computing 7700 Fall 2005 Lecture 5: Grid Architecture and Globus Gabrielle Allen allen@bit.csc.lsu.edu http://www.cct.lsu.edu/~gallen Concrete Example I have a source file Main.F on machine A, an
More informationCSE 333 SECTION 3. POSIX I/O Functions
CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight Exercise 7 due Monday (out later today) POSIX Portable Operating System Interface Family of standards specified by the
More informationSAGA: A Simple API for Grid Applications High-Level Application Programming on the Grid
COMPUTATIONAL METHODS IN SCIENCE AND TECHNOLOGY 1 SAGA: A Simple API for Grid Applications High-Level Application Programming on the Grid Tom Goodale, Shantenu Jha, Hartmut Kaiser, Thilo Kielmann, Pascal
More informationInteroperable job submission and management with GridSAM, JMEA, and UNICORE
Available online at http://www.ges2007.de This document is under the terms of the CC-BY-NC-ND Creative Commons Attribution Interoperable job submission and management with GridSAM, JMEA, and UNICORE D.
More informationIndependent Software Vendors (ISV) Remote Computing Usage Primer
GFD-I.141 ISV Remote Computing Usage Primer Authors: Steven Newhouse, Microsoft Andrew Grimshaw, University of Virginia 7 October, 2008 Independent Software Vendors (ISV) Remote Computing Usage Primer
More informationIbis as Master Key. Niels Drost. Computer Systems Group Department of Computer Science VU University, Amsterdam, The Netherlands
Ibis as Master Key Niels Drost Computer Systems Group Department of Computer Science VU University, Amsterdam, The Netherlands Today s Program 10.00: Introduction 11.00: Ibis as Master Key 12.00: Lunch
More informationWorkflow, Planning and Performance Information, information, information Dr Andrew Stephen M c Gough
Workflow, Planning and Performance Information, information, information Dr Andrew Stephen M c Gough Technical Coordinator London e-science Centre Imperial College London 17 th March 2006 Outline Where
More informationSAGA-Python Documentation
SAGA-Python Documentation Release v0.29 The SAGA Project July 13, 2015 Contents 1 Contents: 3 1.1 Installation and Usage.......................................... 3 1.2 Tutorial..................................................
More informationDeliverable D8.9 - First release of DM services
GridLab - A Grid Application Toolkit and Testbed Deliverable D8.9 - First release of DM services Author(s): Document Filename: Work package: Partner(s): Lead Partner: Config ID: Document classification:
More informationEGEE and Interoperation
EGEE and Interoperation Laurence Field CERN-IT-GD ISGC 2008 www.eu-egee.org EGEE and glite are registered trademarks Overview The grid problem definition GLite and EGEE The interoperability problem The
More informationThe Grid Application Toolkit: Towards Generic and Easy Application Programming Interfaces for the Grid
PROCEEDINGS OF THE IEEE 1 The Grid Application Toolkit: Towards Generic and Easy Application Programming Interfaces for the Grid Gabrielle Allen, Kelly Davis, Tom Goodale, Andrei Hutanu, Hartmut Kaiser,
More informationSection 3: File I/O, JSON, Generics. Meghan Cowan
Section 3: File I/O, JSON, Generics Meghan Cowan POSIX Family of standards specified by the IEEE Maintains compatibility across variants of Unix-like OS Defines API and standards for basic I/O: file, terminal
More informationSystems Programming. COSC Software Tools. Systems Programming. High-Level vs. Low-Level. High-Level vs. Low-Level.
Systems Programming COSC 2031 - Software Tools Systems Programming (K+R Ch. 7, G+A Ch. 12) The interfaces we use to work with the operating system In this case: Unix Programming at a lower-level Systems
More informationHow do we define pointers? Memory allocation. Syntax. Notes. Pointers to variables. Pointers to structures. Pointers to functions. Notes.
, 1 / 33, Summer 2010 Department of Computer Science and Engineering York University Toronto June 15, 2010 Table of contents, 2 / 33 1 2 3 Exam, 4 / 33 You did well Standard input processing Testing Debugging
More informationHyo-bong Son Computer Systems Laboratory Sungkyunkwan University
File I/O Hyo-bong Son (proshb@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Unix Files A Unix file is a sequence of m bytes: B 0, B 1,..., B k,..., B m-1 All I/O
More informationCSE 333 SECTION 3. POSIX I/O Functions
CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight HW2 Due Thursday, July 19 th Midterm on Monday, July 23 th 10:50-11:50 in TBD (And regular exercises in between) POSIX
More informationFiles and the Filesystems. Linux Files
Files and the Filesystems Linux Files The file is the most basic and fundamental abstraction in Linux. Linux follows the everything-is-a-file philosophy. Consequently, much interaction occurs via reading
More informationGrid Scheduling Architectures with Globus
Grid Scheduling Architectures with Workshop on Scheduling WS 07 Cetraro, Italy July 28, 2007 Ignacio Martin Llorente Distributed Systems Architecture Group Universidad Complutense de Madrid 1/38 Contents
More informationEasy Access to Grid Infrastructures
Easy Access to Grid Infrastructures Dr. Harald Kornmayer (NEC Laboratories Europe) On behalf of the g-eclipse consortium WP11 Grid Workshop Grenoble, France 09 th of December 2008 Background in astro particle
More informationCMPSC 311- Introduction to Systems Programming Module: Input/Output
CMPSC 311- Introduction to Systems Programming Module: Input/Output Professor Patrick McDaniel Fall 2014 Input/Out Input/output is the process of moving bytes into and out of the process space. terminal/keyboard
More informationOperating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line
Operating Systems Lecture 06 System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line March 04, 2013 exec() Typically the exec system call is
More informationOverview Job Management OpenVZ Conclusions. XtreemOS. Surbhi Chitre. IRISA, Rennes, France. July 7, Surbhi Chitre XtreemOS 1 / 55
XtreemOS Surbhi Chitre IRISA, Rennes, France July 7, 2009 Surbhi Chitre XtreemOS 1 / 55 Surbhi Chitre XtreemOS 2 / 55 Outline What is XtreemOS What features does it provide in XtreemOS How is it new and
More informationOperating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst
Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Clicker Question #1 For a sequential workload, the limiting factor for a disk system is likely: (A) The speed of
More informationCMSC 216 Introduction to Computer Systems Lecture 17 Process Control and System-Level I/O
CMSC 216 Introduction to Computer Systems Lecture 17 Process Control and System-Level I/O Sections 8.2-8.5, Bryant and O'Hallaron PROCESS CONTROL (CONT.) CMSC 216 - Wood, Sussman, Herman, Plane 2 Signals
More informationProgramming Abstractions for Clouds. August 18, Abstract
Programming Abstractions for Clouds Shantenu Jha 12, Andre Merzky 1, Geoffrey Fox 34 1 Center for Computation and Technology, Louisiana State University 2 Department of Computer Science, Louisiana State
More informationGlueing Grids and Clouds together: A Service-Oriented Approach
Int. J., Vol. x, No. x, xxxx 1 Glueing Grids and Clouds together: A Service-Oriented Approach Ashiq Anjum 1, Richard Hill 1, Richard McClatchey 2, Nik Bessis 1, Andrew Branson 2 1 School of Computing &
More informationDigging into the GAT API
Digging into the GAT API Comparing C, C++ and Python API s Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/~gallen/teaching Digging into the GAT API Design Principles Object orientation Derivation,
More informationGrid Compute Resources and Job Management
Grid Compute Resources and Job Management How do we access the grid? Command line with tools that you'll use Specialised applications Ex: Write a program to process images that sends data to run on the
More informationSAGA API Extension: Service Discovery API
GFD-R-P.144 SAGA-WG Steve Fisher, Antony Wilson and Arumugam Paventhan Rutherford Appleton Laboratory, UK March 3 2009 Version: 1.1 Revised August 25, 2009 SAGA API Extension: Service Discovery API Status
More informationUNIX input and output
UNIX input and output Disk files In UNIX a disk file is a finite sequence of bytes, usually stored on some nonvolatile medium. Disk files have names, which are called paths. We won t discuss file naming
More informationWe recommend you cite the published version. The publisher s URL is:
Anjum, A., Hill, R., McClatchey, R., Branson, A. and Bessis, N. (2012) Glueing grids and clouds together: A service-oriented approach. International Journal of Web and Grid Services, 8 (3). pp. 248-265.
More informationGrid Middleware and Globus Toolkit Architecture
Grid Middleware and Globus Toolkit Architecture Lisa Childers Argonne National Laboratory University of Chicago 2 Overview Grid Middleware The problem: supporting Virtual Organizations equirements Capabilities
More informationPreview. System Call. System Call. System Call. System Call. Library Functions 9/20/2018. System Call
Preview File Descriptors for a Process for Managing Files write read open close lseek A system call is a request for the operating system to do something on behalf of the user's program. The system calls
More informationThe GAT Adapter to use GT4 RFT
The GAT Adapter to use GT4 RFT Mehmet Balman, Santiago Pena, Theresa Xu CCT, Johnston Hall Louisiana State University, Baton Rouge, LA 70803 December 14, 2005 Introduction We designed a GAT [1] external
More informationCloud Computing. Up until now
Cloud Computing Lecture 4 and 5 Grid: 2012-2013 Introduction. Up until now Definition of Cloud Computing. Grid Computing: Schedulers: Condor SGE 1 Summary Core Grid: Toolkit Condor-G Grid: Conceptual Architecture
More informationCSC 271 Software I: Utilities and Internals
CSC 271 Software I: Utilities and Internals Lecture 13 : An Introduction to File I/O in Linux File Descriptors All system calls for I/O operations refer to open files using a file descriptor (a nonnegative
More informationGrid Compute Resources and Grid Job Management
Grid Compute Resources and Job Management March 24-25, 2007 Grid Job Management 1 Job and compute resource management! This module is about running jobs on remote compute resources March 24-25, 2007 Grid
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto For more information please consult Advanced Programming in the UNIX Environment, 3rd Edition, W. Richard Stevens and
More information30 Nov Dec Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy
Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy Why the Grid? Science is becoming increasingly digital and needs to deal with increasing amounts of
More informationFiles and Directories Filesystems from a user s perspective
Files and Directories Filesystems from a user s perspective Unix Filesystems Seminar Alexander Holupirek Database and Information Systems Group Department of Computer & Information Science University of
More informationGrid Computing Middleware. Definitions & functions Middleware components Globus glite
Seminar Review 1 Topics Grid Computing Middleware Grid Resource Management Grid Computing Security Applications of SOA and Web Services Semantic Grid Grid & E-Science Grid Economics Cloud Computing 2 Grid
More informationGrid Architectural Models
Grid Architectural Models Computational Grids - A computational Grid aggregates the processing power from a distributed collection of systems - This type of Grid is primarily composed of low powered computers
More informationThe Grid Application Toolkit: Toward Generic and Easy Application Programming Interfaces for the Grid
The Grid Application Toolkit: Toward Generic and Easy Application Programming Interfaces for the Grid GABRIELLE ALLEN, KELLY DAVIS, TOM GOODALE, ANDREI HUTANU, HARTMUT KAISER, THILO KIELMANN, ANDRÉ MERZKY,
More informationIntroduction. Kelly Davis. MPI-AEI. Author s name
Introduction Kelly Davis kdavis@aei.mpg.de MPI-AEI Table of Contents Introduction Why GAT? Installation Hello Cruel World GAT Object Model File Management FileStream Management LogicalFile Management Advert
More informationGatlet - a Grid Portal Framework
Gatlet - a Grid Portal Framework Stefan Bozic stefan.bozic@kit.edu STEINBUCH CENTRE FOR COMPUTING - SCC KIT University of the State of Baden-Württemberg and National Laboratory of the Helmholtz Association
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More informationDistributed Systems. Hajussüsteemid MTAT Distributed File Systems. (slides: adopted from Meelis Roos DS12 course) 1/15
Hajussüsteemid MTAT.08.024 Distributed Systems Distributed File Systems (slides: adopted from Meelis Roos DS12 course) 1/15 Distributed File Systems (DFS) Background Naming and transparency Remote file
More informationPOSIX Shared Memory. Linux/UNIX IPC Programming. Outline. Michael Kerrisk, man7.org c 2017 November 2017
Linux/UNIX IPC Programming POSIX Shared Memory Michael Kerrisk, man7.org c 2017 mtk@man7.org November 2017 Outline 10 POSIX Shared Memory 10-1 10.1 Overview 10-3 10.2 Creating and opening shared memory
More informationFILE SYSTEMS. Jo, Heeseung
FILE SYSTEMS Jo, Heeseung TODAY'S TOPICS File system basics Directory structure File system mounting File sharing Protection 2 BASIC CONCEPTS Requirements for long-term information storage Store a very
More informationOutline. OS Interface to Devices. System Input/Output. CSCI 4061 Introduction to Operating Systems. System I/O and Files. Instructor: Abhishek Chandra
Outline CSCI 6 Introduction to Operating Systems System I/O and Files File I/O operations File Descriptors and redirection Pipes and FIFOs Instructor: Abhishek Chandra 2 System Input/Output Hardware devices:
More informationCSE 410: Systems Programming
CSE 410: Systems Programming Input and Output Ethan Blanton Department of Computer Science and Engineering University at Buffalo I/O Kernel Services We have seen some text I/O using the C Standard Library.
More informationInter-Process Communications (IPC)
ICS332 Operating Systems Fall 2017 Communicating Processes? So far we have seen independent processes Each process runs code independently Parents and aware of their children, and children are aware of
More informationLecture 3. Introduction to Unix Systems Programming: Unix File I/O System Calls
Lecture 3 Introduction to Unix Systems Programming: Unix File I/O System Calls 1 Unix File I/O 2 Unix System Calls System calls are low level functions the operating system makes available to applications
More informationA Simple Mass Storage System for the SRB Data Grid
A Simple Mass Storage System for the SRB Data Grid Michael Wan, Arcot Rajasekar, Reagan Moore, Phil Andrews San Diego Supercomputer Center SDSC/UCSD/NPACI Outline Motivations for implementing a Mass Storage
More informationCreating a Shell or Command Interperter Program CSCI411 Lab
Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell
More informationCSE 333 Final Exam June 6, 2017 Sample Solution
Question 1. (24 points) Some C and POSIX I/O programming. Given an int file descriptor returned by open(), write a C function ReadFile that reads the entire file designated by that file descriptor and
More informationGetting Started with XSEDE Andrew Grimshaw and Karolina Sarnowska- Upton
January 10, 2012 Getting Started with XSEDE Andrew Grimshaw and Karolina Sarnowska- Upton Audience End users and developers who want to Access and use NSF funded XSEDE compute, data, and storage resources
More informationGrid Services and the Globus Toolkit
Grid Services and the Globus Toolkit Lisa Childers childers@mcs.anl.gov The Globus Alliance Copyright (C) 2003 University of Chicago and The University of Southern California. All Rights Reserved. This
More informationGridWay interoperability through BES
interoperability through BES EGI Technical Congreso Forum 2012 Prague, Cuidad, Czech Spain Republic September May 15, 17-21, 20072012 Dr Ismael Marín Carrión 1, Dr Eduardo Huedo 1, Dr Stephen Crouch 2,
More informationSummer June 15, 2010
Summer 2010 Department of omputer Science and Engineering York University Toronto June 15, 2010 1 / 33 Table of contents 1 2 3 2 / 33 Plan 1 2 3 3 / 33 Exam summary You did well Standard input processing
More informationJuliusz Pukacki OGF25 - Grid technologies in e-health Catania, 2-6 March 2009
Grid Technologies for Cancer Research in the ACGT Project Juliusz Pukacki (pukacki@man.poznan.pl) OGF25 - Grid technologies in e-health Catania, 2-6 March 2009 Outline ACGT project ACGT architecture Layers
More informationTCSS 422: OPERATING SYSTEMS
TCSS 422: OPERATING SYSTEMS fork() Process API, Limited Direct Execution Wes J. Lloyd Institute of Technology University of Washington - Tacoma Creates a new process - think of a fork in the road Parent
More informationlibxcpc(3) Exception and resource handling in C libxcpc(3)
NAME xcpc_set_exitproc, xcpc_push_tryctx, xcpc_pop_tryctx, xcpc_do_throw, xcpc_do_rethrow, xcpc_context_create, xcpc_context_reparent, xcpc_context_free, xcpc_context_parent, xcpc_context_root, xcpc_context_exhandler,
More informationComputational Steering
Computational Steering Nate Woody 10/13/2009 www.cac.cornell.edu 1 Lab Materials I ve placed some sample code in ~train100 that performs the operations that I ll demonstrate during this talk. We ll walk
More informationGrid Programming Models: Current Tools, Issues and Directions. Computer Systems Research Department The Aerospace Corporation, P.O.
Grid Programming Models: Current Tools, Issues and Directions Craig Lee Computer Systems Research Department The Aerospace Corporation, P.O. Box 92957 El Segundo, CA USA lee@aero.org Domenico Talia DEIS
More informationGanga The Job Submission Tool. WeiLong Ueng
Ganga The Job Submission Tool WeiLong Ueng wlueng@twgrid.org Objectives This tutorial gives users to understand Why require Ganga in Grid environment What advantages of Ganga The Architecture of Ganga
More informationAMGA metadata catalogue system
AMGA metadata catalogue system Hurng-Chun Lee ACGrid School, Hanoi, Vietnam www.eu-egee.org EGEE and glite are registered trademarks Outline AMGA overview AMGA Background and Motivation for AMGA Interface,
More informationUEE1303(1070) S12: Object-Oriented Programming Operator Overloading and Function Overloading
UEE1303(1070) S12: Object-Oriented Programming Operator Overloading and Function Overloading What you will learn from Lab 7 In this laboratory, you will learn how to use operator overloading and function
More informationSCIRun: Module Development Basics
SCIRun: Module Development Basics CIBC/NEU Workshop 2012 http://bit.ly/scirundevworkshop Goals Take you from "Hello World" in SCIRun to being able to develop an interesting module. Learn some software
More informationGlobus Toolkit Manoj Soni SENG, CDAC. 20 th & 21 th Nov 2008 GGOA Workshop 08 Bangalore
Globus Toolkit 4.0.7 Manoj Soni SENG, CDAC 1 What is Globus Toolkit? The Globus Toolkit is an open source software toolkit used for building Grid systems and applications. It is being developed by the
More informationSAGA API Extension: Message API
GWD-R-P.178 SAGA-RG Andre Merzky CCT/LSU Version: 1.0 March 16, 2011 SAGA API Extension: Message API Status of This Document This document provides information to the grid community, proposing a standard
More informationComputational Steering
Computational Steering Nate Woody 10/23/2008 www.cac.cornell.edu 1 What is computational steering? Generally, computational steering can be thought of as a method (or set of methods) for providing interactivity
More informationAgenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures
The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF
More informationFast Introduction to Object Oriented Programming and C++
Fast Introduction to Object Oriented Programming and C++ Daniel G. Aliaga Note: a compilation of slides from Jacques de Wet, Ohio State University, Chad Willwerth, and Daniel Aliaga. Outline Programming
More informationW4118: OS Overview. Junfeng Yang
W4118: OS Overview Junfeng Yang References: Modern Operating Systems (3 rd edition), Operating Systems Concepts (8 th edition), previous W4118, and OS at MIT, Stanford, and UWisc Outline OS definitions
More informationXSEDE Architecture. Level 1 and 2 Decomposition. Prepared by: Felix Bachmann Ian Foster Andrew Grimshaw Dave Lifka Morris Riedel Steve Tuecke
XSEDE Architecture Level 1 and 2 Decomposition Prepared by: Felix Bachmann Ian Foster Andrew Grimshaw Dave Lifka Morris Riedel Steve Tuecke February 21, 2012 Version 1 i Abstract This document presents
More informationCS240: Programming in C
CS240: Programming in C Lecture 15: Unix interface: low-level interface Cristina Nita-Rotaru Lecture 15/Fall 2013 1 Streams Recap Higher-level interface, layered on top of the primitive file descriptor
More informationMPI 1. CSCI 4850/5850 High-Performance Computing Spring 2018
MPI 1 CSCI 4850/5850 High-Performance Computing Spring 2018 Tae-Hyuk (Ted) Ahn Department of Computer Science Program of Bioinformatics and Computational Biology Saint Louis University Learning Objectives
More informationEvolution of Programming Languages
Evolution of Programming Languages 40's machine level raw binary 50's assembly language names for instructions and addresses very specific to each machine 60's high-level languages: Fortran, Cobol, Algol,
More informationFall 2017 :: CSE 306. File Systems Basics. Nima Honarmand
File Systems Basics Nima Honarmand File and inode File: user-level abstraction of storage (and other) devices Sequence of bytes inode: internal OS data structure representing a file inode stands for index
More informationREsources linkage for E-scIence - RENKEI -
REsources linkage for E-scIence - - hlp://www.e- sciren.org/ REsources linkage for E- science () is a research and development project for new middleware technologies to enable e- science communi?es. ""
More informationMap-Reduce. Marco Mura 2010 March, 31th
Map-Reduce Marco Mura (mura@di.unipi.it) 2010 March, 31th This paper is a note from the 2009-2010 course Strumenti di programmazione per sistemi paralleli e distribuiti and it s based by the lessons of
More informationFile Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
File Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3044: Operating Systems, Fall 2016, Jinkyu Jeong (jinkyu@skku.edu) File System Layers
More informationTHE GLOBUS PROJECT. White Paper. GridFTP. Universal Data Transfer for the Grid
THE GLOBUS PROJECT White Paper GridFTP Universal Data Transfer for the Grid WHITE PAPER GridFTP Universal Data Transfer for the Grid September 5, 2000 Copyright 2000, The University of Chicago and The
More informationCOSC 6397 Big Data Analytics. Distributed File Systems (II) Edgar Gabriel Fall HDFS Basics
COSC 6397 Big Data Analytics Distributed File Systems (II) Edgar Gabriel Fall 2018 HDFS Basics An open-source implementation of Google File System Assume that node failure rate is high Assumes a small
More informationSystem- Level I/O. Andrew Case. Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron
System- Level I/O Andrew Case Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron 1 Unix I/O and Files UNIX abstracts many things into files (just a series of bytes) All I/O devices are represented
More informationOPEN SOURCE GRID MIDDLEWARE PACKAGES
3.Explain about Virtualization structure and show how virtualization is achieved in CPU,memory and I/O devices. 4.Explain in detail about Virtual clusters. 5.Explain how resource management is done in
More informationRCU. ò Walk through two system calls in some detail. ò Open and read. ò Too much code to cover all FS system calls. ò 3 Cases for a dentry:
Logical Diagram VFS, Continued Don Porter CSE 506 Binary Formats RCU Memory Management File System Memory Allocators System Calls Device Drivers Networking Threads User Today s Lecture Kernel Sync CPU
More informationVFS, Continued. Don Porter CSE 506
VFS, Continued Don Porter CSE 506 Logical Diagram Binary Formats Memory Allocators System Calls Threads User Today s Lecture Kernel RCU File System Networking Sync Memory Management Device Drivers CPU
More informationIntroduction to pthreads
CS 220: Introduction to Parallel Computing Introduction to pthreads Lecture 25 Threads In computing, a thread is the smallest schedulable unit of execution Your operating system has a scheduler that decides
More informationI/O OPERATIONS. UNIX Programming 2014 Fall by Euiseong Seo
I/O OPERATIONS UNIX Programming 2014 Fall by Euiseong Seo Files Files that contain a stream of bytes are called regular files Regular files can be any of followings ASCII text Data Executable code Shell
More information