Lezione 2a - 14 ottobre 2009.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Il materiale didattico usato in questo corso è stato mutuato da quello utilizzato da Paolo Veronesi per il corso di Griglie Computazionali per la Laurea Specialistica in Informatica tenutonell’anno accademico 2008/09 presso l’Università degli Studi di Ferrara.
Università degli Studi di Bari – Corso di Laurea Specialistica in Informatica
“Tecnologia dei Servizi “Grid e cloud computing”
Giorgio Pietro Maggigiorgio.firstname.lastname@example.org, http://www.ba.infn.it/~maggi
(definitions and implementations)
Name “Grid” chosen by analogy with electric power grid (Foster and Kesselman 1997)
Vision: plug-in computer for processing power just like plugging in toaster for electricity.
Concept has been around for decades (distributed computing, metacomputing)
Key difference with the Grid is to realise the vision on a global scale.
The Grid Revolution
The Grid Revolution
…the future: The Grid!
Data-storage, Sensors, Experiments
The Grid Metaphor
flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resources
From “The Anatomy of the Grid: Enabling Scalable Virtual Organizations”
enable “groups of users (virtual organizations)” to share geographically distributed resources as they pursue common goals – assuming the absence of…
existing trust relationships.
Virtual organization (VO): a set of individuals and/or institutions identified by the same set of rules, which define:
the resources shared (what);
the individual users allowed to share (who);
conditions under which sharing occurs (how).
VOs represent “community overlays” on classic organization structures. They can be large or small, static or dynamic.
Single users and users of the same institution can be members of different VOs
An industrial consortium
Students from different university departments using computing power for their simulation projects
physicists from different research institutions involved in a the same experiment implementation, using the Grid for analysis of the data generated by the experiment
Astronomers from various research institutes analyzing data gathered by multiple telescopes all over the world
Resource sharing requires owners to make resources available, subject to contraints on when, where and what can be done
Policies and mechanisms to express them in Policy Decision Points
Authentication: the establishment of the identity of a consumer
Authorization: determining whether an operation is consistent with resource sharing rules applicable to the consumer at Policy Enforcement Points
Network enabled service
Application Programmer Interface (API)
Software Development Kit (SDK)
“We will probably see the spread of computer utilities, which, like present electric and telephone utilities, will service individual homes and offices across the country” (Len Kleinrock, 1969)
“A computational Grid is a hardware and software infrastructure that provides dependable, consistent, pervasive and inexpensive access to high-end comptational capabilities” (I.Foster, C.Kesselman: The Grid: Blueprint for a New Computing Infrastructure”, 1998)
and: “because of the focus on dynamic cross-organization sharing, Grid technologies complement rather than compete with esisting distributed computing technologies” (I.Foster et al., The Anatomy of the Grid, 2001)
The three fundamental properties of Grid computing:
Large-scale coordinated management of resources belonging to different administrative domains (multi-domain vs single domain)
Grid computing involves multiple management systems
Standard, open, multi-purpose protocols and interfaces that provide a range of services (standard vs proprietary)
Grid computing supports heterogeneous user applications
Delivery of complex Quality of Service (QoS): Grid computing allows its constituent resources to be used in a coodinated fashion to deliver various types of QoS, such as respons time, throughput, avaiability, reliability, security, etc.
Examples of non-Grid systems:
Cluster management systems on a parallel computer or on a Local Area Network
Sun Grid Engine
Load Sharing Facility (LSF, by Platform)
Portable Bach System (PBS, by Veridian)
The World Wide Web:
Based on general-purpose protocols accessing distributed resources
Virtualization of users and resources
The importance of standardization:
open, general-purpose and using standard protocols
no standardization and interoperability between services – current situation
Similarly: an Internet (based on proprietary protocols, as in the early ages of networking) vs the Internet (based on the IP protocol)
An entity that is to be shared
E.g., computers, storage, data, software
Does not have to be a physical entity
E.g., Condor pool, distributed file system, …
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
A formal description of message formats and a set of rules for message exchange, which defines one of the basic mechanisms of Grid Computing
Rules may define sequence of message exchanges
Protocol may define state-change in end-points triggered by a given sequence of exchanged messages, e.g., file system state change
Protocols, some examples:
Management of credentials and policies in case of multi-domain resources
Secure remote access
Co-allocation of multiple resources
Information query protocols
Data management protocols
Good protocols are designed to do one thing; for this reason, the Grid architecture relies on layering of protocols. i.e. through the composition of multiple, simple protocols.
Examples of protocols
IP, TCP, Transport Layer Security (was Secure Socket Layer), HTTP, Kerberos
Services are defined by:
the protocol spoken, as protocols allow interaction between different services
the behaviour implemented.
Resource access service, Resource discovery, Co-scheduling, Data replication, etc.
Services hide the complexity of resource implementations
Examples: FTP and Web servers
Transport Layer Security Protocol
A specification for a set of routines to facilitate application development
Refers to definition, not implementation (several implementations of the same API are possible)
APIs are a complement of protocols, as without protocols interoperability between APIs would be solved only case by case with specific implementations
Specification of an API is often language-specific
Routine name, number, order and type of arguments; mapping to language constructs
Behavior or function of routine
A particular instantiation of an API
Software Development Kits consist of libraries and tools
Provides implementation of API specification
One API can have multiple SDKs
Rules for encoding information, e.g.
XML, Condor ClassAds, Globus Resource Specification Language
X.509 certificate format (RFC 2459)
Distinct from protocols
One syntax may be used by many protocols (e.g., XML) and be useful for several purposes
Syntaxes may be layered
E.g., HTML XML ASCII
Important to understand layerings when comparing or evaluating syntaxes
Standard APIs/SDKs are important
They enable application portability
But without standard protocols, interoperability is hard (every SDK speaks every protocol? infeasible)
Standard protocols are important
Enable cross-site interoperability
Enable shared infrastructure
But without standard APIs/SDKs, application portability is hard (different platforms access protocols in different ways)
TCP/IP APIs: BSD sockets, Winsock, …
The protocol provides interoperability: programs using different APIs can exchange information
I don’t need to know remote user’s API
Berkeley Sockets API
TCP/IP Protocol: Reliable byte streams