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

Slides:



Advertisements
Similar presentations
The Anatomy of the Grid: An Integrated View of Grid Architecture Carl Kesselman USC/Information Sciences Institute Ian Foster, Steve Tuecke Argonne National.
Advertisements

Chapter 13 Review Questions
High Performance Computing Course Notes Grid Computing.
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
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.
The Grid Background and Architecture. 1. Keys to success for IT technologies Infrastructure Open Standards.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
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-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.
Globus Ian Foster and Carl Kesselman Argonne National Laboratory and University of Southern California
Emerging Research Dimensions in IT Security Dr. Salar H. Naqvi Senior Member IEEE Research Fellow, CoreGRID Network of Excellence European.
Course Instructor: Aisha Azeem
Grid Computing Net 535.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Network Architecture and Protocol Concepts. Network Architectures (1) The network provides one or more communication services to applications –A service.
A Networking Primer for Grid Computing Supplement to Module 1 1.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
DISTRIBUTED COMPUTING
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.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Dataset Caitlin Minteer & Kelly Clynes.
The Anatomy of the Grid: An Integrated View of Grid Architecture Ian Foster, Steve Tuecke Argonne National Laboratory The University of Chicago Carl Kesselman.
The Grid System Design Liu Xiangrui Beijing Institute of Technology.
The Globus Project: A Status Report Ian Foster Carl Kesselman
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.
Major Grid Computing Initatives Ian Foster Mathematics and Computer Science Division Argonne National Laboratory and Department of Computer Science The.
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.
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
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
The Globus Toolkit®: The Open Source Solution for Grid Computing
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Kemal Baykal Rasim Ismayilov
1 Observations on Architecture, Protocols, Services, APIs, SDKs, and the Role of the Grid Forum Ian Foster Carl Kesselman Steven Tuecke.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 I.Foster LCG Grid Technology: Introduction & Overview Ian Foster Argonne National Laboratory University of Chicago.
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
Rights Management for Shared Collections Storage Resource Broker Reagan W. Moore
Middleware and the Grid Steven Tuecke Mathematics and Computer Science Division Argonne National Laboratory.
The Globus Toolkit The Globus project was started by Ian Foster and Carl Kesselman from Argonne National Labs and USC respectively. The Globus toolkit.
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 With: Carl Kesselman, Steven Tuecke Thanks also to: Bill Johnston, Marty Humphrey, Rusty Lusk, Reagan Moore, and others

2 Overview 1. The Grid problem: controlled resource sharing in multi-institutional settings 2. Standards as a means of enabling sharing of code, resources, services 3. Aside: definition, role, and importance of protocols, services, SDKs, APIs, etc. 4. A “Grid Architecture”: a categorization of protocols, services, SDKs, and APIs 5. Questions for the Grid Forum

3 The Grid Problem u Grid R&D has its origins in high-end computing & metacomputing, but… u In practice, the “Grid problem” is about resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations –Lack of central control, omniscience, trust u Primary challenge: to enable, maintain, and control the sharing of resources to achieve a common goal

4 Examples of Virtual Organizations u Members of a scientific collaboration –E.g., NSF PACIs, IPG, NEESgrid, GriPhyN –Sharing: computers, storage, software, … u Application server provider + customers –Sharing: ASP computers u Participants in peer-to-peer network –E.g., Gnutella, Napster, Entropia, … –Sharing: resources on individual PCs Tremendous variety in scope, timescale, types of sharing, etc.

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 Creating Usable Grids: What are the Challenges? u Approaches to problem solving –Data Grids, distributed computing, peer- to-peer, collaboration grids, … u Structuring and writing programs –Abstractions, tools u Enabling resource sharing across distinct institutions –Resource discovery, access, reservation, allocation; authentication, authorization, policy; communication; fault detection and notification; …

7 What is the Role of Grid Forum in Enabling Grid Computing? 1. Information exchange, of course uExperiences, patterns, structures uUseful even if every application & Grid is a vertical “stovepipe” 2. Advocacy 3. Enabler of shared effort uIn code development: libraries, tools, … uVia resource sharing: shared Grids uIn infrastructure u Opinion: Long term, only the third is sufficiently compelling to justify GF

8 Q: How do we Enable Shared Effort? A: “Standards” are Required u To enable portability/sharing of code –E.g., MPI lets me write portable // programs u To enable resource sharing –E.g., IP lets my computer speak to yours u To enable shared infrastructure –E.g., X.509 lets me share Certificate Authorities u But what sorts of “standards”? –Variously, APIs/SDKs, protocols, syntax, … –Observe that these are sometimes confused, so let’s spend some time on definitions …

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

10 Resource u An entity that is to be shared –E.g., computers, storage, data, software u Does not have to be a physical entity –E.g., Condor pool, distributed file system, … u Defined in terms of interfaces, not devices –E.g. scheduler such as LSF and PBS define a compute resource –Open/close/read/write define access to a distributed file system, e.g. NFS, AFS, DFS

