scispace - formally typeset
Search or ask a question

Showing papers by "Thomas Clausen published in 2018"


Journal ArticleDOI
TL;DR: This paper introduces and compares kernel bypass high-performance implementations of both 6LB and the state-of-the-art load-balancer, showing that the significant system-level benefits of 6LB are achievable with a negligible data-path CPU overhead.
Abstract: Network load-balancers generally either do not take the application state into account, or do so at the cost of a centralized monitoring system. This paper introduces a load-balancer running exclusively within the IP forwarding plane, i.e., in an application protocol agnostic fashion – yet which still provides application-awareness and makes real-time, decentralized decisions. To that end, IPv6 Segment Routing is used to direct data packets from a new flow through a chain of candidate servers, until one decides to accept the connection, based solely on its local state. This way, applications themselves naturally decide on how to fairly share incoming connections, while incurring minimal network overhead, and no out-of-band signaling. A consistent hashing algorithm, as well as an in-band stickiness protocol, allow for the proposed solution to be able to be reliably distributed across a large number of instances. Performance evaluation by means of an analytical model and actual tests on different workloads (including a Wikipedia replay as a realistic workload) show significant performance benefits in terms of shorter response times, when compared with the traditional random load-balancer. In addition, this paper introduces and compares kernel bypass high-performance implementations of both 6LB and the state-of-the-art load-balancer, showing that the significant system-level benefits of 6LB are achievable with a negligible data-path CPU overhead.

36 citations


Proceedings ArticleDOI
01 Sep 2018
TL;DR: The stateless design of SHELL makes it suitable for hardware implementation, and the implementation of a P4-NetFPGA prototype demonstrates throughput and latency characteristics comparable to other stateless load-balancing implementations, while enabling application instance-load-aware dispatching and significantly increasing per-connection consistency resiliency.
Abstract: Leveraging the performance opportunities offered by programmable hardware, stateless load-balancing architectures allowing line-rate processing are appealing. Moreover, it has been demonstrated that significantly fairer load-balancing can be achieved by an architecture that considers the actual load of application instances when dispatching connection requests. Architectures which maintain per-connection state for resiliency and/or track application load state for fairness are, however, at odds with hardware-imposed memory constraints. Thus, a desirable load-balancer for programmable hardware would be both stateless and able to dispatch queries to application instances according to their current load. This paper presents SHELL, a stateless application-aware load-balancer combining (i) a power-of-choices scheme using IPv6 Segment Routing to dispatch new flows to a suitable application instance from among multiple candidates, and (ii) the use of a covert channel to record/report which flow was assigned to which candidate in a stateless fashion. In addition, consistent hashing versioning is used to ensure that connections are maintained to the correct application instance, using Segment Routing to "browse" through the history when needed. The stateless design of SHELL makes it suitable for hardware implementation, and this paper describes the implementation of a P4-NetFPGA prototype. A performance evaluation of this SHELL implementation demonstrates throughput and latency characteristics comparable to other stateless load-balancing implementations, while enabling application instance-load-aware dispatching and significantly increasing per-connection consistency resiliency.

30 citations


27 Mar 2018
TL;DR: The document aims at providing a better understanding of possible limits of RPL, notably the possible directions that further protocol developments should explore, in order to address these.
Abstract: With RPL - the "IPv6 Routing Protocol for Low-power Lossy Networks" - published as a Proposed Standard after a ~2-year development cycle, this document presents an observation of the resulting protocol, of its applicability, and of its limits. The documents presents a selection of observations on the protocol characteristics, exposes experiences acquired when producing various prototype implementations of RPL, and presents results obtained from testing this protocol - by way of network simulations, in network testbeds and in deployments. The document aims at providing a better understanding of possible limits of RPL, notably the possible directions that further protocol developments should explore, in order to address these.

13 citations


Journal ArticleDOI
TL;DR: Evaluated by way of both an analytical model and network simulation both in generic and in real network topologies with varying background traffic loads, the proposed B.I.E.R.R.-based reliable multicast mechanism exhibits attractive performance attributes: It attains delivery success rates as high as any other reliable multicasts service, but with significantly better link utilisation and no per-flow or per-group state in intermediate routers of the network.
Abstract: Inter-network multicast protocols, which build and maintain multicast trees, incur both explicit protocol signalling, and maintenance of state in intermediate routers in the network. Bit-indexed explicit replication (B.I.E.R.) is a technique which can provide a multicast service yet removes such complexities: intermediate routers are unencumbered by group management, and no per-group state is to be maintained. This paper explores the use of B.I.E.R. as a basis for developing an efficient and reliable multicast mechanism, where redundant traffic is avoided, essential traffic is forwarded along shortest paths, and no per-flow state is required in intermediate routers. Evaluated by way of both an analytical model and network simulation both in generic and in real network topologies with varying background traffic loads, the proposed B.I.E.R.-based reliable multicast mechanism exhibits attractive performance attributes: It attains delivery success rates as high as any other reliable multicast service, but with significantly better link utilisation and no per-flow or per-group state in intermediate routers of the network.

11 citations


