Friday, 4 April 2008

Technology, economics, ethics, qos and flow control

Dr. Lawrence Roberts, who was one of the men who started the internet and is no head of switch company Anagran wrote on Internet Evolution. I reacted as follows:

I think I will have to disagree with the whole contents of your post. The problem lies in a combination of factors: technology, economics and ethics. Technology wise I do wonder about the technical soundness of flow control routers. We tried much of the basics with ATM and the idea didn't scale well. However, you've got your technical credentials, so lets assume the product you are pitching works as sales sais it does.

The problem however is that technology in itself may be sound, but that the discipline of economics provides the measures along which the success of technology gets measured. Terms like: the best, fairness, quality, simple and even scale are not technical terms. There is no best chip or router design. ATM isn't better or worse than Ethernet. It does different things. Simplicity is impossible to measure when you're talking millions of lines of code, high end lasers, asics etc.

Measuring what is best requires therefore insight into the field of economics. I've once tried to write an outlne for a scientific paper on the subject. You can find it here: One of the main problems with adding flow control like structures to networks is that they base themselves on the premise that the network is almost full and therefore we need a mechanism to manage congestion on the network.

There are 2 problems with this idea:

1. Is there a problem: Are networks really full? (which means in technical terms that spikes at small time intervals (hundreds of miliseconds) are exceeding network capacity? Are we really seeing this often?

2. Are you the solution: Is the solution to managing a traffic jam, to introduce congestion management or to increase capacity? Network growth is 50% per year according to mr. Odlyzko. So when the current usage of the network is set at 100 and it is reaching the capacity where flow control kicks in.. In a year time it will be 150 and in two years time at 225. How many packets can flow control drop without it being like TCP?

With TCP fairness (fairness is ethics) ideas there are also similar problems.

1. It assumes that over the entire stretch between two network points there is a problem. What if the two end points are small say 1mbit upload on both sides. Why would that require control in a non congested 10Gbit network in the middle?

2. It seems to assume that every TCP flow should get an equal proportion of bandwidth. However I have paid for 20/1 DSL. What would be a fair distribution of available space on a 100mbit line between me and 40 people with a 5 mbit line? Do we all get equal amounts of bandwidth? Do I get 4 times as much because I have bought 4 times as much? or 8 times as much, because I pay 8 times as much. Do we want communism or capitalism?

3. You mentioned that TCP punishes those that are further away. This sounds correct from an economical point of view, distance incurs costs, costs decrease efficiency. Inefficient solutions should be thrown out. Get stuff locally.

4. randomly dropping packets is seen as unfair. many solutions are trying to think up ways to determine which packets should be dropped. This requires the network to know the utility function of all users in order to determine fairness. However if I have 2 streams running each consuming 5 mbit/s whereas there is only one 9 available, maybe I don't want 4.5mbit per stream, but want to drop one of the streams. How would the network know which one to drop. Random dropping hits everybody equally with the added costs of omniscience.

5. How do you balance streams fairly if you don't know the future? traffic changes on miliseconds. Are you sure that dropping this packets is necessary, maybe the end-user stops a transfer and other packets should be dropped from the que. or maybe no packets need to be dropped, because all of the sudden traffic stops.

All in all if we look at this from an economics point of view, the rules of economy teach us that generally the solution is that one which is the most efficient as seen from the market players individually and as a whole. It should therefore have low entry costs, low transaction costs, little overhead and generally not make assumptions on what individual actors want.

All of these considerations I miss in your proposal. Plain flat Ethernet/TCP/IP maybe dumb and stupid, but it's dumb and stupid for everyone. It's not pretentious. If it's full you upgrade capacity. If there is enough capacity. There is enough for everyone.

No comments:

Post a Comment