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.