Career Profile

I'm a Computer Science Master's student at Stony Brook University. My research interests include Operating Systems and Algorithm Design. I am currently working in the File systems and Storage Lab under the guidance of Prof. Erez Zadok, on File systems in Userspace (FUSE) research.

Experiences

Performance Architect Intern

Summer 2017
Samsung Semiconductor, Inc.

- Worked on improving NVMe SSD performance by using an asynchronous polled-mode approach instead of an interrupt-driven one, helping to increase throughput of key-value stores.

- Implemented a user-space RAID layer in the above I/O stack to take advantage of multiple storage devices.

Senior Member Technical

2013 - 2016
D. E. Shaw & Co., Hyderabad

- Helped deliver the High-Frequency Trading (HFT) system of the firm on a monthly release cycle. Ran the firm’s trading algorithms through test trading systems and analyzed their behavior; debugged and fixed issues (Languages - Python, Java and Perl).

- Developed a Python API from scratch to manage test trading systems, increasing productivity by over 50%.

- Developed a large automation framework that tested Linear Programming algorithms using a Python-to-Java RMI interface. This automated over 1000 test cases, and the framework was also used in other projects.

Projects

A list of projects I've worked on so far (Links are provided wherever possible. Source code for the rest can be obtained on demand).

Trfs - A Linux filesystem to trace and record all filesystem operations like read, write etc. The operations can later be replayed separately. C, Kernel Programming
Parallel DP algorithms on GPUs with external memory - Implementations of parallel cache-efficient divide-and-conquer dynamic programming algorithms using external memory and GPUs, with up to 40x faster runtimes over traditional CPU versions. C++, CUDA
Syscall Vectorizer - A Linux module that allows each process to have its own syscall "vectors" or overrides. New syscalls can be dynamically loaded using modules. C, Kernel Programming
XMergeSort - A Linux syscall that sorts a given set of files. C, Kernel Programming
Student Course Feedback Summarizer - An unsupervised learning approach that summarizes student course feedback responses using Integer Linear Programming. Python
StonyCCS - A consensus-calling tool that looks at multiple DNA reads and calls the best possible sequence. Python
University Data Analysis - An exploratory project to analyze and visualize data consisting of diversified university rankings. Javascript, d3.js
Human Motion Detection and Identification in Videos - A video-analyzer that identifies and tracks human beings using Adaptive Background Modeling and a Support Vector Machine. C, MATLAB
CHAOS (Cognitive Hand in Automobile Orchestrating Systems) - A road traffic controller that dynamically allocates signal times based on vehicular load. C, 8051 MCU

Skills

Languages: Python, C, C++, Java, Perl, Bash, Awk, HTML, CSS, JavaScript, SQL

Technologies: Linux, Git, CUDA, d3.js, scikit-learn, NumPy, RocksDB, PostgreSQL, Eclipse, LaTeX

Graduate Coursework

CSE 506 - Operating Systems
CSE 537 - Artificial Intelligence
CSE 548 - Analysis of Algorithms
CSE 549 - Computational Biology

CSE 532 - Theory of Database Systems
CSE 564 - Visualization
CSE 613 - Parallel Programming

CSE 508 - Network Security