Research Projects

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.
 

Summer Intern Works

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.