OnCall Defeating Traffic Spikes with a Free-Market Application Cluster James Norris Keith Coleman Armando Fox George Candea Stanford University.

Slides:



Advertisements
Similar presentations
SDN Controller Challenges
Advertisements

Competitive Markets Chapter 8.
MONOPOLY GROUP 1 – Jubal, Jobi, Madhuri, Santosh, Vinayak, Devendra, Noel, Owais, Masroor.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
Chapter 5: Server Hardware and Availability. Hardware Reliability and LAN The more reliable a component, the more expensive it is. Server hardware is.
Welfare Analysis. Ranking Economic systems  Objective: to find a criteria that allows us to rank different systems or allocations of resources.  This.
Virtualization on the Intel Platform Scott Elliott Senior Systems Network Specialist Christie Digital A Customer Implementation with VMware and IBM.
OnCall Defeating Traffic Spikes with a Free-Market Application Cluster James Norris Keith Coleman Armando Fox George Candea Stanford University.
Who Wants to be an Economist? Part II Disclaimer: questions in the exam will not have this kind of multiple choice format. The type of exercises in the.
OnCall: Defeating Spikes with Dynamic Application Clusters Keith Coleman and James Norris Stanford University June 3, 2003.
1 Perfect Competition in the Short Run. 2 Perfect competition Firms in the real world make either one product or make more than one product. They also.
Profit Maximization, Supply, Market Structures, and Resource Allocation.
Demand and Supply Market and the Economy Demand The Demand Curve Demand versus Quantity Demanded Supply Supply versus Quantity Supplied Market Equilibrium.
Fair Scheduling in Web Servers CS 213 Lecture 17 L.N. Bhuyan.
Monopoly Example 2 - Haircuts
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Virtualization in Data Centers Prashant Shenoy
Profit Maximization and the Decision to Supply
Quick Quiz On 2 separate diagrams For a firm facing a downward sloping demand curve: Illustrate normal profit Illustrate abnormal profit.
1 Profit The word profit in economics really means economic profit. Let’s see what this means.
S. Suri, M, Waldvogel, P. Warkhede CS University of Washington Profile-Based Routing: A New Framework for MPLS Traffic Engineering.
Perfect Competition 11-1 Chapter 11 Main Assumption Economists assume that the goal of firms is to maximize economic profit. Max P*Q – TC = Π = TR – TC.
Virtual Network Servers. What is a Server? 1. A software application that provides a specific one or more services to other computers  Example: Apache.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Generation Expansion Daniel Kirschen 1 © 2011 D. Kirschen and the University of Washington.
The Four Market Models How do businesses decide what price to charge and how much to produce? It depends on the character of its industry.
Various methods of calculating price for your product or service
Managerial Decisions in Competitive Markets
Self-Adaptive QoS Guarantees and Optimization in Clouds Jim (Zhanwen) Li (Carleton University) Murray Woodside (Carleton University) John Chinneck (Carleton.
ENTREPRENEURS IN A MARKET ECONOMY
 How have you faced competition?  How would you define competition in economic terms?  What does perfect competition mean to you? DO NOW.
Introduction To Windows Azure Cloud
Department of Computer Science Engineering SRM University
How to Resolve Bottlenecks and Optimize your Virtual Environment Chris Chesley, Sr. Systems Engineer
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
 Desire to want something and the ability to pay for it.
CHAPTER 7 MARKET STRUCTURES. Pretending you were the owner of the company on your sheet of paper… 1) How much competition do you have (how many other.
5.1 Household Behavior and Consumer Choice We have studied the basics of markets: how demand and supply determine prices and how changes in demand and.
1 Quiz next Thursday (March 15) Problem Set given next Tuesday (March 13) –Due March 29 Writing Assignment given next Tuesday (March 13) –Due April 3.
PERFECTLY COMPETITIVE MARKETS. MAIN ASSUMPTION OF PERFECT COMPETITION   many small firms (too small to affect the market price)   identical product.
SUPPLY Chapter 5. SUPPLY IS  Supply is NOT how much of a good is sitting on the grocery store shelves --- instead it is how much producers are willing.
The Firms in Perfectly Competitive Market Chapter 14.
Kinshuk Govil, Dan Teodosiu*, Yongqiang Huang, and Mendel Rosenblum
Chapter 8 Profit Maximization and Competitive Supply.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc., All Rights Reserved. The Competitive Firm Chapter 7.
Autonomic SLA-driven Provisioning for Cloud Applications Nicolas Bonvin, Thanasis Papaioannou, Karl Aberer Presented by Ismail Alan.
Resource mediation internals The mediator can decide which resource provider(s) to allocate for a resource request This can be based on  resource cost.
Computing Infrastructure for Large Ecommerce Systems -- based on material written by Jacob Lindeman.
Perfect Competition Chapter 9 ECO 2023 Fall 2007.
V 654: The Rationales for Contracting and Privatization The Invisible Hand: The Idealized Competitive Model.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
8 | Perfect Competition Perfect Competition and Why It Matters How Perfectly Competitive Firms Make Output Decisions Entry and Exit Decisions in the Long.
The benchmark of perfect competition Defining perfect competition Modelling market interactions Welfare and efficiency.
1 Agility in Virtualized Utility Computing Hangwei Qian, Elliot Miller, Wei Zhang Michael Rabinovich, Craig E. Wills {EECS Department, Case Western Reserve.
Monopolistic Competition Economics 101. Definition  Monopolistic Competition  Many firms selling products that are similar but not identical.  Markets.
Dynamic Placement of Virtual Machines for Managing SLA Violations NORMAN BOBROFF, ANDRZEJ KOCHUT, KIRK BEATY SOME SLIDE CONTENT ADAPTED FROM ALEXANDER.
Economics Chapter 6 Prices.
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Chapter 2: A Review of Markets and Rational Behavior “…while the law [of competition] may be sometimes hard for the individual, it is best for the race,
Perfect Competition Ch. 20, Economics 9 th Ed, R.A. Arnold.
Multi-mode Energy Management for Multi-tier Server Clusters Tibor Horvath Kevin Skadron University of Virginia PACT 2008.
PERFECTLY COMPETITIVE MARKET - FIRM’S SUPPLY
Pure Competition in the Short-Run
Firms in a Competitive Market
Perfect Competition: Short Run and Long Run
Predictive Performance
Managerial Decisions in Competitive Markets
Generation Expansion Daniel Kirschen
Specialized Cloud Architectures
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Presentation transcript:

OnCall Defeating Traffic Spikes with a Free-Market Application Cluster James Norris Keith Coleman Armando Fox George Candea Stanford University

Motivation CNN.com: September 11 4x traffic in a single day 8x traffic on second day Offline for 2.5 hours, diminished service afterwards Slashdot Effect Variable Traffic Ticket Sales Contests etc 40 M M M CNN.com Page Views

What to do?

Three Options One Option: Overprovision + Works for steady state fluctuations (but not optimal) – Too expensive for spike conditions (8x servers for CNN) Another Option: Graceful Degradation + Provides basic service continuity – Full features (including revenue-generating features) may be lost Better Option: Dynamic Allocation

What is OnCall? OnCall is… a cluster management system designed to multiplex several (possibly competing) dynamic web applications onto a single cluster. Goal: Make spike handling possible while providing useful resource guarantees to all apps Solution: Marketplace of Applications Applications rent and lend computing resources according to pre-defined market policies Generic Platform Based on VMs  application generic  fast app swapping

Marketplace

Market Rounds Offline Each application assigned ownership of G computers at a fixed price (or rate)Online 1.Determine market equilibrium price, P, by querying each application 2.Calculate new allocation sizes at price P 3.Adjust allocations, moving computers from sellers to buyers 4.Repeat every time quantum, t

Offline Market: G “G” Each app “owns” G nodes Resource guarantees Never have to sell: no matter what the price or what other apps’ demands, an app is guaranteed use of its G nodes Can lend by choice (if there are renters at desired price) Can rent extra nodes (if it needs to and/or can afford to)

Online Market Marketplace Policy How many nodes do you want for $5 each? 7 nodes5 nodes2 nodes 10 nodes in cluster = 14, but I only have 10 nodes! How many nodes do you want for $10 each? 5 nodes3 nodes2 nodes = 10 Perfect! = 10 Perfect!

Online Market: Policies Inputs: Output: # of computers desired at price P Price P Performance stats CPU usage Disk I/O etc. From Marketplace Application inputs Time of day Historical usage From Application

Example Market Policy For each round, application A computes the number of nodes, n, it needs to handle current traffic Ex: Application A has a price threshold of $6: –If (P < $6), A will ask for n nodes –If (P ≥ $6), A will only ask for min(n, G) nodes – it can’t afford to rent extras n < G (no spike) n > G (spike)

Finding the Equilibrium Sample points along the different policy functions Determine the price at which the total number of nodes desired by all apps equals the total number of nodes available on the cluster

Competitive vs Cooperative Competitive Environments Ex: ASP, where app owners may be in competition Cooperative Environments Ex: Search engine, Yahoogle Quick Case Study App 1: Paid web search (very high value in low latency) App 2: Ad-supported web search (high value in low latency) App 3: Crawler (latency OK, starvation not) For each app, model utility of running at a given time Benefit: If you add an app, just need to model that app, not remodel whole system

Platform

Platform Overview L7 Load Balancers Internet Network Attached Storage containing Application VM capsules Cluster node running VMM with OnCall Manager & Marketplace Cluster nodes running VMMs, OnCall Responders, and Application VMs

Does this work?

Simulation Testbed Three Simulations, Four Traits –Spike handling under unconstrained resources –Spike handling under constrained resources –Resource guarantees –Fast server activation U.C. Berkeley X Cluster –30 Nodes (double CNN.com) –Dual 1 GHz PIII, 1.5 GB RAM –VMware GSX Server on Linux

Sim 1: Spike Handling G = 10 for both apps App 1 handles spikes, App 2 makes $$ Notice: Lag time between node assigned  node active

Sim 2: Resource Constraints G 1 = 12, G 2 = 6, G 3 = 12 App 1 has higher budget than App 2, but both spike App 1 handles spikes, App 2 sees guarantee, App 3 makes $$ App 2 buys more when App 1’s spike subsides

Sim 3: Fast Activation OnCall Optimal: Load VMs from suspended state OnCall Limited: Load VMs from shutdown state Standard with OS: OS already installed on node Standard without OS: Must install OS first Significance: Worst case, > 2x improvement –When spike lasts only 30 minutes, this is significant If you can startup quickly, accurate predictor is not critical PlatformOnCall OptimalOnCall LimitedStandard with OSStandard w/out OS Time until Active (s)

Questions?

Notes and Assumptions Homogeneity Assumption Cluster is assumed to be homogeneous—all nodes rented at same price (for simplicity) Swapping Costs Time delay cost in start up / shut down of an app on a node. If a rental contract is renewed, app runs on same node. “P” Only for Extras Apps only pay price P for nodes above and beyond their own G Ex: Using 40, G = 30  40 – 30 = 10 nodes at price P

Runtime Operation Runtime cycle repeats every t 1.Marketplace calculates equilibrium price (and thus application allocations) 2.Managers assigns apps to physical nodes (minimizing shutdowns and startups) 3.Manager signals Responders to shutdown and start new app, as necessary 4.At end of round, Manager gathers new usage stats; reports stats to Market Policies 5.Repeat

Marketplace Optimality What is “optimal?” Under resource constraints, those applications with the most utility to derive from the use of additional nodes are given those nodes Utility Curves Curve specifies: dollar value an application derives from possessing a certain number of nodes for a specific time quantum. Trivially: Utility curves are always monotonically non-decreasing (i.e. it is never worse to own more nodes at a given total cost) To be optimal: Marginal utility curves are always monotonically non-increasing (i.e. every additional node is worth same or less than one before)

Profit Through Efficiency “Shut Down” App ASP shuts down servers when it can buy them for less than the cost of keeping them running (A/C, utilities, etc) ASP can then add additional capacity and sell only when profitable

Marketplace Fairness Markets are optimal if… …they are free and fair Anti-competitive behavior Monopoly/Oligopoly Aggressive tactics Fairness through Regulation Ensure enough distinct owners  no monopoly Fine or ban app that engages in overtly anti-competitive behavior

Future Work VM caching Cache VMs to local disk (speculatively or as read from NAS) Fault tolerance Add master-backup fault tolerance to the OnCall Manager Performance statistics Provide market policies with additional statistics (e.g. end-to-end response time) Scalable data layer Add support for scalable persistent stores that would allow replication on the data tier. Multiplexing Study trade-offs of running several applications on one node