I am a PhD student at the CSE department at IIT Bombay, and a part of the Systems and Network Research Group. I work with Prof. Mythili Vutukuru in the broad field of networks and systems. I got my bachelors degree in Computer Science and Engineering from R.V College of Engineering in Bengaluru in the year 2017, after which I went on to work for a couple of startups (Perpule acquired by Amazon for $14.7M and Pitstop) as a software engineer before starting my PhD. My thesis targets every stage of the virtual network function development pipeline, from specifying and building network functions using a DSL, to accelerating them with application aware request steering. My most recent work involves efficiently extracting application level metrics from these well defined and accelerated NFs.

I have submitted my PhD thesis [Abstract] and am currently in limbo, looking for future opportunities in the field of systems and networking. You can reach out to me at ashkumar@cse.iitb.ac.in if you wish to connect. My CV can be found here.

My PhD seminar was on the topic of Novel Network stacks where I reviewed state-of-the-art research network stacks covering a number of design techniques to improve network I/O. [Seminar Report]

I also spent the summer of 2020 and 2021 interning with Telco Cloud team at IBM Research India, Bengaluru. I worked under the supervision of Praveen Jayachandran, Palanivel Kodeswaran, Sayandeep Sen and Priyanka Naik exploring various novel networks stacks in the Telco Cloud environment.

I was awarded the Microsoft Research India PhD award in July of 2024. The award was targeted at students in their last year of doctorate, and was presented to a batch of 10 students from across the country.

Research

My work on Pyramis enables the writing of concise, precise specifications, which are then translated into optimized C++ reference implementations. Pyramis enhances clarity, minimizes ambiguities, and improves maintainability compared to verbose text-based specifications. Performance evaluations demonstrate that Pyramis-generated implementations match the efficiency of hand-optimized code.

Further, AppSteer employs eBPF programs and intelligent kernel hacking to improve the multicore scalability of compute-intensive NFs. AppSteer enables NFs to steer traffic to threads based on application-level identifiers (application-aware packet steering), enhancing scalability for NFs running on the Linux kernel.

My current work involves building DeepSight, an application-layer telemetry system to extract application-layer metrics from message payloads within the network, in order to derive insights about the application performance. DeepSight provides a query language to define message formats and query specifications, and automatically compiles it to P4 and eBPF code that can extract application metrics within the network in programmable switches or endhost kernels. DeepSight decouples application layer telemetry from the application itself, giving operators the required flexibility to extract application layer metrics even with no control or visibility into the application source code. The key challenge addressed by DeepSight is that application payloads are unstructured, and are non-trivial to parse on the packet forwarding path, unlike network or transport layer headers that are traditionally inspected for network telemetry. We plan to build an end-to-end application layer telemetry solution by integrating DeepSight with an application analytics backend like Prometheus. I presented a poster at MSR India in Jan of 2025 which gives a little more detail on this work.

I am also involved in building Toasty, which redesigns network device drivers to work in consortium with the Direct Cache Access technologies like Intel's DDIO which can DMA incoming packets directly to the LLC. High-speed packet I/O frameworks like DPDK and AF_XDP preallocate a pool of free packet buffers in userspace, which are used by the NIC to DMA incoming packets, and which are subsequently processed by the application and recycled back to the free pool. Prior work has observed several performance issues with DDIO when the pool of packet buffers does not fit into LLC, and incoming packets have to contend for space with, and evict, other packet buffers from the cache. While using a smaller pool of packet buffers that fits in cache is an obvious solution to this problem, this may result in the NIC running out of buffers to DMA packets into when a burst of packets arrive in a small interval of time. Toasty, on the other hand improves network I/O performance by optimizing the reuse of cache-warm packet buffers in the free pool.

Academics

Publications

  • [APNet] Pyramis: A Domain Specific Language for Developing Multi-tier Systems [paper]
    8th Asia-Pacific Workshop on Networking (APNet), Sydney, Australia, August 2024
    Ashwin Kumar, Ajinkya Tanksale, Armaan Chowfin, Mohan Ajjampudi, Arnav Mishra, Abuhujair Khan, Vishal Saha, Priyanka Naik, Mythili Vutukuru
  • [IFIP Networking] Feasibility of Application Layer Header Parsing in eBPF and P4 [paper]
    IFIP/IEEE Networking, Thessaloniki, Greece, June 2024
    Ashwin Kumar, Abhik Bose, Khushboo Tiwari, Arnav Mishra, Abhishek Dixit, Abuhujair Khan, Mythili Vutukuru
  • [CCGRID] AppSteer: Framework for Improving Multicore Scalability of Network Functions via Application-aware Packet Steering [paper]
    IEEE/ACM international Symposium on Cluster, Cloud and Internet Computing (CCGrid), Philadelphia, USA, May 2024.
    Ashwin Kumar, Rajneesh Katkam, Pranav Chaudhary, Priyanka Naik, Mythili Vutukuru
  • [APNet] Evaluating Network Stacks for the Virtualized Mobile Packet Core [paper]
    5th Asia-Pacific Workshop on Networking (APNet), Virtual, June 2021
    Ashwin Kumar, Priyanka Naik, Sahil Patki, Pranav Chaudhary, Mythili Vutukuru
  • [Under Review] Application Layer Telemetry in eBPF and P4
    Ashwin Kumar, Abhik Bose, Khushboo Tiwari, Arnav Mishra, Bhumik Sanchaniya, Het Patel, Ratnesh Patel, Abhishek Dixit, Abuhujair Khan, Mythili Vutukuru

