1 Observations on Architecture, Protocols, Services, APIs, SDKs, and the Role of the Grid Forum Ian Foster Carl Kesselman Steven Tuecke.

Slides:



Advertisements
Similar presentations
Tecnologia dei Servizi Grid e cloud computing - Lezione 002a 0 Lezione 2a - 14 ottobre 2009 Il materiale didattico usato in questo corso è stato mutuato.
Advertisements

The Anatomy of the Grid: An Integrated View of Grid Architecture Carl Kesselman USC/Information Sciences Institute Ian Foster, Steve Tuecke Argonne National.
High Performance Computing Course Notes Grid Computing.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
Condor-G: A Computation Management Agent for Multi-Institutional Grids James Frey, Todd Tannenbaum, Miron Livny, Ian Foster, Steven Tuecke Reporter: Fu-Jiun.
GridFTP Introduction – Page 1Grid Forum 5 GridFTP Steve Tuecke Argonne National Laboratory.
Resource Management of Grid Computing
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Distributed components
Tiziana FerrariAn Introduction to Grid Computing1 INFN – CNAF Corso di Laurea specialistica in Informatica Anno Acc. 2005/2006.
Introduction to Grid Computing The Globus Project™ Argonne National Laboratory USC Information Sciences Institute Copyright (c)
Introduction to GT3 The Globus Project™ Argonne National Laboratory USC Information Sciences Institute Copyright (C) 2003 University of Chicago and The.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Introduction and Overview “the grid” – a proposed distributed computing infrastructure for advanced science and engineering. Purpose: grid concept is motivated.
Computer Science Department 1 Load Balancing and Grid Computing David Finkel Computer Science Department Worcester Polytechnic Institute.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Milos Kobliha Alejandro Cimadevilla Luis de Alba Parallel Computing Seminar GROUP 12.
Globus Ian Foster and Carl Kesselman Argonne National Laboratory and University of Southern California
1 GRID D. Royo, O. Ardaiz, L. Díaz de Cerio, R. Meseguer, A. Gallardo, K. Sanjeevan Computer Architecture Department Universitat Politècnica de Catalunya.
Grid Computing Net 535.
A Networking Primer for Grid Computing Supplement to Module 1 1.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Dataset Caitlin Minteer & Kelly Clynes.
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
The Anatomy of the Grid: An Integrated View of Grid Architecture Ian Foster, Steve Tuecke Argonne National Laboratory The University of Chicago Carl Kesselman.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
The Globus Project: A Status Report Ian Foster Carl Kesselman
Web Services BOF This is a proposed new working group coming out of the Grid Computing Environments Research Group, as an outgrowth of their investigations.
The Anatomy of the Grid Mahdi Hamzeh Fall 2005 Class Presentation for the Parallel Processing Course. All figures and data are copyrights of their respective.
Virtual Data Grid Architecture Ewa Deelman, Ian Foster, Carl Kesselman, Miron Livny.
1 4/23/2007 Introduction to Grid computing Sunil Avutu Graduate Student Dept.of Computer Science.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
Perspectives on Grid Technology Ian Foster Argonne National Laboratory The University of Chicago.
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.
Ames Research CenterDivision 1 Information Power Grid (IPG) Overview Anthony Lisotta Computer Sciences Corporation NASA Ames May 2,
Grid Computing & Semantic Web. Grid Computing Proposed with the idea of electric power grid; Aims at integrating large-scale (global scale) computing.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
GRID ARCHITECTURE Chintan O.Patel. CS 551 Fall 2002 Workshop 1 Software Architectures 2 What is Grid ? "...a flexible, secure, coordinated resource- sharing.
Authors: Ronnie Julio Cole David
The Globus Toolkit®: The Open Source Solution for Grid Computing
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Kemal Baykal Rasim Ismayilov
Globus and PlanetLab Resource Management Solutions Compared M. Ripeanu, M. Bowman, J. Chase, I. Foster, M. Milenkovic Presented by Dionysis Logothetis.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
NeST: Network Storage John Bent, Venkateshwaran V Miron Livny, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau.
1 Observations on Architecture, Protocols, Services, APIs, SDKs, and the Role of the Grid Forum Ian Foster With: Carl Kesselman, Steven Tuecke Thanks also.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Globus —— Toolkits for Grid Computing
Grid Computing.
University of Technology
Grid Computing B.Ramamurthy 9/22/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Grid Services B.Ramamurthy 12/28/2018 B.Ramamurthy.
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
Introduction to Grid Technology
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Presentation transcript:

