Declarative networking: language, execution and optimization

  • Authors:
  • Boon Thau Loo;Tyson Condie;Minos Garofalakis;David E. Gay;Joseph M. Hellerstein;Petros Maniatis;Raghu Ramakrishnan;Timothy Roscoe;Ion Stoica

  • Affiliations:
  • UC Berkeley;UC Berkeley;Intel Research Berkeley;Intel Research Berkeley;University of Wisconsin-Madison;Intel Research Berkeley;University of Wisconsin-Madison;Intel Research Berkeley;UC Berkeley

  • Venue:
  • Proceedings of the 2006 ACM SIGMOD international conference on Management of data
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The networking and distributed systems communities have recently explored a variety of new network architectures, both for application-level overlay networks, and as prototypes for a next-generation Internet architecture. In this context, we have investigated declarative networking: the use of a distributed recursive query engine as a powerful vehicle for accelerating innovation in network architectures [23, 24, 33]. Declarative networking represents a significant new application area for database research on recursive query processing. In this paper, we address fundamental database issues in this domain. First, we motivate and formally define the Network Datalog (NDlog) language for declarative network specifications. Second, we introduce and prove correct relaxed versions of the traditional semi-naïve query evaluation technique, to overcome fundamental problems of the traditional technique in an asynchronous distributed setting. Third, we consider the dynamics of network state, and formalize the iheventual consistencyl. of our programs even when bursts of updates can arrive in the midst of query execution. Fourth, we present a number of query optimization opportunities that arise in the declarative networking context, including applications of traditional techniques as well as new optimizations. Last, we present evaluation results of the above ideas implemented in our P2 declarative networking system, running on 100 machines over the Emulab network testbed.