Talks and Community Work

  • Hands-on eBPF session at ACM SIGMETRICS 2022. Conducted a hands-on session on eBPF as part of the PerfNA workshop in ACM SIGMETRICS 2022, held at IIT Bombay. (Jun 2022)
  • Linux kernel network stack and modern packet processing frameworks. Gave a talk on packet processing frameworks as part of the ’Virtualization and Cloud Computing (CS695)’ course taught by Prof. Puru Kulkarni at IIT Bombay. (Apr 2023)
  • External Review Committee (ERC) member, USENIX ATC 24. Served on the review committe for USENIX ATC 24. (Apr 2024)
  • Application-aware packet steering. Gave a talk on recently accepted work relating to packet steering at University of Pennsylvania, hosted by Prof. Vincent Liu, and at University of Illinois Urbana-Champaign, hosted by Prof. Radhika Mittal (May 2024). Also gave this particular talk at the WCSNG research group meeting at Universiy of California San Diego, hosted by Prof. Dinesh Bharadia (Mar 2025).

Projects

Following is a list of projects which I did either as part of course work at IITB, or independently out of my own volition.
  • x86 based Operating System

    Built an operating system running on top of the QEMU x86 emulator based on labs of the Operating Systems Engineering (6.828) course taught by Prof. Frans Kaashoek and Prof. Adam Belay at MIT. Wrote a simple bootloader responsible for loading the kernel from the disk. Wrote a kernel monitor function that prints a backtrace of the stack: a list of the saved Instruction Pointer (IP) values from the nested call instructions that led to the current point of execution. Wrote a physical page allocator for the kernel to keep track of free physical RAM. Wrote a page table manager to insert and remove virtual-to-physical mappings, and to create page table pages when needed. Setup the kernel space mappings in the page table. Setup necessary mapping in the page table to initialize a user environment for the kernel. Wrote code to install an Interrupt Descriptor Table (IDT) enabling the kernel to handle interrupts and exceptions including system calls.

  • Container Networking

    Wrote scripts to enable communication to/from a pod (network namespace) by configuring virtual ethernet devices and setting up routes-imitated techniques employed by Flannel and Calico, two popular CNI plugins enabling container networking. Wrote eBPF programs to enable container networking imitating techniques employed by Cilium.

  • Distributed Key Value Server

    Built a distributed key-value server based on consistent hashing. Every node in the distributed system was event-driven in nature, wherein it only used compute resources in the presence of incoming load. The key value server supported GET, PUT, and DELETE requests, with each node having a front-end that parsed the incoming request. Every node stored the key-value pairs in persistent memory, i.e., the disk, but also consisted of an in-memory cache, which improved the average latency for some workloads and could be configured to be write-back or write-through.

  • Interactive Shell

    Built an interactive shell as part of the Design and Engineering of Computing Systems course taught by Prof. Umesh Bellur at IIT Bombay. The shell supported basic commands like cd, pwd, ls, sleep, etc. The shell was also capable of supporting multiple processes running serially or in parallel. It also had the capability to spawn processes running in the background. The shell also supported input and output redirection to a specified file in addition to piping the output of a process to the input of another process. Finally, it also handled signals that could be delivered to the process currently executing inside the shell.

Awards

  • Microsoft Research India PhD Award 2024
  • APNet 2024 Travel Grant

Teaching Assistantship

  • CS 347M - Operating Systems (Minor), Autumn-20
  • CS 744 - Design and Engineering of Computing Systems, Spring-20, Autumn-22
  • CS 347 - Operating Systems, Autumn-21, Autumn-23, Autumn-24
  • CS 695 - Topics in Virtualization and Cloud Computing, Spring-22, Spring-24
  • CS 101 - Basics of Computer Programming, Spring-21

Miscellaneous

When I am not in lab daydreaming about networked system, I am on the cricket field, enjoying the sport I love. I represented my Under-14 and Under-16 district teams as a teenager, and then went on to represent RVCE and IIT Bombay later. I was a part of the IIT Bombay cricket team at 4 consecutive Inter IIT Sports Meet, and was the leading run scorer in 2023. I also captained the IIT Bombay cricket team to a Gold medal (after 16 years) during the 2024 Meet, held at IIT Kanpur