Saturday, May 30, 2015

We were discussing Riverbed Operating System (RiOS) technical concepts.  We now look at the use of Window Scaling and Virtual Window Expansion. Window Scaling is a standard TCP technique to increase the net throughput when the TCP window is the bottleneck.  The maximum amount of data per round-trip goes up because the number of bytes that can be "in flight" without being acknowledged is increased. Although this is a TCP implementation, the configuration lies with the user which often requires some esoteric settings to be tweaked.
This configuration by the user is avoided by RiOS in automatic window scaling.  RiOS virtually expands the TCP windows and enables capacity that is hundreds of times greater than the basic TCP payloads. As a TCP proxy, RiOS effectively repacks TCP payloads with the help of references instead of the actual data.  Since we noted earlier that the use of references saves a lot of data duplication and the proprietary hierarchical references can be used for several segments that are indexed, the TCP frame is virtually expanded and often by a factor of several hundred or more. Consequently, there's fewer roundtrips needed to deliver a given amount of data. The use of references to repack the TCP data is referred to as the Virtual Window Expansion.
RiOS also makes use of high speed TCP and Max speed TCP. These are techniques used for high latency links or where packet loss is high.  These techniques can accelerate TCP based applications so that a single connection runs at hundreds of Mbps even when round trip latencies are high. The potential benefits include : higher throughput, faster replication, backup and mirroring and better utilization of links. These techniques don't need to pre-determine the bandwidth. They can self-adjust the transmission for appropriate throughput.  The difference between high speed TCP and max speed TCP is that the high speed TCP will back down in speed as a result of packet loss or congestion where as max TCP is designed to use a set amount of bandwidth regardless of congestion or packet loss.

#codingexercise

Double  GetNthRootSumOddRaisedPTimesQAndEvenRaisedPDividedQ (Double [] A,Double  p, Double q)


{


If ( A== null) return 0;


Return A.NthRootSumOddRaisedPTimesQAndEvenRaisedPDividedQ(p, q);


}


No comments:

Post a Comment