XTRA (XFSM for Transport) aims at providing a first attempt towards a 'code-once-port-everywhere' platform-agnostic programming abstraction tailored to the deployment of transport layer functions. XTRA's programming abstraction not only fits SW platforms, but is specifically designed to harness, with no re-coding effort, the offloading opportunities offered by CPU-less HW boards or smart NICs. We demonstrate the viability of XTRA with three completely different implementations of the underlying execution engine (HW proof-of-concept on a NetFPGA board, User-space SW over Linux' Open Data Plane, and NS3 emulator). Flexibility is shown via a number of example applications, ranging from a variety of congestion control algorithms, to a middlebox-type TCP proxy functionality, up to a customized 'Timer-Based' (TB) TCP which leverages the native reliance of XTRA on timers, so as to produce a loss recovery operation which, despite being formalized only via a handful of code lines, performs almost comparable with the highly optimized Linux and FreeBSD implementations.
Bianchi, G., Welzl, M., Tulumello, A., Gringoli, F., Belocchi, G., Faltelli, M., et al. (2019). XTRA: Towards Portable Transport Layer Functions. IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, 16(4), 1507-1521 [10.1109/TNSM.2019.2948467].
XTRA: Towards Portable Transport Layer Functions
Bianchi G.;Belocchi G.;Pontarelli S.
2019-01-01
Abstract
XTRA (XFSM for Transport) aims at providing a first attempt towards a 'code-once-port-everywhere' platform-agnostic programming abstraction tailored to the deployment of transport layer functions. XTRA's programming abstraction not only fits SW platforms, but is specifically designed to harness, with no re-coding effort, the offloading opportunities offered by CPU-less HW boards or smart NICs. We demonstrate the viability of XTRA with three completely different implementations of the underlying execution engine (HW proof-of-concept on a NetFPGA board, User-space SW over Linux' Open Data Plane, and NS3 emulator). Flexibility is shown via a number of example applications, ranging from a variety of congestion control algorithms, to a middlebox-type TCP proxy functionality, up to a customized 'Timer-Based' (TB) TCP which leverages the native reliance of XTRA on timers, so as to produce a loss recovery operation which, despite being formalized only via a handful of code lines, performs almost comparable with the highly optimized Linux and FreeBSD implementations.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.