While I am pursuing my degrees at Georgia Institute of Technology, I have worked on the following projects:
KECho: Kernel-Based Distributed Event Delivery System for Linux
KECho
is a distributed event delivery system entirely implemented in the Linux kernel
and is a port of the
ECho
event delivery middleware system. It supports of the publish/subscribe paradigm and
both synchronous and asynchronous event delivery between user-level and kernel-level
threads in a distributed system.
KStream: Kernel Support for Efficient Data Streaming in Proxy Servers
KStream is a set of kernel level data streaming abstractions to do efficient content
delivery. it offers improved performance for the multiple data forwarding models
commonly used in data distribution networks; reduces per stream overheads by
eliminating unnecessary system calls and memory copying; offers improved levels of
predictability for the Quality of Service (QoS) experienced by media streams due to
its use of non-preemptable kernel-level threads and its ability to directly interact
with the CPU scheduler and other kernel-level resource managers.
Camera-Cast: Flexible Access to Remote Video Sensors
Camera-Cast is a simple, easily
used system-level solution to remote video access. It provides a logical
device API so that an application can identically operate on local vs.
remote video sensor devices, using its own service and server topologies. In
addition, the application can take advantage of API enhancements to protect
remote video information, using a capability-based model for differential
data protection that offers fine grain control over the information made
available to specific codes or machines, thereby limiting their ability to
violate privacy or security constraints.
Trust Passage:
Enabling Security Guarantees In Service Oriented Architectures
The complexity of today's large scale distributed systems makes it extremely
challenging for open systems to provide trustworthy services to end-users. In
this research project, we are developing an approach that integrates modern
system virtualization techniques as well as new methods for runtime trust monitoring
and assessment. This approach dynamically creates and maintains what we term trusted
passages across distributed and potentially untrusted execution platforms.
The ultimate goal of this project is to allow critical distributed applications to
use open systems; enabling them to produce, process, and distribute information in a
timely fashion.
While I was a summer intern at IBM T.J. Watson Research Center, I have worked on the following projects:
Enabling Autonomic Workload Management in Linux
Complexity reduction in workload management is driving the development of
goal-oriented workload managers (WLMs). Simultaneously, server consolidation
of workloads with dynamically changing resource demands calls for these WLMs
to be increasingly efficient in managing resources. We propose the
Class-based Kernel Resource Management (CKRM) framework, implemented in
Linux, for operating systems to these requirements.
TCP Splice Performance Analysis
In this project, we analyze the problem of CPU resource
contention between a Web proxy cache and the TCP
Splice kernel service. TCP Splice improves the
performance of a proxy cache by reducing the CPU
utilization and latency for cache misses. However,
TCP Splice implementations based on packet forwarding
in the IP or socket levels can delay the serving of
cache hits when high bursts of packets move through
the in-kernel infrastructure. In these implementations,
the TCP Splice activity has higher priority than the application,
and the application has no means of controlling
the pace of spliced transfers. In this project, we
propose an alternative paradigm for TCP Splice implementation
that enables application control, while providing
reasonably large reductions in CPU overheads.