Charging Models for Data Centers Bhuvan Urgaonkar The Penn State University Bhuvan Urgaonkar The Penn State University.

Slides:



Advertisements
Similar presentations
Fred P. Baker CCIE, CCIP(security), CCSA, MCSE+I, MCSE(2000)
Advertisements

Categories of I/O Devices
Scheduling in Web Server Clusters CS 260 LECTURE 3 From: IBM Technical Report.
QoS Aware Scheduling in a Cluster-Based Web Server Jiani Guo Architecture Lab Department of Computer Science and Engineering University of California,
Cloud Computing From Different Perspective. but first, What is cloud? Why is it called cloud?
ITIS 1210 Introduction to Web-Based Information Systems Chapter 44 How Firewalls Work How Firewalls Work.
Walter Binder University of Lugano, Switzerland Niranjan Suri IHMC, Florida, USA Green Computing: Energy Consumption Optimized Service Hosting.
Chapter 4 Infrastructure as a Service (IaaS)
By Adam Balla & Wachiu Siu
Advanced Personal Property Seminar September 13,2010 Presented by: Randy Faircloth Tax Administrator Wilson County.
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Dynamic Provisioning for Multi-tier Internet Applications Bhuvan Urgaonkar, Prashant.
Ken Birman. Massive data centers We’ve discussed the emergence of massive data centers associated with web applications and cloud computing Generally.
Trust and Grid Computing Systems Presented By: Woodas Lai.
Phones OFF Please Operating System Introduction Parminder Singh Kang Home:
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CS533 - Concepts of Operating Systems
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
U NIVERSITY OF M ASSACHUSETTS, A MHERST – Department of Computer Science Resource containers: A new facility for resource management in server systems.
Failure Avoidance through Fault Prediction Based on Synthetic Transactions Mohammed Shatnawi 1, 2 Matei Ripeanu 2 1 – Microsoft Online Ads, Microsoft Corporation.
Building a Strong Foundation for a Future Internet Jennifer Rexford ’91 Computer Science Department (and Electrical Engineering and the Center for IT Policy)
Introduction to client/server architecture
Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer.
Platform as a Service (PaaS)
Computer Science Cataclysm: Policing Extreme Overloads in Internet Applications Bhuvan Urgaonkar and Prashant Shenoy University of Massachusetts.
GETTING WEB READY Introduction to Web Hosting. Table of Contents + Websites: The face of your business …………………………………………………………………………1 + Get your website.
Lecture 1 Internet CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger and Daniel Zappala Lecture 1 Introduction.
Self-Adaptive QoS Guarantees and Optimization in Clouds Jim (Zhanwen) Li (Carleton University) Murray Woodside (Carleton University) John Chinneck (Carleton.
Cloud Computing Cloud Computing Class-1. Introduction to Cloud Computing In cloud computing, the word cloud (also phrased as "the cloud") is used as a.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 15 How VoIP and Skype Work.
Adam Leidigh Brandon Pyle Bernardo Ruiz Daniel Nakamura Arianna Campos.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
Sun Grid Engine. Grids Grids are collections of resources made available to customers. Compute grids make cycles available to customers from an access.
Cloud Computing Energy efficient cloud computing Keke Chen.
Your First Azure Application Michael Stiefel Reliable Software, Inc.
Frascati, October 9th, Accounting in DataGrid Initial Architecture Albert Werbrouck Frascati, October 9, 2001.
Cloud Computing Dave Elliman 11/10/2015G53ELC 1. Source: NY Times (6/14/2006) The datacenter is the computer!
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Policy Based Data Management Data-Intensive Computing Distributed Collections Grid-Enabled Storage iRODS Reagan W. Moore 1.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
CS603 Basics of underlying platforms January 9, 2002.
Refurbished Apple Products
Unit 2 - Hardware Networking. What is a network? A computer network is essentially a connection between two or more computers. This connection can be.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Web Technologies Lecture 13 Introduction to cloud computing.
1 TCS Confidential. 2 Objective : In this session we will be able to learn:  What is Cloud Computing?  Characteristics  Cloud Flavors  Cloud Deployment.
Background Computer System Architectures Computer System Software.
Capsule Placement in the Service Platform Bhuvan Urgaonkar Timothy Roscoe Systems Group, Sprint ATL.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Chapter 10 Consumption and Savings Economics 11. What is consumption? consumption is that part of an individual’s income that is spent on goods and services.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Enabling Grids for E-sciencE Claudio Cherubino INFN DGAS (Distributed Grid Accounting System)
Platform as a Service (PaaS)
Snapshots, checkpoints, rollback, and restart
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Overview: Cloud Datacenters
Platform as a Service (PaaS)
SEDA: An Architecture for Scalable, Well-Conditioned Internet Services
Operating Systems (CS 340 D)
Chapter 2: System Structures
Introduction to Cloud Computing
Lecture 2 Overview.
CPE 401 / 601 Computer Network Systems
Cloud Computing Architecture
Presentation transcript:

Charging Models for Data Centers Bhuvan Urgaonkar The Penn State University Bhuvan Urgaonkar The Penn State University

Data Centers Clusters of compute and storage servers connected by high-speed nets Resources made available to applications Charge the applications for these resources Applications might have clients that they charge Clusters of compute and storage servers connected by high-speed nets Resources made available to applications Charge the applications for these resources Applications might have clients that they charge

Charging in a Data Center Between data center & application provider Lease out fixed # servers (over-provision) Fixed monthly rate (e.g., yahoo Web hosting) Performance-based charging (mostly research prototypes) Usage-based (e.g., Sun Grid) Between application provider & clients Fixed monthly rate (possibly with multiple classes) Transaction granularity (roughly same as usage-based) Between data center & application provider Lease out fixed # servers (over-provision) Fixed monthly rate (e.g., yahoo Web hosting) Performance-based charging (mostly research prototypes) Usage-based (e.g., Sun Grid) Between application provider & clients Fixed monthly rate (possibly with multiple classes) Transaction granularity (roughly same as usage-based)

Classification of Charging Models Flat-rate Usage-based Flat-rate + Usage-based Performance-based Bidding-based Flat-rate Usage-based Flat-rate + Usage-based Performance-based Bidding-based

Flat-rate Charging Local phone service, cable connection (+) Billing can not get easier (-) Consumer: Why should I pay even when I was on vacation? (-) Provider: Could I have improved my revenue by charging based on usage? Local phone service, cable connection (+) Billing can not get easier (-) Consumer: Why should I pay even when I was on vacation? (-) Provider: Could I have improved my revenue by charging based on usage?

Usage-based Charging Electricity Actually rate fluctuates! Service interrupted deliberately sometimes Long-distance phone Sun Grid: $1/CPU-hour There should be a way for the consumer to verify its usage E.g., Electricity meters at our homes Electricity Actually rate fluctuates! Service interrupted deliberately sometimes Long-distance phone Sun Grid: $1/CPU-hour There should be a way for the consumer to verify its usage E.g., Electricity meters at our homes

Flat-rate + Usage-based Cell phones 400 day-time minutes for free Usage-based beyond that Cell phones 400 day-time minutes for free Usage-based beyond that

Performance-based Charging Service providers like AT&T, Sprint guarantee average delays in the backbone For data centers Difficult for the data center to translate given performance into resources Workloads vary, applications are complex Desirable by application provider Caveat: How do I know what response time my clients are experiencing? Service providers like AT&T, Sprint guarantee average delays in the backbone For data centers Difficult for the data center to translate given performance into resources Workloads vary, applications are complex Desirable by application provider Caveat: How do I know what response time my clients are experiencing?

Bidding-based Charging eBay Clients bid till a pre-decided time Highest bidder gets to buy Winning bidder can not back down Open-bid: You see what others are doing Closed-bid: You don’t see what others are doing eBay Clients bid till a pre-decided time Highest bidder gets to buy Winning bidder can not back down Open-bid: You see what others are doing Closed-bid: You don’t see what others are doing

Bidding-based Charging (+) Provider: This seems to maximize revenue (-) Provider: Has to provide bidding mechanism Scalability may be a problem (-) Consumer: I have no guarantees; some rich guy can always shoot me down! (-) Consumer: Outcome known only at the end of the bid Have to wait till then to make any decisions (+) Provider: This seems to maximize revenue (-) Provider: Has to provide bidding mechanism Scalability may be a problem (-) Consumer: I have no guarantees; some rich guy can always shoot me down! (-) Consumer: Outcome known only at the end of the bid Have to wait till then to make any decisions

Possible Factors Governing the Choice of Charging Model Ease of monitoring and accounting Abundance of resource Competition for the resource Ease of verifying/proving resource usage Dependencies between various resources being bought (bidding) Different levels of desirability of the resource among the consumers Ease of monitoring and accounting Abundance of resource Competition for the resource Ease of verifying/proving resource usage Dependencies between various resources being bought (bidding) Different levels of desirability of the resource among the consumers

Interlude: Differentiated Service When does it make sense to have multiple classes? What decides the priority scheme/scheduling discipline? When does it make sense to have multiple classes? What decides the priority scheme/scheduling discipline?

Two Aspects of the Charging Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem

Two Aspects of the Charging Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem

Charging in a Data Center Which model is suitable? Apps are interested in performance metrics Data center would prefer usage-based charging What about bidding for resources? What does the choice of model depend on? Abundance, competition, peace of mind? Got to be revenue maximization, right? How to charge for the usage of multiple resources? CPU, disk, network, … Which model is suitable? Apps are interested in performance metrics Data center would prefer usage-based charging What about bidding for resources? What does the choice of model depend on? Abundance, competition, peace of mind? Got to be revenue maximization, right? How to charge for the usage of multiple resources? CPU, disk, network, …

Two Aspects of the Charging Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem

Two Aspects of the Charging Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem Charging Model Economics Problem Accounting and Verification Mechanism Systems Problem

Two Systems Requirements for Enabling Charging Accounting Resource provider should be able to monitor and account resource usage Verification Resource consumer should be able to verify its own resource usage Ability to dispute provider’s claims Accounting Resource provider should be able to monitor and account resource usage Verification Resource consumer should be able to verify its own resource usage Ability to dispute provider’s claims

Accounting Well studied by OS and networks communities Resource containers from Rice University Mostly an engineering exercise Does the problem become any harder in a virtualized hosting environment? Well studied by OS and networks communities Resource containers from Rice University Mostly an engineering exercise Does the problem become any harder in a virtualized hosting environment?

Verification Remember: App doesn’t trust the data center Auditing: Instead of verifying resource usage at all times, the consumer does it sometimes The provider should not be able to predict or detect an audit Audit at random Provider and consumer should agree to the auditing process Involve a third party that both trust The data center also doesn’t trust the application! Failing an audit is a violation of SLA Remember: App doesn’t trust the data center Auditing: Instead of verifying resource usage at all times, the consumer does it sometimes The provider should not be able to predict or detect an audit Audit at random Provider and consumer should agree to the auditing process Involve a third party that both trust The data center also doesn’t trust the application! Failing an audit is a violation of SLA

Auditing in a Data Center: Exhaustive Profiling The auditor uses extensive profiling to identify resource usage to performance mapping for all possible workloads (+) The data center can not figure out it is being audited (-) Such profiling might be prohibitively expensive The auditor uses extensive profiling to identify resource usage to performance mapping for all possible workloads (+) The data center can not figure out it is being audited (-) Such profiling might be prohibitively expensive

Auditing in a Data Center: Selective Profiling The auditor sends well-profiled probes and observes their performance (+) No need for extensive/exhaustive profiling (-) Data center might identify probes Camouflage needed (-) Not trivial to construct probes whose performance is independent of the rest of the workload The auditor sends well-profiled probes and observes their performance (+) No need for extensive/exhaustive profiling (-) Data center might identify probes Camouflage needed (-) Not trivial to construct probes whose performance is independent of the rest of the workload

Auditing in a Data Center: Self-Monitoring Applications Assume it is possible to modify the application Can the application monitor its own resource usage? Can not trust the underlying OS/VMM Assume it is possible to modify the application Can the application monitor its own resource usage? Can not trust the underlying OS/VMM

Self-Monitoring Application Idea: We add a special auditing code (AC) to the application … for (i=0; i < ; i++); … At a randomly chose time t1, the application sends a message to the auditor The application jumps to AC and starts executing it The auditor ACKs the message The application receives the ACK at time t2 and determines t2-t1, compares it with expected time to reach the current value of i Idea: We add a special auditing code (AC) to the application … for (i=0; i < ; i++); … At a randomly chose time t1, the application sends a message to the auditor The application jumps to AC and starts executing it The auditor ACKs the message The application receives the ACK at time t2 and determines t2-t1, compares it with expected time to reach the current value of i

Problems with Self-Monitoring Applications The execution time of AC depends on what other apps are doing Not a problem: data center expected to guarantee lower bounds Unpredictable delays in the Internet Send multiple probes and take average The auditor could record probe reception times and try to adjust for network delays The execution time of AC depends on what other apps are doing Not a problem: data center expected to guarantee lower bounds Unpredictable delays in the Internet Send multiple probes and take average The auditor could record probe reception times and try to adjust for network delays

Problems with Self-Monitoring Applications How to ensure data center can not identify a msg to auditor or the execution of AC? Msg to auditor and ACK should look like normal requests and responses Giveaway: Data center observes that the application has become CPU-intensive suddenly Not a problem if the app becomes CPU-intensive when serving its normal workload Need to ensure that the CPU usage during the execution of AC is indistinguishable from that when serving normal workload E.g., Running a while loop that lasts 30 min would be a bad idea How to ensure data center can not identify a msg to auditor or the execution of AC? Msg to auditor and ACK should look like normal requests and responses Giveaway: Data center observes that the application has become CPU-intensive suddenly Not a problem if the app becomes CPU-intensive when serving its normal workload Need to ensure that the CPU usage during the execution of AC is indistinguishable from that when serving normal workload E.g., Running a while loop that lasts 30 min would be a bad idea

Design Issues: Self-Monitoring Applications What is the right observation period? How many observations should be made? What about other resources? Network bandwidth perhaps similar to CPU Memory and disk bandwidth much harder! What is the right observation period? How many observations should be made? What about other resources? Network bandwidth perhaps similar to CPU Memory and disk bandwidth much harder!

Summary Charging in data centers seems like an important problem to address We can break-down the charging problem into Charging model: Economics problem Accounting and verification: Systems problems Many interesting open issues! Charging in data centers seems like an important problem to address We can break-down the charging problem into Charging model: Economics problem Accounting and verification: Systems problems Many interesting open issues!