Distributed applications are becoming increasingly relevant as the cost of powerful commodity computing hardware plummets, and novel frameworks such as Piccolo have introduced fast, efficient, and simple means to build such applications. Piccolo provides a clean interface for problems that can be easily divided into iterations, and for which most data must be examined in each iteration. However, problems requiring sparse execution, for which only a subset of the data must be examined in each iteration, including causal sparse execution, cannot be cleanly or efficiently solved with Piccolo. Oolong solves this weakness by offering two classes of active triggers, used respectively to execute arbitrary code when key-value pairs are changed, andto monitor specific pairs, potentially in conjunction with other systemstate. We present our motivation and interface, and show the speedand simplicity advantages of Oolong through two sample applications implemented with and without triggers.

Mitchell, Christopher, Russell Power, and Jinyang Li. “Oolong: Asynchronous Distributed Applications Made Easy.” Proceedings of the Asia-Pacific Workshop on Systems, 2012.