Interconnect Performance Modeling. Performance modeling Given an interconnect topology, routing, and other parameters, predict the interconnect performance.

Slides:



Advertisements
Similar presentations
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Advertisements

Optimization problems using excel solver
Linear Programming Problem
Shi Bai, Weiyi Zhang, Guoliang Xue, Jian Tang, and Chonggang Wang University of Minnesota, AT&T Lab, Arizona State University, Syracuse University, NEC.
Linear Programming (LP) (Chap.29)
1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“
Linear Programming Models & Case Studies
Introduction to Algorithms
Interconnect throughput modeling. Important network performance metrics Throughput – Point to point (link bandwidth + end host software overheads) – Aggregate.
Linear Systems of Inequalities Math Tech II Everette Keller.
1 Advancing Supercomputer Performance Through Interconnection Topology Synthesis Yi Zhu, Michael Taylor, Scott B. Baden and Chung-Kuan Cheng Department.
Distributed Algorithms for Secure Multipath Routing
1 Internet Networking Spring 2002 Tutorial 9 Max-Min Fairness.
Detecting Network Intrusions via Sampling : A Game Theoretic Approach Presented By: Matt Vidal Murali Kodialam T.V. Lakshman July 22, 2003 Bell Labs, Lucent.
1 Internet Networking Spring 2004 Tutorial 9 Max-Min Fairness.
Network Bandwidth Allocation (and Stability) In Three Acts.
PROFITABLE CONNECTION ASSIGNMENT IN ALL OPTICAL WDM NETWORKS VISHAL ANAND LANDER (Lab. for Advanced Network Design, Evaluation and Research) In collaboration.
Linear Programming (6S) and Transportation Problem (8S)
Jerry Chou and Bill Lin University of California, San Diego
Linear Programming Integer Linear Models. When Variables Have To Be Integers Example – one time production decisions –Fractional values make no sense.
Lecture 10. TCP flow Control Used for data transfer Every successful packet is acknowledged One can not have more than W unacknowledged packets, where.
1 Lecture 2 & 3 Linear Programming and Transportation Problem.
Chapter 3 An Introduction to Linear Programming
1 1 Slides by John Loucks St. Edward’s University Modifications by A. Asef-Vaziri.
Flow Models and Optimal Routing. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and.
Steady and Fair Rate Allocation for Rechargeable Sensors in Perpetual Sensor Networks Zizhan Zheng Authors: Kai-Wei Fan, Zizhan Zheng and Prasun Sinha.
Homework 2. Problem 1 Families 1…..N go out for dinner together. To increase their social interaction, no two members of the same family use the same.
1 EL736 Communications Networks II: Design and Algorithms Class2: Network Design Problems -- Notation and Illustrations Yong Liu 09/12/2007.
Network Models (2) Tran Van Hoai Faculty of Computer Science & Engineering HCMC University of Technology Tran Van Hoai.
1 Chapter-4: Network Flow Modeling & Optimization Deep Medhi and Karthik Ramasamy August © D. Medhi & K. Ramasamy, 2007.
Network Aware Resource Allocation in Distributed Clouds.
1 1 Slide © 2005 Thomson/South-Western Slides Prepared by JOHN S. LOUCKS ST. EDWARD’S UNIVERSITY.
L14. Fair networks and topology design D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2015.
1 DSCI 3023 Linear Programming Developed by Dantzig in the late 1940’s A mathematical method of allocating scarce resources to achieve a single objective.
1 1 Slide Linear Programming (LP) Problem n A mathematical programming problem is one that seeks to maximize an objective function subject to constraints.
Introduction A GENERAL MODEL OF SYSTEM OPTIMIZATION.
1 1 Slide © 2005 Thomson/South-Western Chapter 2 Introduction to Linear Programming n Linear Programming Problem n Problem Formulation n A Maximization.
In The Name Of Allah Lab 07 ins. Tahani Aldweesh.
Chapter 2 Introduction to Linear Programming n Linear Programming Problem n Problem Formulation n A Maximization Problem n Graphical Solution Procedure.
EE 685 presentation Optimization Flow Control, I: Basic Algorithm and Convergence By Steven Low and David Lapsley.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
1 - CS7701 – Fall 2004 Review of: Detecting Network Intrusions via Sampling: A Game Theoretic Approach Paper by: – Murali Kodialam (Bell Labs) – T.V. Lakshman.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
1 What is Optimization The Optimization Problem is: Find values of the variables that minimize or maximize the objective function while satisfying the.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Linear Programming & its Applications to Wireless Networks Guofeng Deng IMPACT Lab, Arizona State University.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
IT Applications for Decision Making. Operations Research Initiated in England during the world war II Make scientifically based decisions regarding the.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
Linear Programming.  Linear Programming provides methods for allocating limited resources among competing activities in an optimal way.  Linear → All.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming Chapter 2.
Slides by Yong Liu1, Deep Medhi2, and Michał Pióro3
1. Solve this system and find the product of its solutions. x + y = 7 2x – y =8 2. The feasible region for a set of constraints has vertices (2,0), (8,2)
D. AriflerCMPE 548 Fall CMPE 548 Routing and Congestion Control.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
Impact of Interference on Multi-hop Wireless Network Performance
Engineering Economics (2+0)
Chapter 2 An Introduction to Linear Programming
Constraint-Based Routing
Linear Programming (LP) (Chap.29)
Chapter 1. Introduction Mathematical Programming (Optimization) Problem: min/max
An Equal-Opportunity-Loss MPLS-Based Network Design Model
CS223 Advanced Data Structures and Algorithms
L12. Network optimization
Addressing uncertainty in a transshipment problem
Chapter 5 Transportation, Assignment, and Transshipment Problems
Chapter 6 Network Flow Models.
Linear Programming Problem
Presentation transcript:

