Professional/Personal Projects

I am still exploring many fields of Computer Science, but my current interests are Cloud Computing and Machine Learning. Most of my undergraduate work (course and personal projects) have been in the area of systems. My work at Salesforce currently involves creating and maintaining CI/CD pipelines for Salesforce Developers, as well as maintaining security aspects of Salesforce internal cloud hosted in AWS.

Professional Work

CRAFT: Custom Resource Abstraction and Fabrication Tool May - July 2020

DPX SRE Team, Salesforce, Hyderabad

CRAFT removes the language barrier to create Kubernetes Operators. CRAFT declares Kubernetes Operators in a robust and generic way for any resource, letting developers focus on CRUD (create, read, update and delete) operations of resource management in a Dockerfile. You can find the github repo for CRAFT here.

Anomaly Detection in Power level Data May - July 2019

R&D Team, NMSWorks, Chennai

For a network cable under the sea, monitoring of power-level data is a trivial but important task to notice and report anomalies in power-level data. We built a Random – Forests based model to detect anomalies and raise alarms. Our bit-rate classifier worked at 96% accuracy.

Coursework/ Personal Projects

Dynamic Redirection of inter cluster pod to pod traffic in Kubernetes Bachelor’s Thesis

Guide: Prof. D. Janakiram

With 5G networks looming up in the horizon, it becomes very important to be able to service trivial requests at the edge clouds and only direct important requests to public cloud, to reduce the latency and burden on public cloud. In this aspect, we worked on the framework of a controller model which enables dynamic redirection of requests between clusters. This helps the edge cloud to make a decision regarding rerouting the requests dynamically, based upon the complexity of the request.

Just in time approach to growing heap memory in xv6 CS3500: Operating Systems

Guide: Prof. Pratyush Kumar Panda

As part of our understanding of the workings virtual memory, we wrote a just-in-time approach to allocating heap memory for the xv6 OS, implemented a demand paging policy accordingly and patched an exception handler.

Full-scale Compiler from MacroJava to MIPS Assembly code CS3300: Compiler Design

Guide: Prof. Krishna Nandivada

As part of our understanding of the workings of compilers, we implemented a six stage compiler with lexical analyser, syntax and semantic analyser, IR generator, Register allocation, machine dependent and independent optimizer (register renaming, loop unrolling) and MIPS assembly code generator.

Five-stage Scalar Processor and Cache simulator in C++ CS2600: Computer Architecture

Guide: Prof. Madhu Mutyam

As part of our understanding of the workings of processor pipelines and caches, we implemented a C++ code that would process a given set of instructions in the simulated 5 stage pipeline environment and give the output of the instrutions, the number of cycles taken and the changes to the cache simulator. The cache simulator would take input about the policy to be implemented, the size of sets and blocks and simulate the cache required for functioning.