Improving Performance of QUIC in WiFi

Problem Domain

WiFi (wireless)

Solution

由於802.11 frame aggregation有助於改善throughput,所以讓QUIC增加traffic burstiness(BQUIC).

  1. reducing ACK frequency. In GQUIC ACK_DECIMATION mode, 至少收到100 packets才回傳ACK.
  2. disabling packet pacing. packet pacing aims to reduce sending bursts of packet, it may hinder performance in high-speed networks with low loss rates.

Evaluation

image-20210706165336998

QUIC: detection algorithm利用ACK及RTT進行detect。使用packet pacing時,會降低aggregation,導致packet delay增加被detect到( minimum delay > threshold ) QUIC從slow-start提早離開。

BQUIC: 不使用packet pacing,inter packet time降低。

image-20210706175022250image-20210706192532314

BQUIC increases the throughput between 20% to 30%

Findings

從pacing機制上進行改良,解決文中slow-start較早退出的問題。 動態改善packet pacing: 在掉包率小的環境進行frame aggregation,在掉包大的環境使用原本QUIC。ieda: 依據下層網路環境的不同,而有彈性的使用不同的pacing機制。

The QUIC Fix for Optimal Video Streaming

Problem Domain

DASH (media in H.264)

Solution

  1. reliable on I-Frame + unreliable on B/P-Frame,B/P-Frame參考I-Frame對其進行增量or差異的encoding,丟了I-Frame,其他B/P-Frame也沒用了。 unreliable data: - QUIC handshake to negotiate support for unreliable streams - replace retransmission of missed data with new data - provide a meta stream within QUIC to tag individual QUIC frames as reliable or unreliable. non-trivial challenge: synchronization of the streams:
  2. FEC on unreliable data

Evaluation

image-20210707134806539bufRatio = re-buffering time / total video time

rateBuf = frequency of re-buffering events to / total video frame

aSSIM: 改善沒有考量latency的測量方式,晚到的frame會delay,考量了其stall對frame影響的綜合評估 The rateBuf values for both ClipStream and ClipStreamFEC are very close to 0%:

真正要reliable的packet number變很少 (approx. 1% by count or 12% by size) of the overall video stream reliably

Findings

從econder/decoder上進行( gpu RGG<–>YUV ),降低解碼CPU占用率。

an out-of-order packet is inserted into the byte-stream within re-order buffer unless the data has already been consumed by the application. If the application tries to consume “missing” byte-ranges the byte-stream is filled with zeros.

  • Q: (Sync) How will the receiver combine the frames from the different streams into the appropriate order in the playback buffer?

    A: add a reliable control stream to signal multiplexing and demultiplexing information for diff sterams, The control stream helps the client to re-assemble the video file (reliably transfer end-of-stream )

QUICsilver: Optimising QUIC for use with Real-Time Multimedia Traffic (University of Glasgow 2019)

Problem Domain

RTP (media in H.264)

Solution

  1. 提出playback deadline的概念,在retransmit之前,確定內容的有效性(有沒有用),有助於於減少發送不要的data。 server predicts that the packet will reach the client in time to be useful for video playback .

    implementing partial reliability within QUIC can assist with reducing latencies and playback delays

Findings

在QUIC中加入Meda-awareness