About Me
I am a first year Graduate Student pursuing Masters from the University of Wisconsin-Madison. I graduated from BITS Pilani in Computer Science.
I have a three year work experience at NVIDIA and was involved in projects including 3D Vision Pro and NVIDIA Grid vGPU. My areas of interest include Virtualization, Systems, Networking and Artificial Intelligence.
I am currently part of a research project to profile the impact on an enterprise network of deploying the network middleboxes on cloud.
Education
University of Wisconsin-Madison | 2014 to 2016 | GPA 4.0/4.0 |
|
BITS Pilani | 2006 to 2011 | GPA 8.3/10.0 |
|
Work Experience
Nvidia Graphics Pvt Ltd | Jul'11 to Jul'14 | System Software Engineer |
|
---|---|---|---|
Texas Instruments | Jan'06 to Jun'11 |
Intern |
|
Skills
Programming Languages |
|
---|---|
Operating Systems |
|
Projects
Virtual Middlebox |
We are doing an analysis of the performance impacts of moving the network middleboxes to virtual machines and containers. The goal is to design a scalable and an optimized enterprise network with middlebox elements deployed on cloud. We will explore the opportunities to deploy the middlebox by keeping the following things in mind:
- Minimize the data copying between middleboxes.
- Optimize the data transfer time between the middleboxes.
- Minimize the computation on a packet as it pass through the middlebox stack.
- Load balancing of the computations for the network packets.
- Data security by restricting the communication to only a set of authorized middleboxes.
Eclipse Plugin for Swamp |
SWAMP is a framework to perform analysis on the user source code and seek for potential security vulnerabilities. I am working to create a plugin for the Eclipse IDE. The plugin will allow the user to ship their project (C/C++, JAVA and Python) from the workspace to the SWAMP cloud infrastructure for analysis. The development effort is in Java.
Isolation:Linux Containers v/s Xen Virtual Machines |
Virtualization systems share several hardware resources that includes CPU, memory and the I/O devices and thus the challenge of performance isolation arise. Ideally, an application running inside one environment should not at all be affected from the activities of the other environments it shares hardware resources with. We quantify the extent of isolation provided by the two popular virtualization systems Xen and Linux containers (LXC) by performing a series of experiments on CPU, memory, network card and the block I/O. Findings:
Test | LXC | Xen VM |
---|---|---|
CPU | Isolated | Isolated |
Recursive Fork | Not Isolated | Isolated |
Network | LXC | Xen VM |
Test | Not Isolated | Only egressing traffic isolated |
Block I/O | Partially Isolated | Not Isolated |
Code Compression Inspired by Procedural Abstraction |
Motivation: Source code size reduction for embedded systems due to the lack of memory resources.
Procedural Abstraction: Code is searched for matching sequences and those sequences are then replaced by a single procedure resulting in lower program size.
Additional Compression: We observed that there is an opportunity for further compression by identifying the sequence of instructions that matches only partially (in the opcode part). We proposed a new compression algorithm to seek for repeating sequences of opcodes in the code section. Since the probability of finding a matching sequence of opcode is greater, it is possible to find sequences that are frequent and large in size. The repeating sequences are replaced by a marker instruction and are divided into the opcode and non-opcode parts. The code size reduction is obtained by saving only one copy of the opcode part of the repeating sequence and discarding others.
Opportunity: When tested on multiple small ARMv6 programs, we found out that there is an opportunity for compression in the range of 3-5%.
Roadblock: An implementation of the decompression algorithm on the hardware was proposed that required changes to the ARMv6 instruction pipeline. However, maintaining clock sync to correctly generate instructions from the subparts and stalling new instructions until the decompression completes were the biggest setbacks to the implementation
Patents
Virtualized GPU Engine | NVIDIA Graphics Pvt Ltd | Pending under USPTO: 13/915630 |
|
---|