Title: UoLTemplateST.ppt
1CIS017-6 Distributed and Parallel
Architecture Grid Computing / Cloud
Computing Dr Ingo Frommholz
2Outline
- Grid Computing
- 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
3Grid Computing
4What is Grid Computing?
5What is Grid Computing/Networking?
- 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.
6Grid To Virtualise Computing
7Virtualisation
- 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.
8Virtual Organization (VO)
- 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
9Virtual Organization (VO)
10Definitions 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.
11Definitions of Grid (cont.)
- IBM Definition
- 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.
12Definitions of Grid (cont.)
- 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. - 2000, Kesselman, Foster, Tuecke
- coordinated resource sharing and problem
solving in dynamic, multi-institutional virtual
organizations. -
13Ian Fosters Grid Checklist (2002) Criteria for a
Grid
- 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
14Motivations for Grids
- 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.
15Purpose of Grid Computing
16Purposes of Grid Computing
- Distributed Supercomputing
- High-Throughput Computing
- On-Demand Computing
- Data-Intensive Computing
- Collaborative Computing
17Distributed Supercomputing
- 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
18Distributed Supercomputing (cont.)
- Architectures for High Performance Computing
- Supercluster
- ie. Blue Gene/G (65536 processors/4096 nodes in 4
racks) - Clusters
- ie. iceberg
- Symmetric multiprocessors
- ie. 4 processor shared memory V40 node on iceberg
- Shared memory programming Open MP
- Vector Processor
- Ie. Amdahl VP at MCC (80s and 90s)
19High-Throughput Computing
- 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_at_home
- The mother of _at_home projects
- Other _at_home projects
- Folding_at_home, fightAIDS_at_home, Xpulsar_at_home
- Condor
- Cycle scavenging from spare PCs
20On-Demand Computing
- Uses grid capabilities to meet short-term
requirements for resources that are not locally
accessible. - Models real-time computing demands.
21Data-Intensive Computing
- Synthesizes new information from data that is
maintained in geographically distributed
repositories, digital libraries, and databases. - Particularly useful for distributed data mining.
22Collaborative Computing
- Concerned primarily with enabling and enhancing
human-to-human interactions. - Applications are often structured in terms of a
virtual shared space.
23Genesis of grid computing
24Distributed, parallel computing and the need for
distributed collaborative PSE led to the creation
of Grid.
25Distributed Computing
- Physically distributed computations and data
- Local (LAN) or large scale (WAN)
- Geographical distribution
- Users and access sites
- Processing sites and data archives
- Availability and Reliability
- Fault tolerance
- Replication of hardware and software
- Goals
- Adapt to geographical application distribution
- Provide appropriate levels of transparency
26Parallel Computing
- Computer System Architectures 1980s-90s
- Supercomputers
- Shared / Distributed memory multiprocessors
- LANs and Clusters of PCs
- Parallel Programming requires
- 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!
27Problem-Solving Environments (PSE)
- 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
- An old idea local and standalone
- Examples MatLab, Mathematica
- No collaboration
- A new idea distributed PSE
- Integrates heterogeneous components into an
environment - Transparent access to distributed resources
- Collaborative modelling and simulation
- Web-accessed
28Grid Enabled PSE
- 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.
29An Example of Distributed PSE NetSolve/GridSolve
- 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, MatLab,
Mathematica - Application Service Provider supports the
resources for a particular set of services
30Some Application Characteristics of Grid
- 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
31Concept of a Grid
- Gathers a large diversity of distributed physical
resources - 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 - Users to access Grid through a global shell or
Grid portals
32Grids Are Very Complex Systems
- 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
33Is Grid Technology New?
- 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?
34Why Now?
- Moores 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
35Network Exponentials
- 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
Moores Law vs. storage improvements vs. optical
improvements. Graph from Scientific American
(Jan-2001) by Cleo Vilett, source Vined Khoslan,
Kleiner, Caufield and Perkins.
36Grid Types
37Types of Grid
- From an application perspective, there are three
types of grids compute grids, data grids,
collaborative grids. - From a topology perspective, it can be argued
that there are 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.
38Types 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
39Types of Grid (cont.)
SourceThe Grid, Ian Foster, Argonne National
Laboratory,University of Chicago, Globus Alliance
40Types of Grid (cont.)
- 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. - 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.
41Grid Types - Collaborative
- Internet videoconferencing
- Collaborative Visualisation
42EU DataGrid Project
- EU DataGrid project (until 2004)
- Large-scale environment for accessing and
analysing large amounts of data - High energy physics, Biology, Earth observation
-
- Petabytes of data (1 000 000 Gig)
- Thousands of researchers
- Scalable storage of datasets replicated,
catalogued, distributed in distinct sites
43Grid Evolution
44Grid Architecture
45Grid Architecture
46Elements of a Grid Architecture
- 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
47 Middleware
- 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
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
48Layered Grid Architecture(by Analogy to Internet
Architecture)
49Protocols, Services,and APIs Occur at Each Level
Applications
Languages/Frameworks
Collective Service APIs and SDKs
Collective Service Protocols
Collective Services
Resource APIs and SDKs
Resource Service Protocols
Resource Services
Connectivity APIs
Connectivity Protocols
Local Access APIs and Protocols
Fabric Layer
50Important Points
- 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 self-contained - Some things are fundamental e.g., communication
and security - But, advantageous for higher-level functions to
use common lower-level functions
51Fabric Layer Protocols and Services
- 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., etc. - Few constraints on low-level technology
connectivity and resource level protocols form
the neck in the hourglass - Defined by interfaces not physical characteristics
52Connectivity Layer Protocols and Services
- Communication
- Internet protocols IP, DNS, routing, etc.
- 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
53Resource Layer Protocols and Services(as used in
Globus)
- Grid Resource Allocation Management (GRAM)
- Remote allocation, reservation, monitoring,
control of compute resources - GridFTP 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, GridFTP, GRIS www.globus.org
54Collective Layer Protocols and Services
- 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
55Conclusions
- 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 lt-gt power stations
- Network lt-gt electrical cables
- 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
56Cloud Computing
57What is The Cloud?
- Metaphor for the Internet
- Cloud drawing used in the past for (telephone)
networks - Used as an abstraction for the underlying network
58Cloud Computing
http//techsling.com/2010/03/challenges-of-cloud-c
omputing/
59Cloud Examples
60What 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 3rd IEEE
International Conference on Cloud Computing
Technology and Science (IEEE CloudCom 2011))
61What is Cloud Computing? A Definition by NIST
- Cloud computing is a model for enabling
convenient, on-demand 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/
62What 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
(SaaS), Cloud Platform as a Service (PaaS), Cloud
Infrastructure as a Service (IaaS)) 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/
63Essential 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 services 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).
64Essential Characteristics (cont.)
- Resource pooling. The providers 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.
65Essential Characteristics (contd)
- 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.
66Cloud Service Models
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
- More specific services, ie. Database as a Service
(DbaaS) - Cloud clients may be the Web browser, a mobile
app or a terminal emulator
67Software as a Service (SaaS)
- The consumer uses the providers applications
running on a cloud infrastructure. - The consumer does not manage or control the
underlying cloud infrastructure - Possible exception of limited user-specific
application configuration settings. - Examples include services like
- Gmail
- Mendeley
- Dropbox
- Splashup (image editing)
- Amazon Cloud Drive
68Platform as a Service (PaaS)
- 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 EC2)
- Google App Engine
69Infrastructure as a Service (IaaS)
- 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
70Cloud Deployment Models
- 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
71Cloud Deployment Models (cont.)
- Hybrid Cloud
- 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
72Grid and Cloud Computing
- Grid Computing is often a prerequisite for Cloud
Computing - 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)
73Advantages and Disadvantages
- Some Advantages
- No need to manage your own hardware/infrastructure
- No need to bother about backups etc.
- More environmentally friendly
- Some Disadvantages
- No control over software (like in proprietary
programs) - Privacy
- Security
- Ownership
74Criticism
- "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) - "It's stupidity. It's worse than stupidity it's
a marketing hype campaign. (Richard Stallmann,
founder of the Free Software Foundation)
75References
- The Physiology of the Grid, An Open Services
Architecture for Distributed Systems Integration,
by Ian Foster et al, 2002. - The Anatomy of the Grid, Enabling Scalable
Virtual Organization, Ian Foster, Carl Kesselman,
Steven Tuecke, 2001. - Grid Networking, by Rick Thompson, at light
reading web site. - Open Grid Forum www.ggf.org
- Grid Computing, Joseph Fellenstein, IBM Press,
2004 - Grid 2 Blueprint for a New Computing
Infrastructure, Ian Foster et al, Morgan Kaufmann
Publishers, 2004
76References
- Next Generation Optical Networks The
Convergence of IP Intelligence and Optical
Technologies, P. Tomsu, C. Schmutzer, Prentice
Hall, 2002 - Globus Alliance http//www.globus.org/
- Introduction to Grid Computing (ppt slides), The
Globus Project, Argonne National Laboratory, USC
Information Sciences Institute - http//www.nist.gov/itl/cloud/ (visited
15.05.2011) - http//www.ibm.com/developerworks/web/library/wa-c
loudgrid/ (visited 15.05.2011) - http//www.guardian.co.uk/technology/2008/sep/29/c
loud.computing - .richard.stallman (visited 15.05.2011)
- http//wp.nmc.org/horizon2009/chapters/cloud-compu
ting/ (visited 15.05.2011)
77Recommended Reading (1)
- Besides the sources listed on the References
slides, you are recommended to have a read of the
following web sites - What is the Grid? A three point checklist by
Ian Foster http//www.gridtoday.com/02/0722/100136
.html - SETI_at_home http//setiathome.berkeley.edu/
- GridPP http//www.gridpp.ac.uk/
- TeraGrid Project http//www.teragrid.org/
- World Community Grid http//www.worldcommunitygr
id.org - ZDNet-Grid http//www.zdnet.com.au/news/business/
soa/Australian-grid-computing-Creating-science-fac
t/0,139023166,120267287-1,00.htm - AgeCluster http//www.gridbus.org/papers/theagecl
uster.html - World Wide Grid http//gridbus.cs.mu.oz.au/sc2003
/
78Recommended Reading (2)
- Grid Computing Info Centre
- http//www.gridcomputing.com/
-
- Have a look at the following websites to learn
the real-life examples of grid computing
applications. - EGEE (Enabling Grid for E-sciencE)
http//www.eu-egee.org/ - SETI_at_home http//setiathome.berkeley.edu/
- GridPP http//www.gridpp.ac.uk/
- TeraGrid Project http//www.teragrid.org/
- World Community Grid http//www.worldcommunitygr
id.org