CloudCloud ComputingComputing
Dr. Elise de Doncker CS6260
Yazeed K. Almarshoud
RoadmapRoadmap
Introduction Parallel vs. Distributed Grid computing structure Flynn’s Taxonomy Cloud vs. Grid Cloud Computing Possibilities Some Characteristics of Cloud Computing SaaS and Cloud Computing Supercomputing & Cloud Computing Clouds Examples Conclusions References
IntroductionIntroduction
During the good economic times, enterprises do huge investment in Information Technology (IT) infrastructure to achieve faster and reliable response to users’ queries.
The concept of parallel computing & distributing systems widely used and enhanced in many related environments (.i.e Grids)
What is exactly the difference when we say Parallel or Distributed?
ParallelParallel vs.vs. DistributedDistributed
Parallel computing generally means: Vector processing of data Multiple CPUs in a single computer Distributed computing generally means: Multiple CPUs across many computers
Flynn’s Taxonomy
Instructions Single (SI) Multiple (MI)
) SISD MISD D S (
e Single- Pipeline l g
n threaded architecture i S a
t process a ) D D SIMD MIMD M (
e l Vector Multi- p i t l Processing threaded u
M Programming
SISDSISD
Processor
D D D D D D D
Instructions
SIMDSIMD
Processor
D0 D0 D0 D0 D0 D0 D0
D1 D1 D1 D1 D1 D1 D1
D2 D2 D2 D2 D2 D2 D2
D3 D3 D3 D3 D3 D3 D3
D4 D4 D4 D4 D4 D4 D4 … … … … … … …
Dn Dn Dn Dn Dn Dn Dn
Instructions
MIMDMIMD Processor
D D D D D D D
Instructions
Processor
D D D D D D D
Instructions
ParallelParallel vs.vs. DistributedDistributed Processor
D D D D D D D
Instructions Shared Memory Processor for data transfer data for Network connection Network D D D D D D D
Instructions
Parallel: Multiple CPUs within a Distributed: Multiple machines with shared memory machine own memory connected over a network
DivideDivide andand ConquerConquer
“Work” Partition
w1 w2 w3
“worker” “worker” “worker”
r1 r2 r3
“Result” Combine
Grid Computing Structure (big picture)
CloudCloud computingcomputing
“Cloud computing is a computing paradigm shift where computing is moved away from personal computers or an individual application server to a “cloud” of computers. Users of the cloud only need to be concerned with the computing service being asked for, as the underlying details of how it is achieved are hidden. This method of distributed computing is done through pooling all computer resources together and being managed by software rather than a human.“
CloudCloud vs.vs. GridGrid
Cloud Computing is an infrastructure that virtualizes hardware and software resources Grid Computing are patterns, tools and frameworks to distribute computing or data A cloud can be the platform to run a computing or data grid
CloudCloud ComputingComputing
Cloud computing is a novel platform for computing and storage. Cloud computing provisions and configures servers as needed. It allows for more efficient use of the enterprise resources and applications. It introduces accountability and streamlines computing needs of an enterprise.
PossibilitiesPossibilities
It is possible to consolidate all the needs of an organization in a systematic and accountable fashion. It is possible to procure computing related resources similar to how you rent a place for living. For example, you can buy storage on demand from amazon.com in a service it offers called the “S3” You can buy computation service from amazon.com in its “elastic cloud computing” service (EC2) Usage example: You are in charge of IT in a local company. You have an immediate need for backing up entire set up for a short period of time as a mock up for disaster recovery. What would you do?
WhatWhat isis drivingdriving CloudCloud ComputingComputing
• Technology advances that support massive scalability & accessibility • Emergence of data intensive applications & new types of workloads Large scale information processing, i.e. parallel computing using Hadoop Web 2.0 rich media interactions Light weight run anywhere web apps
Skyrocketing costs of power, space, Explosion of data intensive maintenance, etc. applications on the Internet
Advances in multi-core computer architecture Fast growth of connected mobile devices
Growth of Web 2.0- enabled PCs, TVs, etc. IndustryIndustry TrendsTrends LeadingLeading toto CloudCloud ComputingComputing
2008 2000 Cloud Computing 1998 Software as a Service 1990 • Next-Generation Utility Computing • Network-based Internet computing Grid Computing Offering computing subscriptions to • Next-Generation Solving large problems resources as a applications Data Centers with parallel metered service computing • Gained momentum Introduced in late in 2001 Made mainstream by 1990s Globus Alliance
SomeSome CharacteristicsCharacteristics ofof CloudCloud ComputingComputing
Virtual – Physical location and underlying infrastructure details are transparent to users
Scalable – Able to break complex workloads into pieces to be served across an incrementally expandable infrastructure
Efficient – Services Oriented Architecture for dynamic provisioning of shared compute resources
Flexible – Can serve a variety of workload types – both consumer and commercial
CloudCloud ComputingComputing inin thethe NewNew EnterpriseEnterprise DataData CenterCenter
Software Technology Innovation Large Scale Development Incubation Enablement Information Workload Processing Solution Deploys Reduces time to Expands sources Patterns development launch new of innovation, Optimizes tools for offerings increases emerging Internet immediate use competitiveness scale workloads
Cloud Computing Management Services
Self-service Workload Pattern Administration SLA and Admin Portal Templates Workflows Capacity Planning
Workload Provisioning Monitoring Management
Virtualized Physical Servers (Ensembles)
iDataPlex, BladeCenter, System x, System p, System z WhyWhy CloudCloud Computing?Computing?
Pay per use Instant Scalability Security Reliability APIs
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] CaseCase StudyStudy ofof aa CloudCloud DeploymentDeployment
New 100% Development Liberated Software funding for new Costs development, Strategic transformation Change investment or Capacity Power direct saving Costs
Current IT Deployment (1-time) Labor Costs Spend (Operations and Software Maintenance) Costs
Power Costs (88.8%) Hardware, labor & power savings Hardware Labor Costs reduced annual cost Costs ( - 80.7%) of operation by annualized ( ) Hardware Costs 83.8% ( - 88.7%)
Note: 3-Year Depreciation Period with 10% Discount Rate
““CloudCloud Computing”Computing” DefinedDefined “as“as aa Service”Service” typestypes
Everything as a service (EaaS or XaaS) Communication as a service (CaaS) Infrastructure as a service (IaaS) Monitoring as a service (MaaS) Software as a service (SaaS – includes Application Service Provider (ASP) services) Platform as a service (PaaS)
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Software as a Service
PaaS Platform as a Service
IaaS Infrastructure as a Service
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Software as a Service
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Software delivery model
Increasingly popular with SMEs No hardware or software to manage Service delivered through a browser
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Advantages
Pay per use Instant Scalability Security Reliability APIs
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Examples CRM Financial Planning Human Resources Word processing Commercial Services: Salesforce.com emailcloud
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] PaaS Platform as a Service
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] Platform delivery model
Platforms are built upon PaaS Infrastructure, which is expensive Estimating demand is not a science! Platform management is not fun!
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] Popular services
Storage PaaS Database Scalability
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] Advantages
Pay per use PaaS Instant Scalability Security Reliability APIs
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] Examples
Google App Engine PaaS Mosso AWS: S3
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] IaaS Infrastructure as a Service
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] Computer infrastructure delivery model
Access to infrastructure stack: Full OS access Firewalls IaaS Routers Load balancing
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] Advantages
Pay per use Instant Scalability Security Reliability APIs IaaS
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] Examples
Flexiscale AWS: EC2
IaaS
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Software as a Service
PaaS Platform as a Service
IaaS Infrastructure as a Service
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Common Factors
Pay per use Instant Scalability PaaS Security Reliability APIs IaaS
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Advantages
Lower cost of ownership PaaS Reduce infrastructure management responsibility Allow for unexpected resource loads IaaS Faster application rollout
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SaaS Cloud Economics
Multi-tenented PaaS Virtualisation lowers costs by increasing utilisation Economies of scale afforded by technology IaaS Automated update policy
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SupercomputingSupercomputing && CloudCloud ComputingComputing
Two macro strategies dominate large-scale (intentional) computing infrastructures Supercomputing type Structures Large-scale integrated coherent systems Managed for high utilization and efficiency Emerging cloud type Structures Large-scale loosely coupled, lightly integrated Managed for availability, throughput, reliability
HowHow shouldshould wewe thinkthink aboutabout thethe cloudcloud opportunities?opportunities?
Virtual zoo of systems? Replacements for Clusters? Extensions to existing systems and infrastructure? Surge capacity? Edge datasystems? Opportunity to go “hardwareless” when designing new systems and services?
TheThe VirtualVirtual ZooZoo
Access to a diverse image library provides an inexpensive mechanism to test applications and services on a variety of OS configurations without having to build all of them. Leverages virtualization and community images Leverages “cloud” when scale is important Using cloud for scalability testing could be interesting when you have servers you want to stress and test, but limited time and resources Creating hundreds of running instances is relatively easy and could be done by a few people in less than a day Automation of the scalability testing could be easily accomplished
AsAs ReplacementsReplacements forfor Clusters?Clusters?
There have been several experiments creating virtual clusters in EC2 and probably in other environments as well [Peter Skomoroch, et al].
These “soft” clusters are interesting, constructed on demand and then torn down with the application run is complete.
It might be possible to integrate virtual clusters into existing Linux cluster queues such that jobs that are queued for a physical cluster could be dispatched to a local cluster or a cloud based virtual cluster for execution. In fact for throughput jobs this might be even more effective. Local facilities that start supporting image based scheduling services would lead in this transition (i.e. you submit your job as one or more images rather than scripts or executables)
Cloud hosting for clusters provides one easy way to implement cycle banking since each application determines their own operation environment and overheads are relatively low This would ideally be implemented as a distributed resource if physical ownership was important Virtual ownership would make it much easier and robust to implement
SeamlessSeamless extensionsextensions
Like in the previous example seamlessly extending an existing queue could be a one way to integrate clouds with existing services and systems. But we can imagine others. How about using the cloud as a giant impedance matcher for geographically distributed systems of large-scale sensors and tightly coupled data analysis environments? The idea is simple.
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] SurgeSurge CapacityCapacity
Power companies have peakers. Typically natural gas powered turbines used during times of peak demand for power. Clouds can be used for surge capacity for groups that have variable demands for access to compute cycles or server/service cycles
SensorSensor ++ CloudCloud ++ SupercomputerSupercomputer == NextNext GenerationGeneration SimulationsSimulations
Imagine thousands (or millions) of distributed sensors deployed over the globe each generating data in some asynchronous fashion.
Each sensor updates data structures in the cloud via local internet connections. The cloud is ubiquitous, secure enough, reliable etc. and scales to the size of the sensor network and acts as an impedance matcher.
Periodically harvesting processes (in the cloud say) wake up and organize the datasets into a fashion that they can be downloaded coherently to a supercomputer for data assimilation to a large-scale parallel simulation.
GoingGoing HardwarelessHardwareless
Need: 24x7 access to flexibly configured hardware, scalable data infrastructure, and customized operating environment 1000 cores x .10 hour x 8760 hours/year x 3 years = $2.6M 1000 cores x $390/core + 3 x $43,800 power + 3 x 200K + 3 x 100K = $1.4M In my example if cluster utilization is < 53% then it is cheaper to go “hardwareless” at current retail prices
[An Introduction to SaaS and Cloud Computing presentation By Ross Cooney] CloudsClouds ExamplesExamples
Amazon.comAmazon.com Amazon Simple Storage Service (Amazon S3) . Amazon Elastic Compute Cloud (Amazon EC2) Hadoop (Map/Reduce) Large scale information processing, i.e. parallel computing
ConclusionsConclusions
The emerging concept of the cloud is pretty cool. The existing available “retail” models are hugely empowering, since they require only a credit card to get going. Ease of use is being tackled, a market is developing for images and value added services. Clouds feel like the next thing that will have traction and will enable hardwareless ventures. Scientific applications will not drive clouds, but will benefit from their widespread adoption. It is a disruptive technology in many ways and the university/agency shift will take some time, hence private sector will likely get significantly ahead. Many groups should be experimenting and it really is pretty cheap to gain the critical experience to figure out interesting things to try.
ReferencesReferences
http://en.wikipedia.org/wiki/Cloud_computing Includes references to Amazon, Apple, Dell, Enomalism, Globus, Google, IBM, KnowledgeTreeLive, Nature, New York Times, Zimdesk Others like Microsoft Windows Live Skydrive important An Introduction to SaaS and Cloud Computing presentation By Ross Cooney
http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud http://uc.princeton.edu/main/index.php?option=com_content&task=view&id=2589&Itemid=1 Policy Issues http://www.cra.org/ccc/home.article.bigdata.html Hadoop (MapReduce) and “Data Intensive Computing” See Data intensive computing minitrack at HICSS-42 January 2009 http://ianfoster.typepad.com/blog/2008/01/theres-grid-in.html OGF Thought Leadership blog OGF22 talks by Charlie Catlett and Irving Wladawsky-Berger
Presentation Question:
What are the two macro strategies dominate large-scale (intentional) computing infrastructures? Explain.
Supercomputing type Structures Large-scale integrated coherent systems Managed for high utilization and efficiency Emerging cloud type Structures Large-scale loosely coupled, lightly integrated Managed for availability, throughput, reliability