PhD: JiST (Java in Simulation Time) is a
high-performance discrete event simulation engine that runs over a standard
virtual machine. The key motivation behind the JiST project is to create a
simulation system that can execute discrete event simulations
efficiently, by transparently performing simulation-specific
optimizations, yet using only a standard systems language and runtime.
These attributes, the last one in particular, highlight an important
distinction between JiST and previous simulation systems in that the
simulation code that runs on JiST need not be written in a domain-specific
language invented specifically for writing simulations, nor need it be
littered with special-purpose system calls and call-backs to support runtime
simulation functionality. Instead, JiST converts an existing virtual machine
into a simulation platform, thus merging the traditional system-based and
languages-based approaches to writing simulations. JiST transparently
introduces simulation time execution semantics and optimizations to simulation
programs written in plain Java and they are executed over an unmodified Java
virtual machine. The resulting simulation platform is both flexible and
surprisingly efficient. For example, it out-performs Parsec, the
high-performance C-based simulation runtime used to build the GloMoSim
simulator. Both as a proof of concept and as a research tool, SWANS
(Scalable Wireless Ad hoc Network
Simulator) is built atop JiST. SWANS is capable of accurately modeling
million-node wireless networks, which represents a 100-fold increase over
existing popular simulators, such as ns2 and GloMoSim. This is possible due to
the benefits of JiST, as well as a novel signal propagation algorithm and
wireless simulation-specific optimizations that reduce memory consumption and
improve simulation throughput. Unlike existing simulators, SWANS is capable of
running standard Java-based network applications, without modification, over
its simulated networks.
Density-Independent, Scalable Search in Ad hoc
Networks. Proceedings of IEEE International Symposium on Personal
Indoor and Mobile Radio Communications, September 2005, with Zygmunt J.
Haas.
Scalable Wireless Ad hoc Network Simulation. Handbook
on Theoretical and Algorithmic Aspects of Sensor, Ad hoc Wireless, and
Peer-to-Peer Networks. Ch. 19, pp. 297-311, CRC Press, 2005.
System for and Method of Improving Discrete Event Simulation
Using Virtual Machines. US Patent No. 11/116.733, filed on 28 April
2005, pending, with Zygmunt J. Haas and Robbert van Renesse.
JiST: An efficient approach to simulation using virtual
machines. Software Practice & Experience, 35(6):539-576, May
2005, with Zygmunt J. Haas and Robbert van Renesse.
An efficient, unifying approach to simulation using virtual
machines. PhD dissertation, May 2004.
JiST: Embedding Simulation Time into a Virtual Machine.
EuroSim Congress on Modelling and Simulation, Sep. 2004, with Zygmunt J.
Haas and Robbert van Renesse.
SWANS: User Guide. March 2004.
JiST: User Guide. September 2003, updated March 2004.
JiST - Java in Simulation. PhD Thesis Proposal,
December 2002.
MagnetOS - Distributed Operating System for Ad hoc Networks
Masters: Designed and developed MagnetOS (Mobile Ad
hoc Network Operating System), a distributed operating
system for sensor networks whose goal is to enable power-aware, adaptive, and
easy-to-develop sensor networking applications. The approach entails providing
a single system image (a unified Java virtual machine) abstraction across a
collection of heterogeneous sensor nodes. MagnetOS automatically and
transparently partitions applications into migratable components and
dynamically finds a placement of these components on nodes within the sensor
network to reduce energy consumption and increase system longevity. I
demonstrated some approaches that can increase system longevity by a factor of
four to five.
Design and Implementation of a Single System Image Operating
System for Ad Hoc Networks, Mobisys, June 2005, with Hongzhou Liu,
Tom Roeder, Kevin Walsh, and Emin Gun Sirer.
On the Need for System-Level Support for Ad hoc and Sensor
Networks. Operating Systems Review, ACM, 36(2):1-5, April 2002,
with John C. Bicket, Daniel S. Dantas, Bowei Du, T.W. Danny Kim, Bing Zhou
and Emin Gun Sirer.
MagnetOS - A Distributed Operating System for Adaptation and
Power Conservation in Mobile Ad hoc and Sensor Networks. Thesis
proposal, March 2002.
Automatic Code Placement Alternatives for Ad Hoc and Sensor
Networks. Computer Science Technical Report 2001-1853, Cornell
University, November 2001, with T.W. Danny Kim, Ian Yee Yan Fung, and Emin
Gun Sirer.
MagnetOS: A Single System Image Operating System for Ad Hoc and
Sensor Networks. SOSP poster session, December 2001, with T.W.
Danny Kim, Ian Yee Yan Fung, and Emin Gun Sirer.
Database+XML - Semi-structure Query Languages
I worked at the IBM Almaden Research Center in San Jose, CA, with the
Exploratory Database Group on on semi-structure query language alternatives.
The problem we were addressing was how to generate XML (semi-structured)
documents from relational data (structured) sources. I focused on designing
various alternatives for query languages to declaratively express the required
result, balancing expressiveness and application needs with brevity and
performance. We also studied various execution strategies for these queries,
and I wrote a general tagging operator needed in many query execution plans.
Efficiently publishing relational data as XML
documents. VLDB Journal 10(2-3): 133-154 (2001), with Jayavel
Shanmugasundaram, Eugene J. Shekita, Michael J. Carey, Bruce G. Lindsay,
Hamid Pirahesh, and Berthold Reinwald.
Efficiently Publishing Relational Data as XML
Documents. VLDB 2000: 65-76, with Jayavel Shanmugasundaram, Eugene
J. Shekita, Michael J. Carey, Bruce G. Lindsay, Hamid Pirahesh, and Berthold
Reinwald.
WebOQL - LDAP extension for Web Object Query Language
During my 4th year of undergrad, I took a research course (CSC494), which
allowed me to work under the guidance of Prof. Alberto Mendelzon on the WebOQL (Web Object Query
Language) project in the Database Group, Computer Science. My task was to
create a module which allows WebSQL to query over LDAP directory sources.
Please see my WebOQL-LDAP page.
Updated 17 June 2005: I was saddened today to learn that Prof.
Mendelzon passed
away yesterday, after a long fight with cancer. He was a wonderful, warm,
inspirational mentor to me, a first-class educator and researcher. May he rest
in peace, and his memory be blessed.
Playbot - Planning for semi-autonomous vision-guided robot
During my 2nd year I took a newly created research course (CSC299Y), which
allowed me to work under the guidance of Prof. John Tsotsos on the Playbot
project in the Vision Group, Computer Science. My task was to create the
planner module for the Playbot robot,
whose task is to intelligently control this robot and use its capabilities to
achieve specified goals. I also worked on the tracking component of the head
controller. The robot consists of various modules that provide
"primitive" functions and, of course, since this is a vision
project, the vision capabilities (including tracking, recognition and
attention) are extensive. The image on the right is a geomview model of the
robot used in the user interface.
Biochemistry - Crystallography of HIV fragment
I have gained some exposure to research in the biomedical field. My
project, with the help of Prof. Emil Pai (Biochemistry) and Prof. Brian Barber
(Immunology), was to determine structural information using crystallographic
and computational techniques of an antigen-binding fragment of an engineered
antibody. The modelling is done on different types of fragments (human IgG1,
murine IgG2A and chimers) and with different inserts: we were primarily
interested in a short protein fragment of HIV. However, during the summer the
antibody would not crystallise, likely (we think) because of its N-terminal
insert, so the lab continued trying different inserts that would hopefully
succeed.