1 Observations on Architecture, Protocols, Services, APIs, SDKs, and the Role of the Grid Forum Ian Foster Carl Kesselman Steven Tuecke

2 Why this Talk? u Considerable progress over GF1-5 in terms of interest and understanding in Grid concepts u Seems timely to attempt to –Define the scope of the problem that we are tackling –Define a common vocabulary for describing components and activities

3 Overview 1. The Grid problem: controlled resource sharing in multi-institutional settings 2. Definition, role, and importance of protocols, services, SDKs, and APIs 3. A categorization of protocols, services, SDKs, and APIs in the Grid environment

4 The Grid Problem u Grid language has been driven by genesis from metacomputing, but… u In practice, the Grid is about resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations u Focus on how to enable, maintain, and control the sharing of resources to achieve a common goal

5 Universal Nature of the Grid Problem u “Sharing” fundamental in many settings –Application Service Providers, Storage Service Providers, etc.; Peer-to-peer computing; Distributed computing; Business to business; … u Sharing issues not adequately addressed by existing technologies –Sharing at a deep level, across broad ranges of resources and in a general way –E.g., user provides ASP with controlled access to their data on an SSP: how?? u Grid community has unique experience

6 Some Important Definitions u Resource u Network protocol u Network enabled service u Application Programmer Interface (API) u Software Development Kit (SDK) u Not discussed, but important: policies

7 Resource u Entity that is to be shared –Includes computers, storage, data, software u Does not have to be physical entity –Condor pool, distributed file system, … u Defined in terms of interfaces, not devices –E.g. LSF defines compute resource –Open/close/read/write defines access to a distributed file system, e.g. NFS, AFS, DFS

8 Network Protocol u A formal description of message formats and a set of rules for message exchange –Rules may define sequence of message exchanges –Protocol may define state-change in endpoint, e.g. state change u Good protocols designed to do one thing –Protocols can be layered u Examples of protocols –IP, TCP, TLS, HTTP, Kerberos

9 Network Enabled Services u Implementation of a protocol that defines a set of capabilities –Protocol defines interaction with service –All services require protocols –Not all protocols are used to provide services (e.g. IP, TLS) u Examples: FTP and Web servers Web Server IP Protocol TCP Protocol TLS Protocol HTTP Protocol FTP Server IP Protocol TCP Protocol FTP Protocol Telnet Protocol

10 Application Programmer Interface u A specification for a set of routines to facilitate application development –Refers to definition, not implementation, e.g. there are many implementations of MPI u Spec often language-specific (or IDL) –Routine name, number, order and type of arguments; mapping to language constructs –Behavior or function of routine u Examples –GSS API, MPI

11 Software Development Kit u A particular instantiation of an API u SDK consists of libraries and tools –Provides implementation of API specification u Can have multiple SDKs for an API u Examples of SDKs –MPICH, Motif Widgets

12 Multiple APIs but a Single Protocol Example: TCP/IP u Multiple APIs: BSD sockets, Winsock, System V streams, … u Different programs use different APIs u Interoperability: programs using different APIs can exchange information TCP/IP Protocol: Reliable byte streams WinSock APIBerkeley Sockets API Application

13 Single API, but Multiple Protocols E.g., Message Passing Interface u MPI provides portability: any correct program compiles & runs on a platform u Does not provide interoperability: all processes must link against same SDK –E.g., MPICH and LAM versions of MPI Application MPI API LAM SDK LAM protocol MPICH-P4 SDK MPICH-P4 protocol TCP/IP Different message formats, exchange sequences, etc.

14 Back to Grids: The Programming & Systems Problems u The programming problem –Making it easy to develop sophisticated applications –Requires programming environments: APIs, SDKs, tools u The systems problem –Facilitating coordinated use of diverse resources; sharing infrastructure –Requires systems: protocols and services u “Standards” can help in both cases: but in different ways

