I want to do some simulations with different TCP algorithms I was reading one of the earliest papers for TCP CUBIC and I don't see explicitly the strategy of Fast Recovery after a loss of the packet. For example : TCP Reno after the loss (3 dup AKCs) set the ssthresh = cwnd/2 , retransmit the missing segment, and set cwnd to ssthresh += 3 MSS (Maximum Segment Size). Each time another duplicate ACK arrives, increments by one MSS the cwnd (inflate the window). Now when the next ACK arrives and acknowledges new data, set the cwnd = ssthresh (deflate the window) and continue with the congestion avoidance until the next loss or time out RFC 2001.
Now TCP NewReno extends the previous algorithm and introduces the partial and the full acknowledgements, recovering from multiple losses in the same window RFC 6582.
If TCP cubic uses any of the above algorithms we will see inflation and deflation of cwnd but this is not the case. Also, the reduction of cwnd in cubic will not be 1/2 but 0.8 * cwnd according to the TCP CUBIC. Below same diagrams from TCP Reno, New Reno, and Cubic
So what strategy does the TCP Cubic use for Fast Recovery?? In RFC 8312 for TCP Cubic, the strategy for Fast Recovery is not mentioned explicitly.