MPI-INF Logo
Campus Event Calendar

Event Entry

What and Who

Reliable and efficient programming abstractions for sensor networks

Ramki Gummadi
MIT
SWS Colloquium


Ramki Gummadi is currently a post-doc at MIT with Prof. Hari
Balakrishnan. He is interested in all aspects of Systems and
Networking, with a particular emphasis on wireless networks, building
and measuring Internet-scale systems, and programming methodologies
for simplifying the construction of such large-scale concurrent
systems. He received his B.Tech. from IIT-Madras in 1999, his M.S.
from UC Berkeley in 2002, and Ph.D. from USC in 2007. He was awarded a
UC Berkeley Regents Fellowship and an ACM Student Research Competition
award.
AG 1, AG 2, AG 3, AG 4, AG 5, SWS, RG1, RG2  
Expert Audience
English

Date, Time and Location

Friday, 30 November 2007
23:00
60 Minutes
E1 5
024
Saarbrücken

Abstract


It is currently difficult to build practical and reliable
programming systems out of distributed and resource-constrained sensor
devices. The state of the art in today's sensornet programming is
centered around nesC. nesC is a nodelevel language---a program is
written for an individual node in the network---and nesC programs use
the services of the TinyOS operating system. In this talk, I will
describe an alternate approach to programming
sensor networks that significantly raises the level of abstraction
over today's practice. The critical change is one of perspective:
rather than writing programs from the point of view of an
individual node, programmers implement a central program that
conceptually has access to the entire network. This approach pushes to
the compiler the task of producing node-level programs that implement
the desired behavior.

I will present the Pleiades programming language, its compiler, and
its runtime. The Pleiades language extends the C language with
constructs that allow programmers to name and access node-local state
within the network and to specify simple forms of concurrent
execution. The compiler and runtime system cooperate to implement
Pleiades programs efficiently and reliably. First, the compiler
employs a novel program analysis to translate Pleiades programs into
message-efficient units of work implemented in nesC. The Pleiades
runtime system orchestrates execution of these units, using TinyOS
services, across a network of sensor nodes. Second, the compiler and
runtime system employ novel locking, deadlock detection, and deadlock
recovery algorithms that guarantee serializability in the face of
concurrent execution. We illustrate the readability, reliability and
efficiency benefits of the Pleiades language through detailed
experiments, and demonstrate that the Pleiades implementation of a
realistic application performs similar to a hand-coded nesC version
that contains more than ten times as much code.

Contact

Brigitta Hansen
0681 - 9325200
--email hidden
passcode not visible
logged in users only

Brigitta Hansen, 11/28/2007 15:33 -- Created document.