Exploiting Phase Behavior for Efficient Program Sampling

Download Report

Transcript Exploiting Phase Behavior for Efficient Program Sampling

The Cloud Platform:
A Vision for the Science of Cloud Computing
for the Next Decade
Chandra Krintz
Computer Science Dept.
Univ. of California, Santa Barbara
http://www.cs.ucsb.edu/~ckrintz
http://appscale.cs.ucsb.edu
NSF Cloud Workshop
March 17, 2011
public cloud computing
•
3 types: as-a-Service (aaS)

Infrastructure: Amazon Web Services (EC2, S3, EBS)
Virtualized, isolated (CPU, Network, Storage) systems on which
users execute entire runtime stacks

Fully customer self-service
Open APIs (IaaS standard), scalable services

Platform: Google App Engine, Microsoft Azure

Software: Salesforce.com
appscale
private / open-source cloud computing
•
3 types: as-a-Service (aaS)

Infrastructure: Amazon Web Services (EC2, S3, EBS)
Open IaaS offerings exist for private/hybrid use
Eucalyptus – Amazon AWS API emulation on private cluster,
transparent hybrid solution
Other APIs: Rackspace/OpenStack, CloudStack, OpenNebula

Platform: Google App Engine, Microsoft Azure

Software: Salesforce.com
appscale
public cloud computing
•
3 types: as-a-Service (aaS)

Infrastructure: Amazon Web Services (EC2, S3, EBS)
Virtualized, isolated (CPU, Network, Storage) systems on which
users execute entire runtime stacks

Fully customer self-service
Open APIs (IaaS standard), scalable services

Platform: Google App Engine, Microsoft Azure
Scalable program-level abstractions via well-defined interfaces
Enable construction of network-accessible applications
Process-level (sandbox) isolation, complete software stack

Software: Salesforce.com
Applications provided to thin clients over a network
Customizable
appscale
why focus on the platform (PaaS) ?
•
The platform is the cloud runtime

Just as IaaS (infrastructure) is the cloud operating system (OS)
Platform abstracts complex, low-level details of IaaS
Impacts development as well as system/application behavior
appscale
why focus on the platform (PaaS) ?
•
The platform is the cloud runtime; IaaS is the cloud “OS”


•
Platform abstracts complex, low-level details of IaaS
Impacts development and system/application behavior
Programmer productivity (target: developer vs sys admin)


Development, debugging, testing, configuration, deployment
“Write-once/Run-anywhere” for the cloud
Portability (across an growing sea of IaaS APIs / consoles)
Lockin avoidance and ability to “test-drive” public cloud offerings
Public/private/hybrid choice, thus competition

Broaden developer base: scientists, financial experts, data
analysts, educators, …
Via a variety of high-level programming languages, frameworks,
and IDE support
appscale
why focus on the platform (PaaS) ?
•
The platform is the cloud runtime; IaaS is the cloud “OS”


•
Platform abstracts complex, low-level details of IaaS
Impacts development and system/application behavior
Availability of application-level knowledge/behavior/events

Profiling/monitoring/sampling
Individual services, applications, application workloads



Bug isolation and debugging support
Security and performance anomolies
Multi-tenent interference and compatibility
System wide resource availability, capability, performance

Control: dynamic performance and cost adaptation
SW updates, scheduling, placement, cost, optimize/specialize
Cross-cloud (hybrid) execution and service use
Can coordinate with & provide feedback to IaaS layer
appscale
platform design
apps & app
components
APIs
API implementation
•
…
Cloud platform provides

Multi-language API implementation
 Local/private implementations
 Via available public cloud services
cloud platform



App/Resource monitoring
Optimization/adapation
Elasticity (growing/shrinking of
application components on demand)
 Interoperation with IaaS
 SLA (re-)negotiation
 VM starting/stoping
 VM reuse
IaaS,
virtualized
clusters


