Question & Answer
Question
What is Dynamic Right Sizing for High Latency Networks?
Answer
FAQ: What is Dynamic Right Sizing (DRS) for High Latency Networks?
The following is from IBM manual SG24-7798
High latency network
Streaming a workload over large bandwidth and high latency networks (such as satellite links)
is, in general, constrained by the TCP window size. The problem is that it takes time to send
data over such a network. At any given point in time, data filling the full window size is in
transit and cannot be acknowledged until it starts arriving at the receiver side. The sender can
send up to the window size and then must wait for an ACK to advance the window size before
the next chunk can be sent.
The left hand side of Figure 4-3 depicts a high-latency network where the TCP window size is
too small. The round trip time (RTT) is relatively long and the window size is relatively small.
Therefore, the sender fills the window before it receives an ACK for the data at the start of the
window. This forces the sender to delay sending additional data until it receives an ACK or a
window update. Over a long distance connection, this can cause transmission stalls and
suboptimal performance.
The right hand side demonstrates a situation where the window size is large enough for the
high-latency network. The sender has not yet sent the last bit of the window size before it
receives an ACK for the first bit of the current window. The z/OS TCP maximum windows size
is 512K (defined in the TCPMAXRCVBUFRSIZE in the TCPCONFIG section). However, a
window size of 512K may not always be enough to achieve this behavior.
The solution for high latency networks
z/OS Communications Server implements Dynamic Right Sizing (DRS) to address the
problem related to high latency networks. DRS is described in a paper published by the Los
Alamos National Laboratory (LANL), which can be found at the following address:
http://public.lanl.gov/radiant/software/drs.html </spa n>
The goal of the DRS function is to keep the pipe full for inbound streaming TCP connections
over networks with large capacity and high latency and prevent the sender from being
constrained by the receiver’s advertised window size.
If a TCP connection uses a receive buffer size larger then 64K, the stack detects a high
latency inbound streaming TCP connection and dynamically increases the receive buffer size
for the connection (in an attempt to not constrain the sender). This in turn adjusts the
advertised receive window and allows window size to grow as high as 2M. In other words, The
TCP receive buffer size can grow as high as 2M for certain TCP connections irrespective of
the TCPMAXRCVBUFRSIZE value. The stack disables the function for a connection if the
application is not keeping up with the pace.
DRS does not take effect for applications that set a value less then 64K on the SO_RCVBUF
socket option on SETSOCKOPT().
If TCPRCVBUFRSIZE is less then 64K, then DRS does not take effect.
Implementation
Implementation is dynamic as long as the following criteria are met:
· Inbound streaming workload
· High latency network
· Application that is using a receive buffer size of at least 64 KB
Please Note: TCP's Dynamic Right Sizing should be transparent to Connect:Direct for z/OS
Historical Number
FAQ3749
Was this topic helpful?
Document Information
Modified date:
17 December 2019
UID
swg21518420