Serendipity: A Distributed Computing Platform for Disruption Tolerant Networks
Ammar, Mostafa H.
Zegura, Ellen W.
MetadataShow full item record
The opportunistic or disruption tolerant networking (DTN) paradigm shows up in a variety of settings, from military to disasters to the developing world to deep space; anywhere that fixed infrastructure is either unavailable or expensive. Simple messaging applications have substantial value for communication and coordination. We posit that these settings can also leverage applications that are computationally complex and will benefit from distributed computing to take full advantage of nearby computational resources. Computing over these networks is not trivial, however, since network disconnections are common and persist over many time scales. In this paper we present the design and implementation of Serendipity, a general purpose distributed computing platform designed to run over a DTN. We have designed a simple but powerful job structure that is suitable for such an underlying network. As opposed to traditional distributed computing platforms in data centers and clusters, where a central master is used to allocate tasks and monitor the working nodes, Serendipity relies on the collaboration among DTN nodes on these functionalities. Smart task allocation algorithms are designed to disseminate tasks among mobile devices by accounting for the special properties of DTNs. The extensive evaluation of our system on Emulab demonstrates that Serendipity efficiently speeds up various kinds of distributed computing jobs by a factor of 2.3 to 10.1 in a diverse set of DTN environments.