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

charging.ppt

Embed Size (px)

Citation preview

Page 1: charging.ppt

Charging Models for Data Centers

Charging Models for Data Centers

Bhuvan UrgaonkarThe Penn State University

Bhuvan UrgaonkarThe Penn State University

Page 2: charging.ppt

Data CentersData 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

Page 3: charging.ppt

Charging in a Data Center

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)

Page 4: charging.ppt

Classification of Charging Models

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

Page 5: charging.ppt

Flat-rate ChargingFlat-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?

Page 6: charging.ppt

Usage-based ChargingUsage-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

Page 7: charging.ppt

Flat-rate + Usage-basedFlat-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

Page 8: charging.ppt

Performance-based ChargingPerformance-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?

Page 9: charging.ppt

Bidding-based ChargingBidding-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

Page 10: charging.ppt

Bidding-based ChargingBidding-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

Page 11: charging.ppt

Possible Factors Governing the Choice of Charging ModelPossible 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

Page 12: charging.ppt

Interlude: Differentiated Service

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?

Page 13: charging.ppt

Two Aspects of the Charging ProblemTwo 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

Page 14: charging.ppt

Two Aspects of the Charging ProblemTwo 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

Page 15: charging.ppt

Charging in a Data Center

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, …

Page 16: charging.ppt

Two Aspects of the Charging ProblemTwo 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

Page 17: charging.ppt

Two Aspects of theCharging ProblemTwo Aspects of theCharging Problem

• Charging Model• Economics Problem

• Accounting and Verification Mechanism• Systems Problem

• Charging Model• Economics Problem

• Accounting and Verification Mechanism• Systems Problem

Page 18: charging.ppt

Two Systems Requirements for Enabling Charging

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

Page 19: charging.ppt

AccountingAccounting

• 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?

Page 20: charging.ppt

VerificationVerification• 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

Page 21: charging.ppt

Auditing in a Data Center:

Exhaustive Profiling

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

Page 22: charging.ppt

Auditing in a Data Center:

Selective Profiling

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

Page 23: charging.ppt

Auditing in a Data Center:Self-Monitoring

Applications

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

Page 24: charging.ppt

Self-Monitoring Application

Self-Monitoring Application

• Idea: We add a special auditing code (AC) to the application• … for (i=0; i < 1000000; 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 < 1000000; 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

Page 25: charging.ppt

Problems with Self-Monitoring Applications

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

Page 26: charging.ppt

Problems with Self-Monitoring Applications

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

Page 27: charging.ppt

Design Issues: Self-Monitoring Applications

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!

Page 28: charging.ppt

SummarySummary• 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!