Packet Scheduling Algorithms Sample Clauses

Packet Scheduling Algorithms. Another factor that affects the MPTCP performance is the scheduling algorithm [63]. Figure 2.4 shows the relation of the packet scheduling and the congestion control in MPTCP [63]. As explained earlier, the congestion control algorithm decides a congestion window wn for path n, which influences the transmission rate of this path. Now, when a packet is to be transmitted from the send buffer, some paths may have their congestion window full. The paths whose congestion windows have room are considered available. The packet scheduler selects one of the available paths for transmission based on the scheduling criteria. It turns out that packet scheduling criteria have a significant effect on the performance of MPTCP with respect to throughput and delay [64]. Packet Scheduler Application TCPn TCP1 TCP0 w0 w1 wn IP0 IP1 IPn The MPTCP packet scheduler in Linux follows the Lowest-RTT-first [63][64], i.e., a packet is sent on the available path with the lowest smoothed RTT (sRTT). This is also referred to as the Lowest Latency (LL) scheduler. RTT is the time duration between the transmission of a packet and reception of the ACK of this packet. The smoothed RTT is the operation of smoothing (i.e., filtering) successive RTTs on the same path to get a smooth or filtered value as follows: sRTT = (1 −λ ) ×sRTT + λ ×RTT (2.4) The typical value of the smoothing factor λ is λ = 1/8 [63]. While the algorithm presented in [63] is very simple, it does not take into consideration other important factors that may affect the scheduling decision; namely, the congestion on the path being scheduled and the packet size being transmitted. Other algorithms provide better performance when these points are taken into consideration in the design. In [64], it was shown that for small size packets, the LL scheduler is not efficient. It is more efficient for the scheduler to wait till the fastest path becomes available and allocate the small packets to it. In [1], three alternative heuristic schedulers are proposed. These are: 1) The Highest Sending Rate (HSR), 2) The Largest Window Space (LWS) and 3) The Lowest Time/Space (LTS). The 3 proposed scheduling algorithms outperform the Linux LL scheduler. The scheduling prioritization is in Table 2.2 below. The ratio between the current CWND measured in bytes, HSR LWS LTS and the instantaneous RTT. Paths with larger CWND and fewer unacknowledged packets Lowest ratio between the current smoothed RTT and window space. The window space is defined as...