Configuration/deployment of and
access to services
Cross/multi-cloud (hybrid) support
 Backup/recover of data
 Access to different services
 User locality
Fault tolerance, high availability
Pluggable, extensible, scalable,
appscale
performant

•
platform design
apps & app
components
APIs
API implementation
•
…

Elasticity
Service config
VM/IAAS control
Backup/recovery
Emulate popular/standard public cloud
interfaces
 Engender user community
 Evaluate using real applications
 Initial app domain: web services
cloud platform
Monitoring
Opt/adaptation
Hybrid support
Fault tolerance
IaaS,
virtualized
clusters
APIs

Data management
 Database, key-value store, files/blobs,
transactional semantics, caching

Users
 Messaging, email, authentication

Tasking
 Response-driven
 Background / periodic

Web access
 Fetch, export, user interaction

Data analytics
 Map-reduce
appscale
appscale: enabling cloud platform research
apps & app
components
APIs
API implementation
…
appscale
Monitoring
Opt/adaptation
Hybrid support
Fault tolerance
Elasticity
Service config
VM/IAAS control
Backup/recovery
Eucalyptus
Amazon AWS
Xen, KVM, …
•
•
•
•
Scalable, extensible distributed system
Open source, extant community
• Emulates Google App Engine
• Leverages existing tools/services
Automates distributed configuration
and deployment using private clusters
Hybrid (public/private) cloud support
appscale
appscale: enabling cloud platform research
apps & app
components
APIs
API implementation
•
…
Elasticity
Service config
VM/IAAS control
Backup/recovery
Eucalyptus
Amazon AWS
Xen, KVM, …
•
•

Scalable, extensible distributed system
Open source, extant community
• Emulates Google App Engine
• Leverages existing tools/services
Automates distributed configuration
and deployment using private clusters
Hybrid cloud support
Data management
 MySql, Cassandra, HBase, Hypertable
 AWS SimpleDB, Azure SQL, Bigtable
 Distributed transaction support
 Memcache, blobstore
appscale
Monitoring
Opt/adaptation
Hybrid support
Fault tolerance
•
•
APIs

Users
 Messaging, email, authentication

Tasking
 Cron, task queues

Web access
 Fetch, export, user interaction

Computationally intensive
 Parallel/concurrency support
 MPI, X10
 Distributed simulation (biochemistry)

Data analytics
 Map-reduce (hadoop, pig, hive)
 R, Matlab
 Yahoo! S4 (streaming)

Steering: Elasticity control
appscale
appscale: enabling cloud platform research
apps & app
components
APIs
API implementation
•
…
Potential key research directions

 Multi-tenency
 Specialized for domain
appscale
Monitoring
Opt/adaptation
Hybrid support
Fault tolerance
Elasticity
Service config
VM/IAAS control
Backup/recovery
Data management

Optimization, specialization
 Components, services, system, cloud

Programming language support
 Interpreter and JIT optimizations
 Cloud-aware language extensions
 Debugging and testing
 Software evolution and live updates
Eucalyptus
Amazon AWS
Xen, KVM, …

Support for other application domains
 Computationally and data intensive


Fault tolerance
Elasticity, placement, scheduling
 Energy awareness




Hybrid cloud support
PaaS / IaaS interoperation
Mobile device integration
Software stewardship/VM management
appscale
appscale
http://appscale.cs.ucsb.edu
• Thanks!


Leads: Chris Bunch, Navraj Chohan
Development and research team: Maciej Baranski, Jovan Chohan,
Nupur Garg, Jonathan Kupferman, Yiming Li, Nagy Mostafa,
Yoshihide Nomura (Fujitsu), Kowshik Prakasam, Bing Wei, Michal
Weigel
• UCSB Cloud Computing

Divy Agrawal, Amr El Abbadi, Chandra Krintz, Rich Wolski, Ben Zhao,
and others
http://www.cs.ucsb.edu
• Support

Google, IBM Research, National Science Foundation
appscale