Research in the area of operating systems and computer architecture, focusing on run-time performance. Created a novel operating system interface for traditional monolithic kernels (e.g., Linux), called exception-less system calls, that enables applications to communicate with the operating system via asynchronous messages. Created a new POSIX compatible threading library to support multi-threaded server applications to efficiently use exception-less system calls (e.g., Apache, MySQL and BIND). Created a new event-driven library to support explicitly asynchronous application/OS execution, and ported memcached and nginx to this new library. Demonstrated that exception-less system calls leads to efficient execution on multi-core processors.
Created an OS-based system for improving processor cache performance called "software pollute buffer". The system profiles application cache performance at run-time, through hardware performance counters, and dynamically remaps application pages with poor cache utilization, using standard page-coloring.