Oliver Kennedy

Oliver Kennedy is a postdoctoral researcher at EPFL Switzerland, working with Christoph Koch working on stream processing and distributed and in-memory databases. Oliver is a graduate of Cornell University, where he studied databases: distributed, probabilistic, toasted, and otherwise.

In his spare time, Oliver writes about himself in the third person, plots world domination through cooking, and enjoys western martial arts, photography, adventuring, and an assortment of coding projects in languages including OCaml, C++, Objective-C, Cappuccino, and Ruby.


Recent Research Projects
(with Yanif Ahmad and Christoph Koch; The EPFL DATA Group and the JHU DAMSL Group)
CIDR 2011, VLDB 2012 (to appear)
Applications ranging from algorithmic trading to scientific data analysis require realtime analytics based on views over databases that change at very high rates. Such views have to be kept fresh at low maintenance cost and latencies. At the same time, these views have to support classical SQL, rather than window semantics, to enable applications that combine current with aged or historical data.
The core of the DBToaster project is what we call the viewlet transform, a recursive finite differencing technique applied to queries. The viewlet transform materializes a query and a set of its higher-order deltas as views. These views support each other's incremental maintenance, leading to reduced overall view maintenance cost. The viewlet transform of a query admits efficient evaluation, the elimination of certain expensive query operations, and aggressive parallelization. We have developed viewlet transforms into a workable query execution technique, present a heuristic and cost-based optimization framework, and built DBToaster, a prototype dynamic data management system that combines viewlet transforms with an optimizing compilation technique. This system supports tens of thousands of complete view refreshes a second for a wide range of queries.
Jigsaw
(with Steve Lee, Charles Loboz, Slawek Smyl, and Suman Nath; MS:S&T and MSR)
Probabilistic databases, in particular those that allow users to externally define probability distributions - so called VG-Functions - are an ideal tool for constructing, simulating, and analyzing hypothetical business scenarios. Jigsaw is a probabilistic database-based analytics tool resulting from a collaboration between Microsoft Research and the Microsoft Server and Tools Division. Jigsaw focuses on parameter optimization, a goal hitherto unexplored by the probabilistic database community. The exponential relationship between number of parameters and the size of the resulting parameter space makes evaluating queries across the entire rage of possible parameter values impractical. Using a novel "fingerprinting" technique to re-use computations for different parameter value combinations, Jigsaw achieves speedups of as much as 2 orders of magnitude over the naive state-of-the-art for real-world business scenarios.
(with Christoph Koch; MayBMS Group)
Most historical probabilistic database research relies heavily on an assumption of discreteness in the probability distributions being managed. Several recent projects have demonstrated the possibility of implementing continuous probabilistic databases using a variety of brute force techniques. Pip takes this idea several steps further and demonstrates how such databases can be made extremely efficient.
Rumor Mongering
(with Alan Demers and Christoph Koch; Cornell Database Group)
Some of my early database research, exploring in-network aggregation in dynamic decentralized mobile wireless networks. The algorithms we developed make it possible to obtain continuously up-to-date estimates of the sum, count, and average aggregates applied to networks with high levels of churn.
Courses
EPFL Advanced Databases
  • Spring 2011 (TA)
Cornell CS 4410/4411 (formerly CS 414/415)
  • Spring 2006 (Lab Instructor)
  • Fall 2006 (Lab Instructor)
  • Fall 2008 (Lab Instructor)
Personal Projects
Hugin is a shared whiteboard for "tabletop" gaming groups. Currently in early beta, Hugin allows the use of miniatures on top of a vector based graphics system. Hugin is implemented in cappuccino.
Dawn is the latest incarnation of the HotCoca Hotline client. Featuring an extensible architecture, Dawn interfaces with the (now defunct) Hotline Connect server in order to provide chat, bulletin board, file transfer, and message board functionality. Dawn also includes a randomizer plugin designed to support "tabletop" RPGs.