Evita raced: metacompilation for declarative networks

Declarative languages have recently been proposed for many new applications outside of traditional data management. Since these are relatively early research efforts, it is important that the architectures of these declarative systems be extensible, in order to accommodate unforeseen needs in these new domains. In this paper, we apply the lessons of declarative systems to the internals of a declarative engine. Specifically, we describe our design and implementation of Evita Raced, an extensible compiler for the OverLog language used in our declarative networking system, P2. Evita Raced is a metacompiler: an OverLog compiler written in OverLog. We describe the minimalist architecture of Evita Raced, including its extensibility interfaces and its reuse of P2's data model and runtime engine. We demonstrate that a declarative language like OverLog is well-suited to expressing traditional and novel query optimizations as well as other query manipulations, in a compact and natural fashion. Finally, we present initial results of Evita Raced extended with various optimization programs, running on both Internet overlay networks and wireless sensor networks.

[1]  Jerome H. Saltzer,et al.  The protection of information in computer systems , 1975, Proc. IEEE.

[2]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[3]  David J. DeWitt,et al.  The EXODUS optimizer generator , 1987, SIGMOD '87.

[4]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[5]  Hamid Pirahesh,et al.  Extensible/rule based query rewrite optimization in Starburst , 1992, SIGMOD '92.

[6]  Goetz Graefe,et al.  The Volcano optimizer generator: extensibility and efficient search , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[7]  G. Graefe The Cascades Framework for Query Optimization , 1995, IEEE Data Eng. Bull..

[8]  Goetz Graefe Iterators, Schedulers, and Distributed-memory Parallelism , 1996, Softw. Pract. Exp..

[9]  Guy M. Lman Grammar-like Functional Rules for Representing Query Optimization Alternatives , 1998 .

[10]  David J. DeWitt,et al.  Efficient mid-query re-optimization of sub-optimal query execution plans , 1998, SIGMOD '98.

[11]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[12]  Joseph M. Hellerstein,et al.  Eddies: continuously adaptive query processing , 2000, SIGMOD '00.

[13]  Yu Zhang,et al.  Exploiting upper and lower bounds in top-down query optimization , 2001, Proceedings 2001 International Database Engineering and Applications Symposium.

[14]  David E. Culler,et al.  Mica: A Wireless Platform for Deeply Embedded Networks , 2002, IEEE Micro.

[15]  Ninghui Li,et al.  DATALOG with Constraints: A Foundation for Trust Management Languages , 2003, PADL.

[16]  Joseph M. Hellerstein,et al.  Toward network data independence , 2003, SGMD.

[17]  Benjamin Livshits,et al.  Context-sensitive program analysis as database queries , 2005, PODS.

[18]  Thomas Anderson,et al.  Overcoming Barriers to Disruptive Innovation in Networking , 2005 .

[19]  S. Shenker,et al.  Overcoming Barriers to Disruptive Innovation in Networking , 2005 .

[20]  Noah A. Smith,et al.  Compiling Comp Ling: Weighted Dynamic Programming and the Dyna Language , 2005, HLT.

[21]  Noah A. Smith,et al.  Compiling Comp Ling: Weighted Dynamic Programming and the Dyna Language , 2005, HLT.

[22]  Ion Stoica,et al.  Declarative routing: extensible routing with declarative queries , 2005, SIGCOMM '05.

[23]  Ion Stoica,et al.  Implementing declarative overlays , 2005, SOSP '05.

[24]  Joseph M. Hellerstein,et al.  The design and implementation of declarative networks , 2006 .

[25]  Liuba Shrira,et al.  HQ replication: a hybrid quorum protocol for byzantine fault tolerance , 2006, OSDI '06.

[26]  Joseph M. Hellerstein,et al.  Finally, a Use for Componentized Transport Protocols , 2006 .

[27]  Atul Singh,et al.  Using queries for distributed monitoring and forensics , 2006, EuroSys.

[28]  Ion Stoica,et al.  Declarative networking: language, execution and optimization , 2006, SIGMOD Conference.

[29]  Jeffrey F. Naughton,et al.  Declarative Information Extraction Using Datalog with Embedded Extraction Predicates , 2007, VLDB.

[30]  Philip Levis,et al.  The design and implementation of a declarative sensor network system , 2007, SenSys '07.

[31]  Siddhartha S. Srinivasa,et al.  Declarative Programming for Modular Robots , 2007 .

[32]  Making Replication Simple with Ursa , 2007 .

[33]  Martín Abadi,et al.  Towards a Declarative Language and System for Secure Networking , 2007, NetDB.

[34]  Johannes Gehrke,et al.  Scaling games to epic proportions , 2007, SIGMOD '07.

[35]  Ramakrishna Kotla,et al.  Zyzzyva , 2007, SOSP.

[36]  Gordon S. Blair,et al.  Experiences with open overlays: a middleware approach to network heterogeneity , 2008, Eurosys '08.

[37]  Atul Singh,et al.  BFT Protocols Under Fire , 2008, NSDI.