aa4f8778ba011b3b719c60793473d3b9.ppt
- Количество слайдов: 78
CIS 017 -6 Distributed and Parallel Architecture Grid Computing / Cloud Computing Dr Ingo Frommholz
Outline n Grid Computing n Introduction to Grid Computing Various Approaches of Grid Computing Genesis of Grid Computing Types of Grids Grid Architecture Conclusion Cloud Computing What is Cloud Computing? Characteristics and Models Discussion
Part I GRID COMPUTING
WHAT IS GRID COMPUTING?
What is Grid Computing/Networking? n n The vision of grid computing is to virtualize computing, with the goal of creating a utility computing model over a distributed set of resources. Within a single computer exist standard elements including the processor, storage, operating system and I/O. The concept of grid computing is to create a similar environment, over a distributed area, made up of heterogeneous elements including servers, storage devices, and networks – a scalable, wide-area computing platform. The software (also called Grid Middleware) that handles the coordination of the participating elements is analogous to the operating system of a computer or server.
Grid: To Virtualise Computing
Virtualisation n n A broad term that refers to the abstraction of computer resources. A technique for hiding the physical characteristics of computing resources from the way in which other systems, applications or end users interact with those resources. Making a single physical resource (ie. a server, an operating system, an application or storage device) appear to function as multiple logical resources Making multiple physical resources (ie. storage devices or servers) appear as a single logical resource.
Virtual Organization (VO) n n n A virtual entity whose users and servers are geographically apart but share their resources collectively as a larger grid The users of the grid can be organized dynamically into a number of virtual organizations Each organisation may come with different policy requirements
Virtual Organization (VO)
Definitions of Grid Many different definitions exist…. Sun Microsystems’ definition Grid Computing is a computing infrastructure that provides dependable, consistent, pervasive and inexpensive access to computational capabilities.
Definitions of Grid (cont. ) IBM Definition n Grid computing enables the virtualization of distributed computing and data resources such as processing, network bandwidth and storage capacity to create a single system image, granting users and applications seamless access to vast IT capabilities. Just as an Internet user views a unified instance of content via the Web, a grid user essentially sees a single, large virtual computer.
Definitions of Grid (cont. ) n 1998, Kesselman & Foster: “A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities. ” n 2000, Kesselman, Foster, Tuecke: “…coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations. ”
Ian Foster’s Grid Checklist (2002) Criteria for a Grid n A Grid is a system that: Coordinates resources that are not subject to centralized control Uses standard, open, general-purpose protocols and interfaces Delivers non-trivial qualities of service Source: “What is the Grid? A Three Point Checklist”, Ian Foster, Argonne National Laboratory & University of Chicago
Motivations for Grids n n n Enable “heavy” applications in science and engineering Complex simulations with visualization and steering Access and analysis of large remote datasets Access to remote data sources and special instruments (telescopes, satellite data, particle accelerators) Distributed in wide-area networks, and Accessed through collaborative and multidisciplinary Problem Solving Environments PSE (ie. Matlab), via Web Portals.
PURPOSE OF GRID COMPUTING
Purposes of Grid Computing n n n Distributed Supercomputing High-Throughput Computing On-Demand Computing Data-Intensive Computing Collaborative Computing
Distributed Supercomputing n n n Combines multiple high-capacity resources (ie. computer clusters) on a computational grid into a single, virtual distributed supercomputer. Tackles problems that cannot be solved on a single system. Grid aggregates computational resources to compute large complex problems Fast networks enabling true parallel computation and shared memory processing Select computational resources according to time and financial constraints
Distributed Supercomputing (cont. ) Architectures for High Performance Computing: n Supercluster ie. Blue Gene/G (65536 processors/4096 nodes in 4 racks) n Clusters ie. iceberg n Symmetric multiprocessors ie. 4 processor shared memory V 40 node on iceberg Shared memory programming Open MP n Vector Processor Ie. Amdahl VP at MCC (80’s and 90’s)
High-Throughput Computing n n n Uses the grid to schedule large numbers of loosely coupled or independent tasks, with the goal of putting unused processor cycles to work. Problems divided into many tasks Grid schedules tasks Seti@home The mother of @home projects Other @home projects Folding@home, fight. AIDS@home, Xpulsar@home Condor Cycle scavenging from spare PCs
On-Demand Computing n Uses grid capabilities to meet short-term requirements for resources that are not locally accessible. n Models real-time computing demands.
Data-Intensive Computing n n Synthesizes new information from data that is maintained in geographically distributed repositories, digital libraries, and databases. Particularly useful for distributed data mining.
Collaborative Computing n Concerned primarily with enabling and enhancing human-tohuman interactions. n Applications are often structured in terms of a virtual shared space.
GENESIS OF GRID COMPUTING
Distributed, parallel computing and the need for distributed collaborative PSE led to the creation of Grid.
Distributed Computing n n n Physically distributed computations and data Local (LAN) or large scale (WAN) Geographical distribution Users and access sites Processing sites and data archives n Availability and Reliability Fault tolerance Replication of hardware and software n Goals: Adapt to geographical application distribution Provide appropriate levels of transparency
Parallel Computing n Computer System Architectures: 1980 s-90 s Supercomputers Shared / Distributed memory multiprocessors LANs and Clusters of PCs n Parallel Programming requires: n n Decompose application in parts Launch tasks in parallel processes Plan the cooperation between tasks Goal: to reduce execution time, compared to sequential execution Quite a difficult task!
Problem-Solving Environments (PSE) n Integrated environments for solving a class of related problems in an application domain: Easy-to-use by the end-user Based on state-of-the-art algorithms Visualisation and GUI n An old idea: local and standalone Examples: Mat. Lab, Mathematica No collaboration n A new idea: distributed PSE Integrates heterogeneous components into an environment Transparent access to distributed resources Collaborative modelling and simulation Web-accessed
Grid Enabled PSE n n PSE subsystems consist of Modelling, design and simulation tools Experimental devices Visualisation and knowledge-based tools Grid enabled PSE Requirements The software components must all be interoperable Resource availability predictable over wide area Must allow composition of heterogeneous collections of model and data Must be able to “access, mine and join” data from multiple sources Collaborative, secure, seamless, scalable.
An Example of Distributed PSE – Net. Solve/Grid. Solve n n n A client-server system for remote solutions of complex scientific problems On request: performs computational tasks on a set of servers Based on agents or resource brokers Access to languages C, Fortran, Mat. Lab, Mathematica Application Service Provider: supports the resources for a particular set of services
Some Application Characteristics of Grid n n n Complex models – simulations Large volumes of input / generated data High degree of User interaction: Offline / online data processing / visualization Distinct user interfaces Multidisciplinary: Heterogeneous models / components Interactions among multiple users, collaboration Require parallel and distributed processing
Concept of a Grid n Gathers a large diversity of distributed physical resources: n supercomputers and parallel machines clusters of PCs massive storage systems databases and data sources special devices Access is globally unified through virtual layers: solve new or larger problems by aggregating available resources access a large diversity of computation, data and information services enable coordinated resource sharing and collaboration across virtual organizations n Users to access Grid through a “global shell” or “Grid portals”
Grids Are Very Complex Systems n n n Aim at providing unifying abstractions to the end-user Large-scale universe of distributed, heterogeneous, and dynamic resources Critical aspects: Distributed Large-scale Multiple administrative domains Security and access control Heterogeneity Dynamic
Is Grid Technology New? n n No: There are many predecessors, with different names (not “grid”) Yes: New problems are being tackled today, on a larger scale than ever before How do you use thousands of computers: • …in different institutions – With different security constraints – Separated by private networks and firewalls • …that are not all identical • …in a reliable fashion • …without losing your mind?
Why Now? n n Moore’s law improvements in computing produce highly functional end systems The Internet and burgeoning wired and wireless communications networks provide universal connectivity Changing modes of working and problem solving emphasize teamwork, computation Network exponentials produce dramatic changes in geometry and geography
Network Exponentials n n n Network vs. computer performance Computer speed doubles every 18 months Network speed doubles every 9 months Difference = order of magnitude per 5 years 1986 to 2000 Computers: x 500 Networks: x 340, 000 2001 to 2010 Computers: x 60 Networks: x 4000 Moore’s Law vs. storage improvements vs. optical improvements. Graph from Scientific American (Jan 2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins.
GRID TYPES
Types of Grid n From an application perspective, there are three types of grids: compute grids, data grids, collaborative grids. n From a topology perspective, it can be argued that there additional types, including clusters, intra-grids, extra-grids, and inter-grids. In reality, clusters, intra-grids, extra-grids, and inter-grids are better defined as stages of evolution.
Types of Grid (cont. ) • Cluster Grid • Beowulf clusters • Enterprise Grid, Campus Grid, Intra-Grid • Departmental clusters, servers and PC network • Utility Grid • Access resources over internet on demand • Global Grid, Inter-grid • White Rose Grid, National Grid Service, Particle physics data grid
Types of Grid (cont. ) Source: The Grid, Ian Foster, Argonne National Laboratory, University of Chicago, Globus Alliance
Types of Grid (cont. ) n Compute Grid Essentially a collection of distributed computing resources, within or across locations. These resources are aggregated to act as a unified processing resource or virtual supercomputer. n Data Grid Provides wide area, secure access to current data. Enables users and applications to manage and efficiently use database information from distributed locations. Like compute grids, data grids also rely on software for secure access and usage policies. Will be a key element in the rollout of Web services.
Grid Types - Collaborative n n Internet videoconferencing Collaborative Visualisation
EU Data. Grid Project n EU Data. Grid project (until 2004): Large-scale environment for accessing and analysing large amounts of data: • High energy physics, Biology, Earth observation n Petabytes of data (1 000 Gig) Thousands of researchers Scalable storage of datasets: replicated, catalogued, distributed in distinct sites
Grid Evolution
GRID ARCHITECTURE
Grid Architecture
Elements of a Grid Architecture n n n User interfaces and grid portals Applications and PSEs Development environments and tools Grid middleware (ie. Globus, Condor, Legion): Resource management and scheduling Information registration and discovery Authentication, Security Storage access, and communication Heterogeneous and physical resources, and network infrastructure
Middleware n n A connectivity software consisting of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. Examples of Grid computing middleware: Globus Toolkit • Open Source Middleware • Software services and libraries for resource monitoring, discovery, and management, plus security and file management BOINC (Berkeley Open Infrastructure for Network Computing) • Open Source Middleware Condor-G • An enhanced version of Condor that uses the Globus toolkit to manage jobs on the Grid
Layered Grid Architecture (by Analogy to Internet Architecture) “Coordinating multiple resources”: ubiquitous infrastructure services, appspecific distributed services “Sharing single resources”: negotiating access, controlling use Collective Application Resource “Talking to things”: communication (Internet protocols) & security Connectivity Transport Internet “Controlling things locally”: Access to, & control of, resources Fabric Link Internet Protocol Architecture Application
Protocols, Services, and APIs Occur at Each Level Applications Languages/Frameworks Collective Service APIs and SDKs Collective Services Resource APIs and SDKs Resource Services Collective Service Protocols Resource Service Protocols Connectivity APIs Connectivity Protocols Local Access APIs and Protocols Fabric Layer
Important Points n n Built on Internet protocols and services Communication, routing, name resolution, etc. “Layering” here is conceptual, does not imply constraints on who can call what Protocols/services/APIs/SDKs will, ideally, be largely selfcontained Some things are fundamental: e. g. , communication and security But, advantageous for higher-level functions to use common lower-level functions
Fabric Layer Protocols and Services n n n Just what you would expect: the diverse mix of resources that may be shared Individual computers, Condor pools, file systems, archives, metadata catalogs, networks, sensors, etc. Few constraints on low-level technology: connectivity and resource level protocols form the “neck in the hourglass” Defined by interfaces not physical characteristics
Connectivity Layer Protocols and Services n Communication Internet protocols: IP, DNS, routing, etc. n Security: Grid Security Infrastructure (GSI) Uniform authentication, authorization, and message protection mechanisms in multi-institutional setting Single sign-on, delegation, identity mapping Public key technology, SSL, X. 509, GSS-API Supporting infrastructure: Certificate Authorities, certificate & key management, … GSI: www. gridforum. org/security/gsi
Resource Layer Protocols and Services (as used in Globus) n n n Grid Resource Allocation Management (GRAM) Remote allocation, reservation, monitoring, control of compute resources Grid. FTP protocol (FTP extensions) High-performance data access & transport Grid Resource Information Service (GRIS) Access to structure & state information Others emerging: Catalog Access, Code Repository Access, Accounting, etc. All built upon connectivity layer: GSI (Grid Security Infrastructure) and IP GRAM, Grid. FTP, GRIS: www. globus. org
Collective Layer Protocols and Services n n n n Index servers aka metadirectory services Custom views on dynamic resource collections assembled by a community Resource brokers (ie. Condor Matchmaker) Resource discovery and allocation Replica catalogs Replication services Co-reservation and co-allocation services Workflow management services etc. Condor: www. cs. wisc. edu/condor
Conclusions n The vision of grid computing is to virtualize computing, with the goal of creating a utility computing model over a distributed set of resources. Computing – electricity (utility) Supercomputers <-> power stations Network <-> electrical cables n n n Grid is used to create VOs for sharing resources and collaborations. Grid middleware (ie. Globus) for VOs is analogous to the operating system of a computer or server. Grid may be as important as WWW
Part II CLOUD COMPUTING
What is “The Cloud”? n Metaphor for the Internet n Cloud drawing used in the past for (telephone) networks n Used as an abstraction for the underlying network
Cloud Computing http: //techsling. com/2010/03/challenges-of-cloud-computing/
Cloud Examples
What is Cloud Computing? The “Cloud” is a natural evolution of distributed computing and of the widespread adaption of virtualization and SOA. In Cloud Computing, IT-related capabilities and resources are provided as services, via the Internet and on-demand, accessible without requiring detailed knowledge of the underlying technology. (from the Call for Papers of the 3 rd IEEE International Conference on Cloud Computing Technology and Science (IEEE Cloud. Com 2011))
What is Cloud Computing? A Definition by NIST Cloud computing is a model for enabling convenient, ondemand network access to a shared pool of configurable computing resources (ie. networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. http: //www. nist. gov/itl/cloud/
What is Cloud Computing? A Definition by NIST This cloud model promotes availability and is composed of: five essential characteristics (On-demand self-service, Broad network access, Resource pooling, Rapid elasticity, Measured Service); three service models (Cloud Software as a Service (Saa. S), Cloud Platform as a Service (Paa. S), Cloud Infrastructure as a Service (Iaa. S)); and, four deployment models (Private cloud, Community cloud, Public cloud, Hybrid cloud). Key enabling technologies include: (1) fast wide-area networks, (2) powerful, inexpensive server computers, and (3) high-performance virtualization for commodity hardware. http: //www. nist. gov/itl/cloud/
Essential Characteristics On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider. Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (ie. mobile phones, laptops, and PDAs).
Essential Characteristics (cont. ) Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (ie. country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.
Essential Characteristics (cont’d) Rapid elasticity. Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out, and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time. Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e. g. , storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
Cloud Service Models n n n Software as a Service (Saa. S) Platform as a Service (Paa. S) Infrastructure as a Service (Iaa. S) More specific services, ie. Database as a Service (Dbaa. S) Cloud clients may be the Web browser, a mobile app or a terminal emulator
Software as a Service (Saa. S) n The consumer uses the provider’s applications running on a cloud infrastructure. n The consumer does not manage or control the underlying cloud infrastructure n Possible exception of limited user-specific application configuration settings. n Examples include services like Gmail Mendeley Dropbox Splashup (image editing) Amazon Cloud Drive
Platform as a Service (Paa. S) n n n Deploy consumer-created or acquired applications Consumer does not manage or control the underlying cloud infrastructure Consumer has control over the deployed applications and possibly application hosting environment configurations Execution runtime, database, web server Examples: Amazon Elastic Compute Cloud (Amazon EC 2) Google App Engine
Infrastructure as a Service (Iaa. S) n n n Provision processing, storage, networks, and other fundamental computing resources Consumer is able to deploy and run arbitrary software Consumer does not manage or control the underlying cloud infrastructure Consumer has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (ie. host firewalls). Billing on a utility computing basis (cost will reflect the amount of resources allocated and consumed) Example: Virtual machines with firewalls
Cloud Deployment Models n n n Private Cloud Operated solely for an organization Managed by the organisation or a third party May exist on premise or off premise Community Cloud Shared by several organisations Supports a specific community that has shared concerns Managed by the organisations or a third party May exist on premise or off premise Public Cloud The cloud infrastructure is made available to the general public or a large industry group Owned by an organisation selling cloud services
Cloud Deployment Models (cont. ) n Hybrid Cloud infrastructure is a composition of two or more clouds (private, community, or public) Single clouds remain unique entities but are bound together by standardised or proprietary technology
Grid and Cloud Computing n n n Grid Computing is often a prerequisite for Cloud Computing evolves from Grid Computing Both are scalable (through load balancing). Resources (CPU, network, storage) are allocated on demand Grids are used for data and computationally intensive operations (few but large allocation requests) Cloud services can also provide standard operations (lots of small allocation requests)
Advantages and Disadvantages n Some Advantages No need to manage your own hardware/infrastructure No need to bother about backups etc. More environmentally friendly n Some Disadvantages No control over software (like in proprietary programs) Privacy Security Ownership
Criticism n "The interesting thing about cloud computing is that we've redefined cloud computing to include everything that we already do. The computer industry is the only industry that is more fashion-driven than women's fashion. Maybe I'm an idiot, but I have no idea what anyone is talking about. What is it? It's complete gibberish. It's insane. When is this idiocy going to stop? ” (Larry Ellison, founder of Oracle) n "It's stupidity. It's worse than stupidity: it's a marketing hype campaign. ” (Richard Stallmann, founder of the Free Software Foundation)
References n The Physiology of the Grid, An Open Services Architecture for Distributed Systems Integration, by Ian Foster et al, 2002. n The Anatomy of the Grid, Enabling Scalable Virtual Organization, Ian Foster, Carl Kesselman, Steven Tuecke, 2001. n Grid Networking, by Rick Thompson, at light reading web site. n Open Grid Forum: www. ggf. org n Grid Computing, Joseph Fellenstein, IBM Press, 2004 n Grid 2: Blueprint for a New Computing Infrastructure, Ian Foster et al, Morgan Kaufmann Publishers, 2004
References n Next Generation Optical Networks – The Convergence of IP Intelligence and Optical Technologies, P. Tomsu, C. Schmutzer, Prentice Hall, 2002 n Globus Alliance http: //www. globus. org/ n Introduction to Grid Computing (ppt slides), The Globus Project™, Argonne National Laboratory, USC Information Sciences Institute n http: //www. nist. gov/itl/cloud/ (visited 15. 05. 2011) n http: //www. ibm. com/developerworks/web/library/wa-cloudgrid/ (visited 15. 05. 2011) http: //www. guardian. co. uk/technology/2008/sep/29/cloud. computing. richard. stallman (visited 15. 05. 2011) n n http: //wp. nmc. org/horizon 2009/chapters/cloud-computing/ (visited 15. 05. 2011)
Recommended Reading (1) n Besides the sources listed on the References slides, you are recommended to have a read of the following web sites: w w “What is the Grid? A three point checklist” by Ian Foster http: //www. gridtoday. com/02/0722/100136. html SETI@home: http: //setiathome. berkeley. edu/ Grid. PP: http: //www. gridpp. ac. uk/ Tera. Grid Project: http: //www. teragrid. org/ World Community Grid: http: //www. worldcommunitygrid. org ZDNet-Grid: http: //www. zdnet. com. au/news/business/soa/Australiangrid-computing-Creating-science-fact/0, 139023166, 1202672871, 00. htm Age. Cluster: http: //www. gridbus. org/papers/theagecluster. html w World Wide Grid: http: //gridbus. cs. mu. oz. au/sc 2003/ w w w
Recommended Reading (2) n Grid Computing Info Centre: http: //www. gridcomputing. com/ n Have a look at the following websites to learn the real-life examples of grid computing applications. EGEE (Enabling Grid for E-scienc. E): http: //www. eu-egee. org/ w SETI@home: http: //setiathome. berkeley. edu/ w Grid. PP: http: //www. gridpp. ac. uk/ w Tera. Grid Project: http: //www. teragrid. org/ w World Community Grid: http: //www. worldcommunitygrid. org
aa4f8778ba011b3b719c60793473d3b9.ppt