15 I.e., Standard APIs and Protocols are Both Important: For Different Reasons u Standard APIs/SDKs are important –They enable application portability –But w/o standard protocols, interoperability is hard (every SDK speaks every protocol?) u Standard protocols are important –Enable cross-site interoperability –Enable shared infrastructure –But w/o standard APIs/SDKs, application portability is hard (different platforms access protocols in different ways)

16 Grid Architecture u We now proceed to analyze Grid systems with respect to sharing u Identify key areas where protocols, services, APIs, and SDKs can occur u Result is a layered protocol architecture u We assert this can be useful as a means of describing and structuring Grid Forum activities

17 Layered Grid Protocol Architecture (By Analogy to Internet Architecture) Application Fabric “Controlling things locally”: Access to, & control of, resources Connectivity “Talking to things”: communication (Internet protocols) & security Resource “Sharing single resources”: negotiating access, controlling use Collective “Managing multiple resources”: ubiquitous infrastructure services User “Specialized services”: user- or appln-specific distributed services Internet Transport Application Link Internet Protocol Architecture

18 Protocols, Services, and Interfaces Occur at Each Level Languages/Frameworks Fabric Layer Applications Local Access APIs and Protocols Collective Service APIs and SDKs Collective Services Collective Service Protocols Resource APIs and SDKs Resource Services Resource Service Protocols User Service Protocols User Service APIs and SDKs User Services Connectivity APIs Connectivity Protocols

19 Compute Resource SDK API Access Protocol Source Code Repository SDK API Lookup Protocol Example: User Portal Web Portal Source code discovery, application configuration Brokering, co-allocation, certificate authorities Access to data, access to computers, access to network performance data Communication, service discovery (DNS), authentication, authorization, delegation Storage systems, schedulers User Appln Collective Resource Connect Fabric

20 Compute Resource SDK API Access Protocol Checkpoint Repository SDK API C-point Protocol Example: High-Throughput Computing System High Throughput Computing System Dynamic checkpoint, job management, failover, staging Brokering, certificate authorities Access to data, access to computers, access to network performance data Communication, service discovery (DNS), authentication, authorization, delegation Storage systems, schedulers User Appln Collective Resource Connect Fabric

21 Important Points u We build on Internet protocols u One or many protocols? –No one “right” protocol for any one function –But: interoperability requires that we define and commit to core “Intergrid” protocols –Definition: “A resource is Grid-enabled if it speaks Intergrid protocols” u One or many APIs and SDKs? –Many APIs, SDKs, programming models can target Intergrid protocols –But: code sharing requires standards

22 Summary u Grids are about [large-scale] sharing –Hence require standard protocols to enable interoperability and shared infrastructure –As well as, of course, standard APIs and SDKs to enable portability & code sharing u Well defined protocol architecture is essential to understanding & progress –Provides a framework for figuring out where the pieces fit

23

24 Additional Slides

25 Back to Grids u Grid applications are complex and multifaceted –Need to develop abstractions –Need to be able to share code u Grids are multi-organizational –Heterogeneous in systems, policy, mechanisms –Need to be able to share resources u “Standards” are the vehicle by which sharing occurs

26 “Standards Enable Sharing” -- But of What, and How? u Of code & abstractions –Via SDKs, APIs –E.g.: MPI u Of infrastructure services –Via protocols, policies –E.g.: GIS, CA u Of resources –Via protocols, policies –E.g., TCP/IP, TLS App 1 SDK App 2 SDK App 1App 2 CAGIS App TCP/IP TLS Site 1Site 2

27 Aspects of the Programming Problem u Need for abstractions and models to add to speed/robustness/etc. of development –E.g., OO abstractions, MPI for messaging u Need for code sharing to allow reuse of code components developed by others –E.g., MPI allows reuse of message passing u Need for tool sharing to allow reuse of tools developed by others –E.g., standard debuggers

28 Aspects of the Systems Problem u Need for interoperability when different groups want to share resources –Diverse components, policies, mechanisms –E.g., standard notions of identity, means of communication, resource descriptions u Need for shared infrastructure services to avoid repeated development, installation –E.g., one port/service for remote access to computing, not one per tool/application –E.g., Certificate Authorities: expensive to run