D3.3 on congestion control, resource allocation, routing and forwarding available!

PRISTINE’s deliverable D3.3 is already available from the website’s deliverables section.

Executive summary

In this document, the “final specification and consolidated implementation” of the techniques proposed in the previous document (D3.2), “initial specification”, are presented. The goal is to show how the proposed techniques in the previous document have been implemented in RINA, what their performance improvement is over other similar methods (if applicable), and what future directions are. The activities performed in D3.3 are centered around three main areas: i) programmable congestion control; ii) resource allocation and iii) topological addressing to bound routing table sizes. This document also specifies the investigation results of these techniques as policies in RINA.

Programmable Congestion Control

  • Aggregate Congestion Control (ACC) – an analysis of what happens when we just plug in a TCP-like congestion control policy in RINA and then use different stack configurations. We wanted to confirm to ourselves that doing congestion control in the RINA-way (per DIF, not end-to-end) is indeed favorable.
  • Logistic Growth Control (LGC) – a new congestion control mechanism. We need to have a better-to-understand (model) mechanism to use in RINA than TCP/AIMD, one that also works better than TCP and can play out differently in different DIFs, depending on the DIF’s abilities (our control can work with precise signaling-based feedback or just ECN marks).
  •  A Chain of Logistic Growth Controllers – a preliminary analysis of how chains of DIFs running LGC operate. This is indeed necessary to eventually understand the stability and overall performance of LGC in various RINA stack configurations.
  • Recursive Congestion Control – an analysis of different ways to give feedback in RINA. In RINA, the natural way of using control loops is per DIF; the recursive nature makes it less obvious that feedback should follow the end-to-end (from the true source to the destination of the data) path of TCP, and it appears natural to investigate other, possibly more efficient (more immediate) ways to give feedback. However, little is known about how such feedback methods play out. This information is necessary for the continued design of RINA congestion control.
  • Performance isolation in multi-tenants datacentres – a method to dynamically scale up/down the rate of admitted flows belonging to isolated tenants while guaranteeing them a “Minimum Granted Bandwidth” (MGB). We wanted to show how that functionality similar to EyeQ [EyeQ] can be efficiently and easily implemented in RINA (1000 lines of code vs. EyeQ’s 10000 lines of code, letting us benefit from the many generic things that RINA already inherently does (e.g. error handling, ..)).

Resource Allocation

  • Traffic differentiation via delay-loss multiplexing policies – a method (QTAMux within RINA) that allows applications to request and receive communication services with strongly bounded loss or delay, while fully utilising the most constrained resources. RINA allows applications to provide rich QoS information via its QoS-Cubes, allowing QTAMux to fully play out its benefits over traditional methods such as WFQ (which is in use in many practical QoS oriented scenarios, e.g. for MPLS VPNs).
  • QoS-aware Multipath Routing – an evaluation of different multipath techniques taking advantage of RINA’s built-in support for QoS. These techniques are necessary for future evaluations in WP6 related to the DC use case, where we intend to analyse benefits that are due to the rich information about traffic characteristics provided by RINA’s QoSCubes.

Topological Addressing

  • Topological addressing and routing in distributed clouds
    • Scalable Forwarding in RINA (SFR): Analysis of applying hierarchical overlay architecture to RINA. We demonstrate that hierarchical overlay applied to RINA is scalable and the ”divide and conquer” strategy of RINA helped to bound the routing table sizes.
    • Small-world Architecture: Design a new hierarchical routing architecture based on small-world paradigm. New pro’s and con’s will arise when mapping the hierarchy of this routing architecture on RINA’s own hierarchy, and we also want to investigate these implications in future work beyond PRISTINE; we think that this architecture is able to deal with the dynamicity issue of the distributed clouds.
  • Topological addressing and routing in large datacentres – Evaluation of forwarding and routing solutions that benefit from the wellknown topological characteristics of typical large-scale intra-datacenter networks, so as to minimize the routing and forwarding information to be stored at (and exchanged among) network devices. RINA is a programmable environment which allows us to benefit from using policies that are tailored to the specific DCN characteristics, yielding more efficient routing in terms of table size and communication overhead.