Increasing Transfer Performance by Using an RTT Predictor
FASP transfers use delay-based congestion control to dynamically adjust the transfer rate in response to network congestion, as measured by round-trip time (RTT). As a result, FASP transfer stability is sensitive to feedback delay; increases in feedback delay decrease FASP transfer stability and throughput. Transfer performance can be improved by using two experimental configuration options, an RTT predictor and dynamic target queuing.
RTT Predictor
An RTT predictor predicts future feedback delay to decrease transfer rate oscillation and maximize data transfer under high network congestion conditions. Four RTT predictors are available:
- alphabeta: A linear prediction that is based on a local trend.
- fd31: A linear prediction that is based on a 3-points-backwards difference method.
- bezier: A quadratic Bezier extrapolation.
- ets: An error-trend-seasonality model.
Based on internal testing, fd31 is considered the most effective and robust, but other RTT predictors might perform better depending on your specific network conditions.
To set a predictor for incoming (transfer_in) or outgoing (transfer_out) transfers, run the following command:
# asconfigurator -x "set_node_data;transfer_{in|out}_bandwidth_flow_network_rc_predictor,{alphabeta|bezier|ets|fd31}"
You can also set the value to none
to force no predictor, or
unset
to use the client-specified predictor. If the client does not specify a
predictor and the server is set to unset
, then no predictor is used.
The fd31 and bezier predictors do not have a bounded asymptotic limit, which can destabilize
the RTT prediction under conditions of high congestion and large buffer size for the transfer
link. The prediction range can be restricted by setting
<predictor_limit_range>
in aspera.conf or Incoming Rate Control Predictor Limit Range
and Outgoing Rate Control Predictor Limit Range in the GUI.
Dynamic Target Queuing
Target queuing affects the stability of data transfer to the target. By default, Aspera FASP transfers use static target queuing, in which the target queue is set as a piecewise function of the target rate. On noisy networks, such as satellite and other radio communication, the congestion signal can be distorted at the physical or data link layer, and this noise can overwhelm the congestion signal. Static target queuing has only a limited ability to adjust to this noise, decreasing transfer performance.
Dynamic target queueing is an experimental method to improve transfer speed and stability over noisy networks. When dynamic target queuing is enabled, the rate control module estimates the noise level and adjusts the target queue accordingly.
To enable dynamic target queuing for incoming (transfer_in) or outgoing (transfer_out) transfers, run the following command:
# asconfigurator -x "set_node_data;transfer_{in|out}_bandwidth_flow_network_rc_target_queue,dynamic"
Command line options override server settings. If no predictor is specified on the client command line, in the client's aspera.conf, or in the server's aspera.conf, then no predictor is used for the transfer.