About me

I am a MS CS student at the University of Illinois Urbana-Champaign, broadly interested in the area of Operating Systems: Task scheduling, energy, memory management at scale.

Prior to joining UIUC, I worked as a Kernel Developer in IBM, Linux Technology Center since 2019 where I was part of the CPU team responsible for building and deploying upstream solutions for Scheduling and Energy management problems that were faced by both the IBM POWER platform and the community. Before joining at IBM, I have graduated with Bachelor's in Technology from PES University.

Research Interests

  • Operating Systems
  • Linux Containers
  • Energy Efficicent Systems
  • CPU resource management
  • Memory management

Education

  1. MS in Computer Science

    2022 — 2024

    University Of Illinois, Urbana-Champaign

  2. B. Tech in Computer Science

    2015 — 2019

    PES University, Bangalore, India

Experience

Experience

  1. University of Illinois, Urbana-Champaign

    Teaching Assistant
    Aug 2022 — Present

    • Course Teaching Assistant for CS 233 - Computer Architecture

  2. IBM, Linux Technology Center

    Software Engineer
    Aug 2019 — Jul 2022

  3. IBM, Linux Technology Center

    Software Engineering Intern
    Jan 2019 — Jun 2019

  4. Carnegie Mellon University

    Summer Undergraduate Intern
    Jun 2018 — Jul 2018

    • Profile the Linux Operating System to extract the kernel view of memory and analyze access patterns
    • Simulated a memory prefetching algorithm based on N-grams and evaluated its performance with the state of art in a simulated environment

  5. Scapic

    Software Engineering Intern
    Jun 2017 — Jul 2017

    • Assisted in building an in-browser, marker based augmented reality feature for user to create no-code mixed reality experiences

  6. Microsoft Innovation Labs

    Intern - PES University
    Jun 2016 — Jul 2016

    • Prototyped a Virtual reality sandbox experience and created an interface using 3D depth processing of the Microsoft Kinect Camera

Publications

  1. Face recognition using interest points and ensemble of classifiers

    March 2018
    IEEE - Recent Advances in Information Technology (RAIT), Indian Institute of Technology, Dhanbad, India

Projects

  1. Haptic Feedback glove

    January 2016 — September 2018
    Indian patent pending: 201841036867

    • A force feedback haptic glove designed to provide realistic sensations of the shape and the stiffness of objects in the virtual space
    • An algorithm also devised to convert any three-dimensional model, to a haptic space matrix such that each surface is mapped to a force-feedback sensation on the glove

  2. Augmented Reality Spectacles

    November 2018

    • A smart-glasses project that re-imagined augmented reality through sound via bone conduction rather than a head-mounted display
    • The regular pair of spectacles were retrofitted with an AVR-Arduino microcontroller, a pair of bone conduction speakers, a bluetooth module for communication, and, a capacitive touch interface was designed for the frames

Awards

Awards

  1. Linux & Power Significant Contributor Open Source Recognition Program

    December 2021
    Issuer: IBM, Linux Technology Center
  2. Exemplary Rookie, General Manager awards

    September 2021
    Issuer: IBM, Linux Technology Center
    Awarded the General manager awards in the Exemplary Rookie category from the APAC region for Spring 2021
  3. First place - India Systems Development Labs Hackathon

    January 2020
    Issuer: IBM, Linux Technology Center
    Project: Improving coverage of the instruction emulation framework for Power in Linux
  4. Prof. CNR Rao Merit Scholarship

    February 2019
    Issuer: PES University
    Forty percent tuition fee waiver for the academic year for the top GPA holders
  5. Third place - Microsoft HashCode 2k17 Hackathon

    November 2017
    Issuer: PES University
    Project: Augmented Reality Spectacles through sound
  6. Second place - Honeywell Power of connected Hackathon

    June 2017
    Issuer: Honeywell India
    Project: Haptic Feedback Glove demonstrated with an e-Commerce application
  7. Second place - Microsoft HashCode 2k17 Hackathon

    November 2017
    Issuer: PES University
    Project: Hardware Modular Smartwatch
  8. Third place - Pluralsight Smarter Than Yesterday Hackathon

    August 2016
    Issuer: Pluralsight
    Project: Haptic Feedback Glove demonstrated with an e-Commerce application

Junk Code

Cloud and Containerization

  1. CPU namespace

    CPU isolation for containers. Provides consistency of sys/proc/cgroup fs interfaces. Also, improves security and performance. Linux Patches , Phoronix article , Linux Conf. Australia 2022

  2. Cgroup Control

    A simple script that helps in creating and controlling cgroups. Used when we want to avoid Docker overheads, and either do not wish to directly interact with the cgroup-tools like cgcreate,cgexec, etc; or this toolset is unavailable/unsupported. Github Gist

Energy Management

  1. Weighted TEO Governor

    Improvements to the current idle state governor's non deterministic event prediction algorithm. Uses a weighted history to create a probability distribution of the idle states rather the sliding window history. Linux Patches , LWN article

  2. CPU-idle latency self-test framework

    Estimate the wakeup latency caused by going into idle states. Hardware may certify certain latencies, however firmware and kernel overheads may exist. This will then lead idle governors making energy mangement decisions based on incorrect residency assumptions. Aim is to find significant deviations between advertised latency and residency values in the kernel space. Linux Patches

Debugging

  1. CPU-idle Verifier

    A processor may lose information in many registers based on how deep of an idle state it has gone. The platform saves and restores these registers on a wakeup. However, any inconsistency in restoring can lead to catastrophic failure which may not always crash the system upfront. A kernel debugging patch written for IBM POWER9 to verify the consistency of the registers before and after an idle state is evoked. Linux Patches

  2. CPU hotplug and Idle stress test

    Emulates long running behavior of usage of CPU power management in relatively short and intensive runs. Bash Script

  3. TimeBase Drift

    If the hardware timebase does not perform with monotonicity, the system fails in a cascading dominos of subsystem failures, making it incredibly difficult to pinpoint the root cause. A debug kernel module to identify timebase anomalies on the platform had been written to test any and all processors for such anomalies. Kernel module