Lezione 2a - 14 ottobre 2009 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. Paolo Veronesi firstname.lastname@example.org, email@example.com http://www.cnaf.infn.it/~pveronesi/unife/ Università degli Studi di Bari – Corso di Laurea Specialistica in Informatica “Tecnologia dei Servizi “Grid e cloud computing” A.A. 2009/2010 Giorgio Pietro Maggigiorgio.firstname.lastname@example.org, http://www.ba.infn.it/~maggi
Grid: the “common market” (definitions and implementations)
Power Grid inspiration: seamlessly delivering electricity as a utility to users
Grid history 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 present, … • CPU - Memory • Disc - Input/Output G R I D M I D D L E W A R E 01011010110 The Grid Revolution The past
virtual services virtual services virtual services virtual services virtual services virtual services The Grid Revolution …the future: The Grid!
Mobile Access G R I D M I D D L E W A R E Supercomputer, PC-Cluster Workstation Data-storage, Sensors, Experiments Visualising Internet, networks The Grid Metaphor
The Grid Problem Purpose: 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… central location, central control, omniscience, existing trust relationships.
Virtual Organizations 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. VO membership: Single users and users of the same institution can be members of different VOs u3 u2 u9 u1 u5 VO3 VO2 VO1 u8 u7 u4 u6
Virtual Organizations (cont) Examples: 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
Authentication and authorization Resource sharing requires owners to make resources available, subject to contraints on when, where and what can be done This requires: 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
Some Important Definitions Grid Computing Resource Protocol Network enabled service Application Programmer Interface (API) Software Development Kit (SDK) Syntax
1. Grid Computing (1/4) Early definition: “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) The Grid: “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)
1. Grid computing: characteristics (2/4) 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.
1. Grid Computing (3/4) 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: Open Based on general-purpose protocols accessing distributed resources • Complete kwowledge of system state and user’s requests centralized control • No coordinated use of independent resources (no protocols for negotiation and sharing, yet)
Grid as a multi-institutional infrastructure Inter-site seamless collaboration Intra-site resource Virtual organization local credential Grid-level credential
The three main capabilities of a Grid middleware Virtualization of users and resources • Mapping virtual resources to physical resources Grid system • Mapping virtual users to physical users 16 Site A Site B
1. Grid Computing (4/4) The importance of standardization: The Grid: open, general-purpose and using standard protocols A Grid: 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)
2. Resource 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
3. Grid Protocol 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
4. Network Enabled Services Services are defined by: the protocol spoken, as protocols allow interaction between different services the behaviour implemented. Examples: Resource access service, Resource discovery, Co-scheduling, Data replication, etc. Services hide the complexity of resource implementations Examples: FTP and Web servers FTP Server Web Server HTTP Protocol FTP Protocol Telnet Protocol Transport Layer Security Protocol TCP Protocol TCP Protocol IP Protocol IP Protocol
5. Application Programming Interface (API) 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
6. Software Development Kit 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
7. Syntax 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
APIs and Protocols are Both Important 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)
A Protocol can have Multiple APIs 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 Application Application WinSock API Berkeley Sockets API TCP/IP Protocol: Reliable byte streams