1 of 33

Grid Computing Architectures

Noman Islam

k060991@nu.edu.pk

2 of 33

References

  • ‘The Anatomy of the Grid: Enabling Scalable Virtual Organizations’, I. Foster, C. Kesselman, S. Tuecke. International J. Supercomputer Applications
  • The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration’, I. Foster, C. Kesselman, J. Nick, S. Tuecke, Open Grid Service Infrastructure Working Group, Global Grid Forum, June 22, 2002

3 of 33

  • ‘The Anatomy of the Grid: Enabling Scalable Virtual Organizations’, I. Foster, C. Kesselman, S. Tuecke. International J. Supercomputer Applications

    • Justifies the need for Grid Computing Technology
    • Presents an open generalized Grid Computing Architecture
    • Perspectives on Grid

4 of 33

Introduction to Grid

  • Coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations
  • Current Distributed Computing Environments doesn’t address VO requirements well:
    • Internet – addresses only communication
    • EJB, CORBA – resource sharing with in single organization
    • ASP, SSP – outsource storage and computing only in a constrained way using VPN

5 of 33

A Layered Grid Architecture

6 of 33

Fabric Layer

  • Implements the local, resource specific operations that occur on specific resource
  • At a minimum enquiry and resource management mechanisms
    • Computational Resources – start/stop/monitor programs, enquire about hardware /software characteristics, state information (current queue state etc.)
    • Storage Resources - putting / getting files, enquire about available space et.
    • Network Resources – enquire about network characteristics / load, QoS control
    • Code Repositories – mechanism for managing versioned source and object code
    • Catalogs – implementing catalog query and update operations

7 of 33

Connectivity Layer

  • Core communication and authentication protocols required for Grid-specific network transactions
  • Communication requirements include transport, routing, and naming
  • The Internet (IP and ICMP), transport (TCP, UDP), and application (DNS, OSPF,RSVP, etc.) layers of the Internet layered protocol architecture can be used

8 of 33

Connectivity Layer – contd…

  • Many of the security standards developed within the context of the Internet protocol suite are applicable
    • Single sign on. Users must be able to “log on” (authenticate) just once and then have access to multiple Grid resources defined in the Fabric layer, without further user intervention
    • Delegation. A user must be able to endow a program with the ability to run on that user’s behalf, so that the program is able to access the resources on which the user is authorized
    • Integration with various local security solutions like Kerberos don’t ask for realistically wholesale replacement of local security solutions but rather must allow mapping into the local environment

9 of 33

Resource Layer

  • Define protocols for the secure negotiation, initiation, monitoring, control, accounting, and payment of sharing operations on individual resources
    • Information protocols - used to obtain information about the structure and state of a resource
    • Management protocols - used to negotiate access to a shared resource, specifying, for example, resource requirements (including advanced reservation and quality of service) and the operations to be performed, such as process creation, or data access

10 of 33

Collective Layer

  • Are not associated with anyone specific resource but rather are global in nature and capture interactions across collections of resources
  • They can implement a wide variety of sharing behaviors without placing new requirements on the resources being shared
    • Directory services
    • Data replication services
    • Monitoring and Diagnostics services - support the monitoring of VO resources for failure, adversarial attack
    • Software Discovery Services discover and select the best software implementation and execution platform based on the parameters of the problem being solved

11 of 33

Application Layer

  • Applications are constructed in terms of, and by calling upon, services defined at any layer
  • What is labeled “applications” and show in a single layer may in practice call upon sophisticated frameworks and libraries and feature much internal structure that would, if captured in figure, expand it out to many times its current size

12 of 33

Perspectives on Grid

  • “The Grid is a next-generation Internet”
    • “The Grid” is not an alternative to “the Internet”: it is rather a set of additional protocols and services that build on Internet protocols and services to support the creation and use of computation- and data-enriched environments. Any resource that is “on the Grid” is also, by definition, “on the Net”

13 of 33

Perspectives on Grid

  • “The Grid is a source of free cycles”
    • Grid computing does not imply unrestricted access to resources. Grid computing is about controlled sharing. Resource owners will typically want to enforce policies that constrain access according to group membership, ability to pay, and so forth. Hence, accounting is important, and a Grid architecture must incorporate resource and collective protocols for exchanging usage and cost information, as well as for exploiting this information when deciding whether to enable sharing

14 of 33

Perspectives on Grid

  • “The Grid requires a distributed operating system”
    • Grid software should define the operating system services to be installed on every participating system providing transparency However, we this perspective is inconsistent with the primary goals of broad deployment and interoperability. We argue that the appropriate model is rather the Internet Protocol suite. The tremendous physical and administrative heterogeneities encountered in Grid environments means that the traditional transparencies are unobtainable; on the other hand, it does appear feasible to obtain agreement on standard protocols

15 of 33

Perspectives on Grid

  • The Grid requires new programming models
    • Programming in Grid environments introduces challenges that are not encountered in sequential (or parallel) computers, such as multiple administrative domains, new failure modes, and large variations in performance. Abstraction and Encapsulation can reduce complexity and improve reliability. A developer who believes that all Grid resources should be presented to users as objects needs simply to implement an object-oriented “API” in terms of Grid protocols

16 of 33

Perspectives on Grid

  • The Grid makes high-performance computers superfluous
    • The hundreds, thousands, or even millions of processors that may be accessible within a VO represent a significant source of computational power, if they can be harnessed in a useful fashion. This does not imply, however that traditional high-performance computers are obsolete. Many problems require tightly coupled computers, with low latencies and high communication bandwidths; Grid computing may well increase, rather than reduce, demand for such systems by making access easier

