|
|
|||
|
Research projects
Time-travel for distributed systems
Development of a replay debugging environment for distributed systems consisting of hundreds of machines. Our
time-travel system will run along with an experiment launched in Emulab and capture original execution of an entire
network of virtual machines. In case of an error, a researcher will be able to rollback execution of the network to the
point before the crash and inspect its state or debug it with a traditional step-by-step debugger. On each node we replay
entire OS along with its running processes.
Stateful Swapout (true time-sharing for computer networks)
Emulab includes more than 350 PC nodes. Some 1500 users run experiments of size 1-300 nodes, on a first-come
first-served basis. Demand far exceeds capacity, so Emulab provides a weak form of time-sharing. We would like
to schedule Emulab experiments similarly to how OS schedules its processes.
The Emulab scheduler could preempt
low-priority or idle experiments, save the full state of entire network, and replace it with
other experiments. The goal is that swapout/swapin must be transparent to the
experiment, and except for scheduling delays, transparent to users. In the
context of Emulab, this means that we are able to preempt large long running
experiments without compromising the correctness of experimental results.
Work done before University of Utah
August - November 2004
PhD Practicum at the National ICT Australia, University of New South Wales
Supervision: Prof. Gernot Heiser, Dr. Ihor Kuz.
Implementation of the µITRON real-time embedded operating system on top of the L4 microkernel
µITRON is a specification of a real-time embedded operating system kernel. Being minimalist yet powerful enough it became de-facto standard on Japanese embedded system market. Implementation of a µITRON compatible kernel on top of L4 was a good test on both completeness and flexibility of L4 API and on its potential applicability to development of embedded systems.
2000 - 2005
Postgraduate research
E1 distributed operating system
E1 distributed operating system project is aimed to provide reliable software platform for distributed applications. State and functionality of all operating system components are encapsulated by distributed objects. A complete or partial copy of distributed object's state is placed in each network node where the object is used. Copy coherence is ensured by replication algorithms.
1999 - 2000
Undergraduate research
Agent based operating system
This research was aimed on the investigation of an applicability of an agent oriented programming methodology to construction of operating systems capable to operate in complex dynamic environments relying on an intensional logic. All operating system components were treated as intelligent software agents cooperating in order to achieve common goals.
|
|||
|
|
|||
|
Updated: February, 2009
|
|||