Prateek Sharma

prateek3.14@gmail.com CV

CV || Education || Publications || Research-Interests || Sysadmin


I am currently employed as a Software Engineer at EMC Data Storage India, where I work in the CTO Office on Big-Data Storage and Analytics. I was a Masters student at IIT Bombay (2009-2012) where I worked on Virtualization research (Thesis).

I am interested in Systems-software : specifically Operating Systems, Virtualization, Cloud-Computing, Storage, and Language Runtimes.

Education and Career

Software EnginnerEMC India(2012-Current)
M.Tech. Computer ScienceIIT Bombay(2009-2012)
M.Sc.(Tech.) Information Systems BITS Pilani(2005-2009)

Publications

  • Singleton : Systemwide Page-Deduplication in Virtual Environments. Prateek Sharma, Purushottam Kulkarni. In HPDC 2012. Link
  • A Per-file Partitioned Page Cache. Prateek Sharma, Purushottam Kulkarni. Technical Report Link
  • Software Testing using meta-heuristic techniques. Praveen Srivastava, Vinod Ramachandran, Manish Kumar, Prateek Sharma. In IEEE TENCON 2008 Link

Research interests

Page deduplication in virtual machine monitors

As part of my Master's thesis, I've looked at improving the efficiency of inter-VM page deduplication. Page deduplication in virtual environments is really useful to reduce the overall memory footprint of the virtual machines and provides memory-overcommitment. Unfortunately, finding duplicate pages is resource intensive. As part of our efforts, we focussed on improving KSM (Kernel SamePage Merging), the linux/KVM implementation of page deduplication. By exploiting spatial locality among duplicate pages and implementation tweaks, we have managed to reduce the overhead of KSM by more than a factor of two. On AMD processors, we achieve a 10x speedup, thanks to NPT notifications for dirtied pages.

Part of the work on page deduplication is present in the Singleton paper and my thesis. A qemu-patch for deduplication instrumentation is here.


Black box exclusive caching in virtual machines

To combat the double caching which happens during disk IO in most virtual machine setups (blocks are resident in both the host and guest page caches), a black-box solution for exclusive caching (called ``Singleton'') has been developed. Singleton uses inter-VM page deduplication to remove redundant pages from the host page cache — the result being smaller host caches, faster disk I/O, and more VMs.

The Singleton paper was accepted for publication at the High Performance Parallel and Distributed Computing(HPDC) conference. (Slides)


Operating System Page cache design

The page cache in most operating system remains largely an opaque and mysterious component of the kernel. The per-file page cache is a new page cache architecture which splits the page cache on a per-file basis and gives each file a private, isolated cache. Each file's caching policy (cache size, eviction algorithm) can be set from userspace. This allows better QoS and systemwide performance. The default giant LRU/2 list in linux has been replaced by multiple CAR (Clock with Adaptive Replacement) lists. This improves scalability by removing contention from the lru-list lock and provides a better eviction algorithm (CAR vs LRU/2).

The Per-file page cache is currently being benchmarked. A Patch is available here, and a Technical report is also available.


I/O Scheduling in Virtual Machines

In case of virtual machines, disk requests go through two I/O schedulers — one in the VM itself, and the other at the hypervisor. The question to answer is : Is Disk scheduling really passe ? Preliminary benchmarks with KVM and VirtIO indicate that the thumb-rule of "smarter scheduler near the applications, simpler near the disks" might not always hold true.

To identify and understand delays and bottlenecks in the I/O path, we have instrumented the VirtIO disk handler to carefully account for all delays at the guest as well as the hypervisor (QEMU + KVM + host kernel).


Profiling and Instrumentation


Cloud Platforms

Sysadmin

I worked as a System-Administrator for the Dept. Of Computer Science and Engineering at IIT Bombay as a Research Assistant. I handled the critical computing services and infrastructure(software, hardware, and the network).

Things I have wrangled with:

Sysadmin notes

Spooky Sysadmin tales

Author: Prateek Sharma

Date: 2012-12-19 13:46:21 IST

HTML generated by org-mode 6.33x in emacs 23