Leveraging innovative transport layer services for improved application performance

  • Authors:
  • Paul D. Amer;Preethi Natarajan

  • Affiliations:
  • University of Delaware;University of Delaware

  • Venue:
  • Leveraging innovative transport layer services for improved application performance
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We investigate three issues related to the transport layer, and address these issues using the innovative transport layer services offered by the Stream Control Transmission Protocol (SCTP) [RFC4960]. In the first issue, we explore the benefits from SCTP’s multistreaming service for HTTP-based applications. The current web transport – TCP, offers a sequential bytestream, and in-order data delivery within the bytestream. Transferring independent web objects over a single TCP connection results in head-of-line (HOL) blocking, and worsens web response times. On the contrary, transferring these objects over different SCTP streams eliminates inter-object HOL blocking. We propose a design for HTTP over SCTP streams, and implement this design in the open source Apache web server and Firefox browser. Using emulation, we show that persistent and pipelined HTTP 1.1 transfers over a single multistreamed SCTP association improves web response times when compared to similar transfers over a single TCP connection. The difference in TCP vs. SCTP response times increases and is more visually perceivable in high latency and lossy browsing condition, as found in the developing world. The current workaround to improve an end user’s perceived WWW performance is to download an HTTP transfer over multiple TCP connections. While we expect multiple TCP connections to improve HTTP throughput, emulation results show that the competing and bursty nature of multiple TCP senders degrade HTTP performance especially in end-to-end paths with low bandwidth last hops. In such browsing conditions, a single multistreamed SCTP association not only eliminates HOL blocking, but also boosts throughput compared to multiple TCP connections. In the second issue, we explore how SCTP’s (or TCP’s) SACK mechanism degrades end-to-end performance when out-of-order data is non-rengable. Using simulation, we show that SACKs result in inevitable send buffer wastage, which increases as the frequency of loss events and loss recovery durations increase. We introduce a fundamentally new ack mechanism, Non-Renegable Selective Acknowledgments (NR-SACKs), for SCTP. An SCTP receiver uses NR-SACKs to explicitly identify some or all out-of-order data as being non-renegable, allowing a sender to free up send buffer sooner than if the data were only SACKed. Simulation comparisons show that NR-SACKs enable more efficient utilization of a transport sender’s memory, and also improve throughput in Concurrent Multipath Transfer (CMT) [Iyengar 2006]. The third issue explores CMT performance during path failures. Using simulation, we demonstrate how CMT suffers from significant “rbuf blocking” which degrades performance during permanent and short-term path failures. To improve performance, we introduce a new destination state called the “Potentially Failed” (PF) state. CMT’s failure detection and (re)transmission policies are augmented to include the PF state, and the modified CMT is called CMT-PF. Using simulation, we demonstrate that CMT-PF outperforms CMT during failures – even under aggressive failure detection thresholds. We also show that CMT-PF performs on par or better but never worse than CMT during non-failure scenarios. In light of these findings, we recommend CMT be replaced by CMT-PF in existing and future CMT implementations and RFCs.