Interconnect Performance Modeling

Performance modeling Given an interconnect topology, routing, and other parameters, predict the interconnect performance – Throughput – Latency – Power consumption – Resilience (fault tolerance properties)

Modeling the aggregate throughput of an interconnect Given an interconnect topology, routing, and a communication pattern, predict the aggregate throughput of the pattern. – Assuming the links speed in the following network is 1Gbps; what is the aggregate throughput for pattern: 1->2, 0->2, 2->1?

Modeling the aggregate throughput of an interconnect Method 1: Bottleneck link estimation for single path routing: – Count the number of times each link is used. – The throughput of a flow is the equal share of the bandwidth on the bottleneck link (the most used link along the path): BW/usage_count – Example: bidirectional 1Gbps links throughput the network, pattern: 0->2, 1->2, 2->

Modeling the aggregate throughput of an interconnect Linear programming formulation for finding the maximum possible throughput. Maximize x0+x1+x2 Subject to: 0<=X0<= <=x1<= <=x2<= x0+x1<=

Linear programming (LP) Used extensively in solving networking modeling problems (and many other CS problems such as register allocation in compilers). A linear programming is defined by – A set of variables – An optimization objective function (linear function of the set of variables) – A set of linear constraints (linear on the variables)

Examples of linear functions Assuming that x, y, and z are variables, which of the following are linear functions on the variables? a.5xy b.x/y + 2z c.4x + 3y + (2/3)z d.5x 2 + 6y 2 e.2 + x f.(x + y) / z The generic form of Linear function of x, y and z: c1*x + c2*y + c3*z + c4, where c1, c2, c3, and c4 are constants

An example LP formulation Maximize obj: 500 x x2 Subject to c1: x1 + x2 <= 10 c2: x1 + x2 >= 7 c3: 200 x x2 <= 1200 c4: x1 + 2 x2 <= 12 Bounds 0<= x1 0<= x2 General End If some variables only take Integer values, the problem is called integer linear programming (ILP) problem. LP problem have polynomial solutions while ILP is NP-hard. Many highly optimized LP/ILP solvers (CPLEX, LP solve, etc)

LP/ILP formulation LP/ILP Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. 1.Understand the problem thoroughly. 2.Describe the objective in words. 3.Describe each constraint in words. 4.Define the decision variables. 5.Write the objective in terms of the decision variables. 6.Write the constraints in terms of the decision variables.

