22 research outputs found
P4CEP: Towards In-Network Complex Event Processing
In-network computing using programmable networking hardware is a strong trend
in networking that promises to reduce latency and consumption of server
resources through offloading to network elements (programmable switches and
smart NICs). In particular, the data plane programming language P4 together
with powerful P4 networking hardware has spawned projects offloading services
into the network, e.g., consensus services or caching services. In this paper,
we present a novel case for in-network computing, namely, Complex Event
Processing (CEP). CEP processes streams of basic events, e.g., stemming from
networked sensors, into meaningful complex events. Traditionally, CEP
processing has been performed on servers or overlay networks. However, we argue
in this paper that CEP is a good candidate for in-network computing along the
communication path avoiding detouring streams to distant servers to minimize
communication latency while also exploiting processing capabilities of novel
networking hardware. We show that it is feasible to express CEP operations in
P4 and also present a tool to compile CEP operations, formulated in our P4CEP
rule specification language, to P4 code. Moreover, we identify challenges and
problems that we have encountered to show future research directions for
implementing full-fledged in-network CEP systems.Comment: 6 pages. Author's versio
Hardware-Accelerated Network Control Planes
One design principle of modern network architecture seems to be set in stone: a software-based control plane drives a hardware- or software-based data plane. We argue that it is time to revisit this principle after the advent of programmable switch ASICs which can run complex logic at line rate.
We explore the possibility and benefits of accelerating the control plane by offloading some of its tasks directly to the network hardware. We show that programmable data planes are indeed powerful enough to run key control plane tasks including: failure detection and notification, connectivity retrieval, and even policy-based routing protocols. We implement in P4 a prototype of such a "hardware-accelerated" control plane, and illustrate its benefits in a case study.
Despite such benefits, we acknowledge that offloading tasks to hardware is not a silver bullet. We discuss its tradeoffs and limitations, and outline future research directions towards hardware-software co-design of network control planes
P4DNS: In-Network DNS
In network computing offers an appealing scalability trajectory for network services, as application performance scales with network devices. Despite its potential, in-network computing may not be suitable for all applications, both due to paradigm assumptions and network-device limitations. As the users' demands from the Internet keep growing, any limitations on the scalability of network services such as DNS limits the scalability of end-to-end experience. In this paper we present P4DNS, an in-network DNS solution, exploring the span and limitations of implementing a realistic network service within a network device. P4DNS is a high performance DNS server, implemented in P4->NetFPGA and providing performance improvement compared with software-based solutions. We discuss the limitations of implementing in-network services using today's paradigms and the trade-offs between data and control planesLeverhulme Trust
Isaac Newton Trus
Measurements As First-class Artifacts
The emergence of programmable switches has sparked a significant amount of
work on new techniques to perform more powerful measurement tasks, for
instance, to obtain fine-grained traffic and performance statistics. Previous
work has focused on the efficiency of these measurements alone and has
neglected flexibility, resulting in solutions that are hard to reuse or
repurpose and that often overlap in functionality or goals.
In this paper, we propose the use of a set of reusable primitive building
blocks that can be composed to express measurement tasks in a concise and
simple way. We describe the rationale for the design of our primitives, that we
have named MAFIA (Measurements As FIrst-class Artifacts), and using several
examples we illustrate how they can be combined to realize a comprehensive
range of network measurement tasks. Writing MAFIA code does not require expert
knowledge of low-level switch architecture details. Using a prototype
implementation of MAFIA, we demonstrate the applicability of our approach and
show that the use of our primitives results in compiled code that is comparable
in size and resource usage with manually written specialized P4 code and can be
run in current hardware.Comment: Infocom 2019 extended versio