11 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., file system state change u Good protocols designed to do one thing –Protocols can be layered u Examples of protocols –IP, TCP, TLS (was SSL), HTTP, Kerberos

12 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

13 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 (security), MPI (message passing)

14 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

15 Syntax u Rules for encoding information, e.g. –XML, Condor ClassAds, Globus RSL –X.509 certificate format (RFC 2459) –Cryptographic Message Syntax (RFC 2630) u Distinct from protocols –One syntax may be used by many protocols (e.g., XML); & useful for other purposes u Syntaxes may be layered –E.g., Condor ClassAds -> XML -> ASCII –Important to understand layerings when comparing or evaluating syntaxes

16 A Protocol can have Multiple APIs E.g., TCP/IP u TCP/IP APIs include BSD sockets, Winsock, System V streams, … u The protocol provides interoperability: programs using different APIs can exchange information u I don’t need to know remote user’s API TCP/IP Protocol: Reliable byte streams WinSock APIBerkeley Sockets API Application

17 An API can have 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.

18 Back to Grids: The Programming & Systems Problems u Approaches to problem solving –Data Grids, distributed computing, peer- to-peer, collaboration grids, … u Structuring and writing programs –Abstractions, tools u Enabling resource sharing across distinct institutions –Resource discovery, access, reservation, allocation; authentication, authorization, policy; communication; fault detection and notification; … Programming Problem Systems Problem

19 Back to Grids: The Programming & Systems Problems u The programming problem –Facilitate development of sophisticated applns –Facilitate code sharing –Requires prog. envs: APIs, SDKs, tools u The systems problem –Facilitate coordinated use of diverse resources –Facilitate infrastructure sharing: e.g., certificate authorities, info services –Requires systems: protocols, services –E.g., port/service/protocol for accessing information, allocating resources

20 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/tool sharing to allow reuse of code components developed by others –E.g., MPI allows reuse of message passing –E.g., standard profilers, debuggers u Primary need is for standard programming environments: APIs and SDKs

21 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 u Need standard protocols, services, syntax

22 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)

23 Grid “Architecture” u We now proceed to analyze Grid systems with respect to standards 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

24 Layered Grid 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

25 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

26 An Aside on Terminology u Is this an “architecture” or just a “categorization” or “taxonomy”? –A matter of opinion (c.f. IAB: “Many members of the Internet community would argue that there is no architecture”) –Our opinion: it is somewhere in between, but is useful regardless u Becomes more architectural if/as we define “necessary” pieces at each level u Note that protocols says nothing about SDKs/APIs architecture (& vice versa)

27 Important Points u We build on Internet protocols –Communication, routing, name resolution, etc. u “Layering” here is conceptual, does not imply constraints on who can call what –Protocols/services/APIs/SDKs will, ideally, be largely self-contained –But some things are fundamental: e.g., communication and security –But, advantageous for higher-level functions to use common lower-level functions

28 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

29 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

30 Standards, Again: Intergrid Protocols and Grid APIs 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 –So, e.g., “standard Grid collaboration APIs”

31 Questions for the Grid Forum u Is the “Grid architecture” described here a useful framework? –Could it be made more useful? –Are there things that it fails to capture or misrepresents? u Would it be a useful discipline for us to try to place GF efforts in this context –E.g., be clear whether we are defining a protocol, service, API, SDK, syntax (or something else: which is fine, too) –E.g., explain (and argue about) where in the stack different pieces fit

32 Questions for the Grid Forum u Are some things easier, or more important, to standardize than others? –Protocols vs. APIs vs. syntax –Connectivity vs. resource vs. collective vs. user layer protocols/services/APIs/SDKs u I would suggest that –Items lower in the stack tend to have broader impact, but standards useful at all levels –Size of community effected (e.g., number of adopters) is the key figure of merit –We should ask explicitly for such an analysis as part of a WG charter

33 Questions for the Grid Forum u Can we define core “intergrid protocols”? –I.e., instantiate (lower) layers in the diagram –We have avoided it until now (implies choice) –Until we do, interoperability is difficult u Possible approaches –Avoid seeking consensus, instead standardize where it makes sense and where we can; rely on sense of “best practice” emerging –Or, create an architecture WG, charged with defining requirements for “core protocols”?? –I think latter is better, unsure if it can work

34 Summary u Grids are about [large-scale] sharing –Hence require standard protocols to enable interoperability and shared infrastructure –And, of course standard APIs and SDKs to enable portability & code sharing –Both important; but very different u Well defined architecture can help understanding & progress –Provides a framework for figuring out where the pieces fit –Facilitates asking questions such as “where are standards particularly important?”

35 Questions?