An example A farmer has 10 acres to plant in wheat and rye. He has to plant at least 7 acres. However, he has only $1200 to spend and each acre of wheat costs $200 to plan and each acre of rye costs $100 to plant. Moreover, the farmer has to get the planting done in 12 hours and it takes an hour to plant an acre of wheat and 2 hours to plant an acre of rye. If the profit is $500 per acre of wheat and $300 per acre of rye how many acres of each should be planted to maximize profits?

An example Variables: – Number of acres for wheat -- x1 – Number of acres for rye -- x2 Optimization objective: maximize the profit -- the profit is $500 per acre of wheat and $300 per acre of rye. – Maximize 500*x *x2 Constraints: – A farmer has 10 acres to plant in wheat and rye.  x1 + x2 <= 10 – He has to plant at least 7 acres.  x1 + x2 >=7

An example Constraints (continue): – he has only $1200 to spend and each acre of wheat costs $200 to plan and each acre of rye costs $100 to plant.  ??? – the farmer has to get the planting done in 12 hours and it takes an hour to plant an acre of wheat and 2 hours to plant an acre of rye  ??? Put it all together: Maximize 500 x x2 Subject to x1 + x2 <= 10 x1 + x2 >= x x2 <= 1200 x1 + 2 x2 <= 12 0<= x1 0<= x2

Another example A gold processor has two sources of gold ore, source A and source B. In order to kept his plant running, at least three tons of ore must be processed each day. Ore from source A costs $20 per ton to process, and ore from source B costs $10 per ton to process. Costs must be kept to less than $80 per day. Moreover, Federal Regulations require that the amount of ore from source B cannot exceed twice the amount of ore from source A. If ore from source A yields 2 oz. of gold per ton, and ore from source B yields 3 oz. of gold per ton, how many tons of ore from both sources must be processed each day to maximize the amount of gold extracted subject to the above constraints?

Method 2: Modeling maximum aggregate throughput for single path routing using LP Given a topology (links and bandwidths), a single path routing scheme A list of n SD pairs: s1->d1, …, sn->dn Variables: xi – rate for SD pair si->di Optimization objective: – Maximize x1+x2 + …+ xn

Method 2: continue Constraints: for each link l, the bandwidth used must be less than its capacity Constraints: for all xi, xi >=0

Method 2: Example Finding the maximum possible throughput using (integer) linear programming – For pattern: 0->2, 1->2, 2->1 x0: flow rate for 0->2, x1: rate for 1->2, x2: rate for 2->1 Maximize x0+x1+x2 Subject to: x0<= x1<= x2<= x0+x1<= <=x0, x1, x x0 x0,x1 x1x2

Method 3: Modeling maximum aggregate throughput for multi-path routing using LP Given a topology (links and bandwidths), a multi-path routing scheme A list of n SD pairs s1->d1, …, sn->dn – Each SD pair has multiple paths that can be used to carry traffic. Var: xij – rate for the j-th path for the i-th SD pair si->di Optimization objective: – Maximize x10+x11 + …

Modeling maximum aggregate throughput for multipath path routing using LP Constraints: for each link l, the bandwidth used must be less than its capacity For all xi, xi >=0

Is maximizing aggregate throughput a good metric? Consider the example with pattern: 0->2, 1->2, 0->

Modeling the aggregate throughput of an interconnect The metric issue: to maximize the throughput for {0->2, 1->2, 0->1} will require 0->2 to starve!! This leads to a fairness issue – To be fair, all flows must be treated equally Maximizing concurrent flows Max-min faireness

Maximize concurrent flows Raise the rate for all flows until some flow uses a saturate link Report the rate Consider pattern 0->1, 1->2, 0->2 – Maximum concurrent flow rate = 0.5Gbps – Aggregate throughput = 1.5Gbps

Method 4: Modeling maximum concurrent flows for single path routing using LP Given a topology (links and bandwidths), a single path routing scheme A list of n SD pairs: s1->d1, …, sn->dn Variables: xi – rate for SD pair si->di Optimization objective: /* maximize the rate that all flows can have */ – “Maximize x1+x2 + …+ xn”  “maximize x” where x<=x1, x<=x2, …, x<=xn.

