Harsha Sharma

I'm a second year PhD student at MIT CSAIL, advised by Prof. Mohammad Alizadeh and Prof. Hari Balakrishnan. My research interest lies in improving computer systems using ML and building systems for ML. I'm currently working on optimzing cluster scheduling in datacetners using a data driven approach.

Prior to MIT, I was a research fellow at MSR India where I worked with Venkat Padmanabhan and Ranjita Bhagwan on optimizing Microsoft's WAN. I graduated from IIT Roorkee in 2020 with majors in physics.


Publications

Switchboard: Efficient Resource Management for Conferencing Services

Rahul Bothra, Rahul Gandhi, Ranjita Bhagwan, Venkata N. Padmanabhan, Rui Liang, Steve Carlson, Vinayaka Kamath, Sreangsu Acharyya, Ken Sueda, Somesh Chaturmohta, Harsha Sharma
Microsoft Research India
ACM SIGCOMM 2023

Optimizing Network Provisioning through Cooperation

Harsha Sharma, Parth Thakkar, Sagar Bharadwaj, Ranjita Bhagwan, Venkat Padmanabhan, Yogesh Bansal, Vijay Kumar, Kathleen Voelbel

Microsoft Research India

USENIX NSDI 2022

Symbolic Execution for Network Functions with Time-Driven Logic

Harsha Sharma, Wenfei Wu, Bangwen Deng

Tsinghua University, Beijing

IEEE MASCOTS 2020

Projects

Optimizing Network Provisioning through Cooperation

MSR India

In this work, we show how cooperation between application and network can optimize network capacity with the knowledge of application's demand type - immediate or deferrable demands. We also built a novel failure model using historical failure data. Using data from Microsoft WAN and Exchange application, we show network capacity savings of upto 40% and projected savings of 200 million dollars. We also collaborated with Azure Networking to deploy our solution in production.

Symbolic Verification of Network Functions

Tsinghua University, Beijing

In this work, we added timing logic constructs to a Network function domain specific language and built a symbolic execution tool from scratch to verify the correctness of network functions. The SEE (symbolic execution engine) was written in C++ and used Z3 to solve constraints and generate counter packet traffic. The code can be found here (https://github.com/hs256/NFSE). Important usecases include PAN firewall, rate limiter, SYN flood detector, and heavy hitter detector.

Connection tracking in Linux Kernel

Google Summer of Code and Outreachy

Netfilter linux kernel module and iptables/nftables allow tracking connections by storing state information of flows in memory tables, such as source and destination address, port number, protocol types, and default timeout. However, attacker can initiate a large number of connections of a particular protocol type with higher timeout value which would exhaust the memory table. In this work, we added support to add custom timeout values for different protocols in the user-facing tool nftables, library libnftnl and Netfilter modeule of linux kernel. Link to the merged linux kernel patch - https://github.com/torvalds/linux/commit/7e0b2b57f01d183e1c84114f1f2287737358d748

Flent application in ns-3

NS-3 Summer of Code student

Flent is a a network benchmarking tool which is easy to use and reproduce experiments. We implemented flent application in ns-3 simulator which offers an API similar to the flent tool for conducting easily reproducible experiments. We further used the tool to compare simultion results with real-world results for different congestion control algorithms and AQMs. The code can be found here: https://gitlab.com/hs256/l4s-evaluation/-/commits/nsoc/?ref_type=heads

Real-time checkpoint and restore (RTCR) in Genode and L4 microkernel

Technical University of Munich

A real-time checkpoint and restore (RTCR) system can provide fault tolerance and dynamic reconfiguration. In this work, we work we implemented RTCR mechanism in Genode and L4 Fiasco microkernel which has applications in automative technologies. I worked on implementation of restoring Interrupt Request (IRQ) object which represents async information and interrupt requests.

Design automation for Digital Microfluidic Biochips

CS Dept, IIT Roorkee

Built a compiler that generates actuation sequences using Biocoder protocol for application specific Micro-Electrode-Dot-Array (MEDA) DMF chips. I also designed and implemented algorithms to modify bioassay directed acyclic graphs to satisfy module constraints.

Backdoor - Information Security platform

SDSLabs, IIT Roorkee

Backdoor is an information security platform for practice and organizing regular internationally well-known CTF (Capture The Flag) contests. I worked on the back-end which is written in PHP based on MVC architecture and uses Memcache for caching. I also built a docker tool to automate deployment of challenge containers spawaned individually for each user.

Blogs