Nalini Vasudevan
|     Home    |     Research    |     Publications    |     Presentations    |     Other    |     Photos    |
 Current Research
I am currently working on a deterministic concurrent language called SHIM. SHIM is a modification of the C language with concurrency. Any program written in SHIM is guaranteed to be race free i.e. the output is deterministic for a given input sequence. Tasks run asynchronously in SHIM, but they synchronize when data has to be shared.
Papers on SHIM

Clock Analysis of X10 programs (Summer 2008)
The X10 programming language is a concurrent and distributed programming language developed by IBM. As an intern at IBM, I statically identified behavior patterns of clocks in X10 programs and then specialized the implementation for certain patterns to achieve higher performance. My supervisors include Olivier Tardieu and Vijay Sarawat.

Compiler for the Cell Broadband Engine (Spr 2008)
I have been working on the PS3's Cell Processor. We implemented SHIM's multiway rendezvous on it. The cell processor has nasty alignment rules and very low level mechanisms for using the processors. Our goal is to make our compiler take care of all the headache while the user provides a high level program (in SHIM) to the compiler.

Static Deadlock Detection (Fall 2007)
The SHIM language is deterministic but prone to deadlock. We statically detect deadlocks in the program by using formal verification techniques. Although SHIM is asynchronous, we show how to use synchronous methods to model check SHIM.

A Deterministic Concurrent Model for Haskell (Summer 2007)
During my internship at Microsoft Research (UK), we developed a multi-way rendezvous concurrent model for Haskell. The goal was to achieve functional determinism. My supervisor at Microsoft was Satnam Singh.

SHIM to Multi-threaded C Code (Spring 2007)
I wrote a compiler to translate SHIM to multi-threaded C code using the Pthreads library. The aim was to program shared memory processors to get deterministic concurrency. We tested and ran experiments on an Intel Quad-Core Machine.

Parallel JPEG Decoder (Fall 2006)
To get a hang of SHIM, I started off by writing a parallel JPEG decoder in SHIM.The IDCT is the most expensive part of the JPEG decoder and it had to be parallelized.

Please have a look at my publications for more details.

 Other
Undergraduate Thesis: Localization of Sensor Networks
As a part of my undergraduate thesis, I worked on sensor networks at the Indian Institute of Science. We programmed Berkeley Mica2 sensor motes in such a way that the sensors could locate themselves when thrown on a 2D surface. They were deployed in a way that a few sensors knew their locations, while others did not. The aim was to find the location of every sensor using wireless communication. You can find related documentation here.

Patern Classification using Neural Networks
As an undergraduate student in India, I worked on classification and prediction algorithms using Neural Networks. I tried to recognize speech commands and execute them. I also worked with Prof. Soulaymane Kachani, Columbia University to predit future oil price. Also, I tried to predict future resource utilization and do capacity planning.
More documentation and papers.

Video Summarization
I also worked on automated video summarization techniques during my undergrad days. You can find related documentation here.

All Rights Reserved. 2008. www.cs.columbia.edu/~naliniv. Design by Nalini Vasudevan
.