Method 3: Example Finding the maximum possible throughput using (integer) linear programming – For pattern: 0->2, 1->2, 2->1 x0: flow rate for 0->2, x1: rate for 1->2, x2: rate for 2->1 Maximize x Subject to: x<=x0 x<=x1 x<=x2 x0<= x1<= x2<= x0+x1<= <=x0, x1, x x0 x0,x1 x1x2

Method 5: Modeling maximum concurrent flows for multi-path routing using LP Given a topology (links and bandwidths), a single path routing scheme A list of n SD pairs: s1->d1, …, sn->dn Variables: xij – rate for the j-th path of i-th SD pair si->di Optimization objective: /* maximize the rate that all flows can have */ – “Maximize x1+x2 + …+ xn”  ???

Max-min fairness Given a network and a set of active users (identified by source destination pairs), what is the optimal rate allocation for these users? – Maximize aggregate throughput – Fairness among all users.

Modeling maximum stationary aggregate throughput How to define fairness? – “Any session is entitled to as much network use as is any other,” – “Unless some sessions can use more without hurting others.” – This is the intuition of Max-Min fairness Other fairness definitions – Network usage should depend on the resource consumption by the session.

Max-min fairness formal definition Lexicographical Comparison – a n-vector x=(x 1,x 2, …,x n ) sorted in non-decreasing order (x 1 ≤x 2 ≤ …≤ x n ) is lexicographically greater than another n-vector y=(y 1,y 2, …,y n ) sorted in non-decreasing order if an index k, 0 ≤k ≤n exists, such that x i =y i, for i=1,2,…,k-1 and x k >y k – (2,4,5) > L (2,3,100) Given n (src, dst) pairs in a pattern, a rate allocation assigns each (src, dst) pair a rate – we can sort the vector to make a n- vector of non-decreasing order. A feasible allocation is an allocation where the link bandwidth used on all links in the network are within capacity. Max-min Fairness: an allocation is max-min fair if its lexicographically greater than any feasible allocation

Max-min fairness Max-min Fairness: an allocation is max-min fair if its lexicographically greater than any feasible allocation. – If the rate for a flow is increased, another flow whose rate is no more than this flow will be decreased. Alternative Max-min fairness definitions – A feasible rate vector is max-min fair if no rate can be increased without decreasing some s.t. A network system that tries to optimize the throughput for all users is approximating max-min fairness.

Method 6: Max-min fair rate calculation -- single path routing – For single path routing: 1.start with 0 rate for all demand 2.increase rate at the same speed for all demands, until some link saturated -- what problem is this? 3.remove saturated links, and demands using those links 4.go back to step 2 until no demand left. Idea: equal share as much as possible

Find max-min fair allocation B CA link rate: AB=BC=1, CA=2 demand 1,2,3 =1/3 demand 4 =2/3 demand 5=4/3

Method 7: Find max-min fair allocation – multipath routing with splitable flows – Multiple paths for each SD pairs are known: 1.start with 0 rate for all demand 2.Solve the multi-path maximum concurrent flow problem. 3.Remove saturated links, and demands whose paths using those links 4.go back to step 2 until no demand left.

Method 8: Find max-min fair allocation – optimal multi-path with splitable flows – The problem can be formulated as multi- commodity flow problem. – Multi-commodity flow problem: Given a topology, which is the maximum flow rate that can be pushed from a source s to a destination d. sd For each link create a variable for each flow Flow rate into a node needs to be equal to the flow rate out of a node for all but source and destination. The flow rate for the SD pair is the net outgoing flow of the source.

Method 8: Find max-min fair allocation – optimal multi-path with splitable flows – The problem can be formulated as multi- commodity flow problem. – Same logical as Method 7 with a different max concurrent flow problem to solve in every step. – See this paper be more details: Nace, Dritan and Nhat Doan, Linh and Klopfenstein, Olivier and Bashllari, Alfred, “Max-min Fairness in Multi-commodity Flows”, Computers and Operations Research, 35(2): , February 2008.