Simulating the Smart Market Pricing Scheme on DifferentiatedServices Architecture Murat Yuksel and Shivkumar Kalyanaraman Rensselaer Polytechnic Institute, Troy, NY yuksem@cs.rpi.edu, shivkuma@ecse.rpi.edu CNDS 2001, Phoenix, AZ Outline • Literature development : – Internet pricing – congestion-sensitive pricing – the smart market pricing scheme • • • • • Issues on deploying the smart market on diff-serv Adaptation of the smart market to diff-serv Packet-based simulation of the smart market Simulation experiments Summary and future work CNDS 2001, Phoenix, AZ Three Basic Pricing Strategies • Flat-rate pricing: – fixed price for a time period, F where F>0 • Usage-based pricing: – plus fixed price for unit amount of traffic, F+T where F>=0 and T>0 • Congestion-sensitive pricing: – plus varying price based upon congestion level of the network, F+T+C where F>=0, T>=0 and C>=0 CNDS 2001, Phoenix, AZ Congestion-Sensitive Pricing • A way of controlling user’s traffic demand and hence, a way of controlling network congestion • Better resource (bandwidth) allocation • Fairness • The only possible way of achieving network and economic efficiency simultaneously • Level of congestion-sensitivity: The more opportunity for price variations, the more opportunity for employing congestion-sensitivity on the price. • Problems: – Users don’t like price fluctuations! – Each price change must be fed back to the user before it could be applied, i.e. hard to implement in a wide area network. CNDS 2001, Phoenix, AZ The Smart Market • Proposed by MacKie-Mason and Varian in 1993 as a possible congestion-sensitive pricing scheme for the Internet. • Imposes a price-per-packet that reflects incremental congestion costs. • Users make auction by assigning a “bid” value to each packet before sending into the network. • The routers maintain a threshold (cutoff) value and pass only the packets with enough bid value. They give priority to the packets with higher bid! • The cutoff values changes dynamically according to the level of congestion at that router. • The price for each packet is the highest cutoff value it passed through, i.e. market-clearing price. CNDS 2001, Phoenix, AZ The Smart Market (cont’d) • Why is the smart market important? – The first congestion-sensitive pricing scheme – Designed for the smallest granularity level (i.e. packet or even possibly bits) and hence, represents the highest possible congestion-sensitivity for a network – Ideal scheme from an economic perspective because of its pure congestion-sensitivity • FOCUS: – To what extent the smart market is deployable, especially on diffserv architecture? – How to adapt it to diff-serv? – Can we develop a packet-based simulation of the smart market? CNDS 2001, Phoenix, AZ Deployment on Diff-Serv? Customer (sender) Edge Router (Ingress) Interior Router Edge Router (Egress) Customer (receiver) • What is diff-serv? – A standard architecture for the Internet: • complex operations at network edges (i.e. edge routers (ERs)) • simple operations in network core (i.e. interior routers (IRs)) • Expected to be choice of ISPs and bandwidth providers • Protocols for Service Level Agreement (SLA) are already available • Possible to make congestion-based pricing at the edges CNDS 2001, Phoenix, AZ Deployment on Diff-Serv? (cont’d) • Too much theoretically defined. Assumes immediate communication of the clearing-price, that is impossible in a wide area network. • No guaranteed service because packets can be dropped based upon their bids. • Packet reordering at the core is required. • Bidding can be done at the edges, but clearing has to be done in the core. • Sensitivity and compatibility of parameters in the formulas. CNDS 2001, Phoenix, AZ Adaptation to Diff-Serv • For data plane packets: – ERs: • write the bid value (b) to the packet header • and then send the packet into the core – IRs: • maintain a priority queue, sorted according to packets’ bids • if b<T, drop the packet • if b>=T, update the packet’s clearing-price field and forward it • For control plane packets: – ERs and IRs maintain a time interval (τ) which is greater than round-trip time (RTT) to operate. – Hence, the customers are fed back with the current price and their account information at every τ. CNDS 2001, Phoenix, AZ Adaptation to Diff-Serv (cont’d) – ERs and customers: • Ingress ER sends a “probe” packet to the network core at every τ to find out the current clearing-price of the network. • Egress ER responds to the probe packet by a “feedback” packet that includes current clearing-price and bill to the customer. • set the bids of control packets to the maximum bid value (limitation-bids must be bound to a range) • Ingress ER informs the customer about his bill and the current clearing-price. • Customers adjust their bids and traffic based upon the bill, the clearing-price, and his budget. – IRs: • update the threshold (T) value at every τ • update control packets’ clearing-price field too CNDS 2001, Phoenix, AZ Packet-Based Simulation • Issues: – What must be the customer model? – How to set the cutoff value (T) at IRs? – How to handle parameter sensitivity and compatibility? CNDS 2001, Phoenix, AZ Customer Model • Smart market says that each customer should maximize {u(x) - D(Y) - px} or {u(x,D) - px} with respect to x, where – – – – – x is the number of packets to send u() is the utility of the customer Y is the utilization of the network D is the delay experienced by the customer p is the current clearing-price of a packet for the network • Smart market also says that the value of x for maximization can be found by equating the clearing-price to marginal utility, i.e. p = ∂u(x,D) / ∂x CNDS 2001, Phoenix, AZ Customer Model (cont’d) • So, what is an accurate utility function for the customer? – model for the indifference curves between x and D: x = (aD + b)^2, where a and b are constants – utility function: u(x,D) = x^(1/2) – aD – p = u’(x,D) = 1 / 2x^(1/2) – x = 1 / 4p^2 number of packets to send in the next interval! • If customer’s budget is not enough for that value of x, then she/he lowers it to x = Budget / p. CNDS 2001, Phoenix, AZ Cutoff Value, T • Smart market says that the Irs should adjust the cutoff value such that T = n/K * D’(Y), where n is the number of customers and K is the capacity of the network. • We assumed n/K to be constant for simplicity. • IRs update T by calculating D’(Y) at the end of each interval, τ. • IRs maps T values to [0,1], and hence loose accuracy… Cutoff Value 1 0.8 0.6 Experimental T 0.4 Ideal T 0.2 0 5 10 15 20 25 30 35 40 45 50 Budget of the customer Steady state cutoff value, T, for different customer budgets CNDS 2001, Phoenix, AZ Simulation Experiments ER Customers (Senders) ... ER ER IR Bottleneck IR ... Customers (Receivers) ER Configuration of the experimental network • • • • Customers send CBR UDP traffic through their corresponding ERs. Packet size is 1000bytes. Bottleneck capacity is 1Mbps and propagation delay is 10ms. All other links are with 100Mbps capacity and 1ms of propagation delay. • RTT is 24ms. • The time interval τ is 0.4s = 400ms. CNDS 2001, Phoenix, AZ Simulation Experiments (cont’d) Expe rime nt Numbe r of Budge ts of Total Numbe r C ustome rs the C ustome rs Budge ts 1 2 10,10 20 2 2 10,20 30 3 4 1,3,5,7 16 4 5 1,3,5,7,9 25 List of the experiments • Network efficiency: – bottleneck queue length – bottleneck utilization – packet drop rate • Economic efficiency: – volume (rate) allocations to customers – steady-state cutoff value CNDS 2001, Phoenix, AZ 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Bottleneck Utilization 44.4 40.4 36.4 32.4 28.4 24.4 20.4 16.4 12.4 8.4 4.4 Cutoff Value 0.4 Utilization and Cutoff Value Simulation Experiments (cont’d) Simulation Time (secs) Bottleneck utilization and cutoff in Experiment 1. CNDS 2001, Phoenix, AZ 60 50 40 Bottleneck Queue Length 30 20 10 43.6 38.8 34 29.2 24.4 19.6 14.8 10 5.2 0 0.4 Bottleneck Queue Length (packets) Simulation Experiments (cont’d) Simulation Time (secs) Bottleneck queue length in Experiment 1 CNDS 2001, Phoenix, AZ 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Bottleneck Utilization 44.4 40.4 36.4 32.4 28.4 24.4 20.4 16.4 12.4 8.4 4.4 Cutoff Value 0.4 Utilization and Cutoff Value Simulation Experiments (cont’d) Simulation Time (secs) Bottleneck utilization and cutoff in Experiment 4 CNDS 2001, Phoenix, AZ 60 50 40 Bottleneck Queue Length 30 20 10 43.6 38.8 34 29.2 24.4 19.6 14.8 10 5.2 0 0.4 Bottleneck Queue Length (packets) Simulation Experiments (cont’d) Simulation Time (secs) Bottleneck queue length in Experiment 4 CNDS 2001, Phoenix, AZ 0.2 0.18 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 Customer 1 40.1 36.5 32.9 29.3 25.7 22.1 18.5 14.9 11.3 7.71 4.11 Customer 2 0.52 Allocated Volume (Mbps) Simulation Experiments (cont’d) Simulation Time (secs) Volume allocations to customers Experiment 1 CNDS 2001, Phoenix, AZ 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 Customer 1 Customer 2 Customer 3 Customer 4 40.1 36.5 32.9 29.3 25.7 22.1 18.5 14.9 11.3 7.71 4.11 Customer 5 0.52 Allocated Volume (Mbps) Simulation Experiments (cont’d) Simulation Time (secs) Volume allocations to customers Experiment 4 CNDS 2001, Phoenix, AZ Summary • We proposed some major changes to implement the smart market on diff-serv with UDP flows. • We developed a simulator for the smart market comparable to simulators of possible new pricing schemes for the Internet. • We observed that: – the smart market meets all economic efficiency goals by pricing the bandwidth accurately and allocating the bottleneck volume to the customers proportional to their budgets. – but it fails to fully meet network efficiency goals, because it cannot utilize the bottleneck very well, although it is able to control congestion with low bottleneck queue length and drop rate. CNDS 2001, Phoenix, AZ Future Work • a thorough investigation of difficulties implementing the smart market on TCP flows in • consideration of multiple diff-serv domain case • the smart market’s behavior on bursty traffic patterns CNDS 2001, Phoenix, AZ