17 of 33

  • The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration’, I. Foster, C. Kesselman, J. Nick, S. Tuecke, Open Grid Service Infrastructure Working Group, Global Grid Forum, June 22, 2002

    • Based on first paper on ‘Anatomy of Grid’
    • Presents Open Grid Services Architecture

18 of 33

Introduction to OGSA

  • OGSA is a SOA architecture for Grid and is the creation of the GlobusAlliance (http://www.globus.org/), a community of organizations and individuals dedicated to advancing grid technologies
  • A Service-Oriented Architecture is a collection of services that communicate with each other. The services are self-contained and do not depend on the context or state of the other service. They work within a distributed systems architecture.

19 of 33

Introduction to Web Services

  • In its simplest definition, Web services is an instantiation of a Service-Oriented Architecture (SOA) where all of the following apply:
    • Service interfaces are described using Web Services Description Language WSDL).
    • Payload is transmitted using Simple Object Access Control over HTTP (Hypertext Transfer Protocol).
    • Universal Description Discovery and Integration (UDDI) is optionally used as the directory service.

20 of 33

Introduction to WebServices

  • The growing success of Web services is due to a number of factors, including those below
    • Systems can interact with one another dynamically via standard Internet technologies.
    • Services are built once and reused many times.
    • Services can be implemented in any programming language.
    • Service consumers do not need to worry about firewalls because communication is carried over HTTP.
    • Systems can advertise their capabilities for other systems to use. For example, Amazon Web Services allows systems to access catalog data, manage the shopping cart, and initiate the checkout process via Web services.

21 of 33

Introduction to WSDL

  • Web Services Description Language is the standard format for describing a web service. A WSDL definition describes how to access a web service and what operations it will perform.
  • WSDL document describes a web service using these major elements
    • <portType> The operations performed by the web service
    • <message> The messages used by the web service
    • <types> The data types used by the web service
    • <binding> The communication protocols used by the web service

22 of 33

WSDL Example

<message name="getTermRequest">

<part name="term" type="xs:string"/>

</message>

<message name="getTermResponse">

<part name="value" type="xs:string"/>

</message>

<portType name="glossaryTerms">�<operation name="getTerm">�<input message="getTermRequest"/>�<output message="getTermResponse"/>�</operation>

</portType>

Compared to traditional programming, glossaryTerms is a function library, "getTerm" is a function with "getTermRequest" as the input parameter and getTermResponse as the return parameter.

23 of 33

Introduction to SOAP

  • The Simple Object Access Protocol (SOAP)
    • is a simple enveloping mechanism for XML payloads that defines a remote procedure call (RPC)
    • SOAP is independent of the underlying transport protocol; SOAP payloads can be carried on HTTP, FTP, Java Messaging Service (JMS), and the like

24 of 33

Introduction to SOAP contd…

  • A SOAP message is an ordinary XML document containing the following elements:
    • A required Envelope element that identifies the XML document as a SOAP message
    • An optional Header element that contains header information
    • A required Body element that contains call and response information
    • An optional Fault element that provides information about errors that occurred while processing the message

25 of 33

An Example SOAP Message

<?xml version="1.0"?>

<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body>

<m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item>

</m:GetPrice>

</soap:Body>

</soap:Envelope>

26 of 33

UDDI

  • UDDI (Universal Description, Discovery and Integration Service) is an XML-based distributed directory that enables businesses to list themselves, as well as dynamically discover each other
  • Businesses register and categorize the Web services they offer and locate Web services they want to use. UDDI itself is a Web Service.

27 of 33

Other Standards

  • The WS-Inspection specification provides an XML format for assisting in the inspection of a site for available services and a set of rules for how inspection related information should be made available for consumption
  • WSFL (Web Services Flow Language) is an XML language for the description of Web Services compositions.

28 of 33

OGSA

  • The Open Grid Services Architecture (OGSA) describes an architecture for a service-oriented grid computing environment for business and scientific use
  • OGSA is based on several Web service technologies, notably WSDL and SOAP

29 of 33

OGSA

  • OGSA defines the mechanisms for creating, managing, and exchanging information among entities, called Grid Services
  • The Globus Toolkit 4.0 is an open source project that can be downloaded from the Globus Alliance Web site
  • It provides a set of OGSA capabilities based on WSRF (WS-Resource Framework)
  • The WSRF is a set of Web Service specifications being developed by the OASIS organization that, taken together and with the WS-Notification (WSN) specification, describe how to implement OGSA capabilities using Web services.

30 of 33

OGSA contd…

  • OGSA represents everything as a Grid Service
  • Grid Services are stateful transient Web Service instances that are discovered and created dynamically to form larger systems

31 of 33

OGSA – contd…

  • A Grid Service conforms to a set of conventions, expressed as WSDL (Web Service Description Language) interfaces, extensions, and behaviors, for such purposes as:
    • Discovery: mechanisms for discovering available services and for determining the characteristics of those services so that they can be invoked appropriately
      • Registery interface
      • GridService interface’s FindServiceData
    • Dynamic service creation: mechanisms for dynamically creating and managing new service instances – Factory Interface’s CreateService operation

32 of 33

OGSA contd…

    • Lifetime management: mechanisms for reclaiming services and state in the case of failed operations
      • SoftState approach
    • Notification: mechanisms for asynchronously notifying Grid Service clients of changes in state
      • NotificationSource
      • NotificationSink

33 of 33

OGSA Interfaces