Proceedings Article
01 Nov 2018
TL;DR: This paper introduces a method to perform zero-loss VM migration by using IPv6 Segment Routing (SR), and shows that this yields benefits in terms of session opening latency and TCP throughput.
Abstract: With the development of large-scale data centers, Virtual Machine (VM) migration is a key component for resource optimization, cost reduction, and maintenance. From a network perspective, traditional VM migration mechanisms rely on the hypervisor running at the destination host advertising the new location of the VM once migration is complete. However, this creates a period of time during which the VM is not reachable, yielding packet loss.This paper introduces a method to perform zero-loss VM migration by using IPv6 Segment Routing (SR). Rather than letting the hypervisor update a locator mapping after VM migration is complete, a logical path consisting of the source and destination hosts is pre-provisioned. Packets destined to the migrating VM are sent through this path using SR, shortly before, during, and shortly after migration - the virtual router on the source host being in charge of forwarding packets locally if the VM migration has not completed yet, or to the destination host otherwise. The proposed mechanism is implemented as a VPP plugin, and feasibility of zero-loss VM migration is demonstrated with various workloads. Evaluation shows that this yields benefits in terms of session opening latency and TCP throughput.

6 citations


Proceedings Article
01 Nov 2018
TL;DR: A general methodology to enumerate jitter sources on commodity platforms and to quantity their relative contribution to the overall system jitter is described, applied to the Linux kernel, producing a classification of the different sources of jitter, and a quantification of their impact.
Abstract: Beyond the transport of uncompressed video over IP networks, defined in standards such as ST2022–6, the ability to build software-based Video Processing Functions (VPF) on commodity hardware and using general purpose Operating Systems is the next logical step in the evolution of the media industry towards an “all-IP” world. In that context, understanding the jitter induced on an ST2022–6 stream by a commodity platform is essential. This paper describes a general methodology to enumerate jitter sources on commodity platforms and to quantity their relative contribution to the overall system jitter. The methodology is applied to the Linux kernel, producing a classification of the different sources of jitter, and a quantification of their impact.

4 citations


Journal ArticleDOI
01 May 2018
TL;DR: An analytical model is presented that identifies that despite the use of a “blacklist”, the Route Discovery process may result in discovery of false forward routes, i.e., routes containing unidirectional links – and a counter-measure denoted Forward Bidirectionality Check is proposed.
Abstract: In reactive unicast routing protocols, Route Discovery aims to include only bidirectional links in discovered routing paths. This is typically accomplished by having routers maintain a “blacklist” of links recently confirmed (through Route Reply processing) to be unidirectional – which is then used for excluding subsequent Route Discovery control messages received over these links from being processed and forwarded. This paper first presents an analytical model, which allows to study the impact of unidirectional links being present in a network, on the performance of reactive routing protocols. Next, this paper identifies that despite the use of a “blacklist”, the Route Discovery process may result in discovery of false forward routes, i.e.,routes containing unidirectional links – and proposes a counter-measure denoted Forward Bidirectionality Check. This paper further proposes a Loop Exploration mechanism, allowing to properly include unidirectional links in a discovered routing topology – with the goal of providing bidirectional connectivity even in absence of bidirectional paths in the network. Finally, each of these proposed mechanisms are subjected to extensive network simulations in static scenarios. When the fraction of unidirectional links is moderate (15–50%), simulations find Forward Bidirectionality Check to significantly increase the probability that bidirectional routing paths can be discovered by a reactive routing protocol, while incurring only an insignificant additional overhead. Further, in networks with a significant fraction of unidirectional links ( ≥ 50%), simulations reveal that Loop Exploration preserves the ability of a reactive routing protocol to establish bidirectional communication (possibly through non-bidirectional paths), but at the expense of a substantial additional overhead.

3 citations


Journal ArticleDOI
TL;DR: A linear programming framework is developed allowing accurate representation of per-task resources requirements and inter-task network demands, and a heuristic, which computes an approximation of the Pareto front, is developed, and evaluated on different topologies and with different machine load factors.
Abstract: In data centers, subject to workloads with heterogeneous (and sometimes short) lifetimes, workload migration is a way of attaining a more efficient utilization of the underlying physical machines. To not introduce performance degradation, such workload migration must take into account not only machine resources, and per-task resource requirements, but also application dependencies in terms of network communication. This paper presents a workload migration model capturing all of these constraints. A linear programming framework is developed allowing accurate representation of per-task resources requirements and inter-task network demands. Using this, a multi-objective problem is formulated to compute a re-allocation of tasks that (1) maximizes the total inter-task throughput, while (2) minimizing the cost incurred by migration and (3) allocating the maximum number of new tasks. A baseline algorithm, solving this multi-objective problem using the $$\varepsilon$$ -constraint method is proposed, in order to generate the set of Pareto-optimal solutions. As this algorithm is compute-intensive for large topologies, a heuristic, which computes an approximation of the Pareto front, is then developed, and evaluated on different topologies and with different machine load factors. These evaluations show that the heuristic can provide close-to-optimal solutions, while reducing the solving time by one to two order of magnitudes.

3 citations