About Me

  • Full Name:Ratnadeep Bhattacharya
  • Email:ratnadeepb@gwu.edu
  • Address:2121 Eye St NW, Washington, DC 20052

Call me Deep!

I am a fifth year PhD student in the Computer Science department of The George Washington University. I work with Dr. Timothy Wood

Before joining the PhD program, I worked as an IT systems engineer specializing in building virtual datacenters.

Research Focus

My overall focus has been on cooperative and self-managed adapative load balancing in microservices.
Load Balancing algorithms have been ported over from the centralized load balancer world pretty much as is. However, in modern microservices the load balancer is packaged with each service instance. These load balancers make decisions independently routing requests to the same set of backends but only using local data. Random does not help much in this case. As this article points out, random balances the load asymptotically but suffers from extreme variance in load assigned to each backend over time. Join the Shortest Queue (JSQ) has been proven to be nearly optimal but we have been able to show that in cloud and edge applications, performance of JSQ and it's adaption Least Connection can deteriorate significantly.

Current Projects

Load Balancing in Asynchronous Microservices
In my next project I am focusing on the lack of load balancing infrastructure in asynchronous microservices and is typically left up to the consumers to figure out the load balancing part. Specifically, I am focused on Apache Kafka whose distribution of a topic's keys into partitions and the assignment of partitions to consumers has a strong assumption of normal distribution of keys in the workload. Yet, there are instances in the industry where users have run into the hot key problem and has had to work around the same as documented here and here.

My Resume

  • Work Experience

  • Research Assistant / Teaching Assistant

    The George Washington University - 2018 - Present

    I am currently working on understanding the problems with load balancing in microservices environments and attempting to solve certain aspects of the same.

    I was a Teaching Assistant for Dr. Gabriel Palmer's operating systems class in Fall 2018 and Fall 2019.

  • Software Engineer Intern

    Google, Summer, 2022

    Built a system of filters using Envoy proxy’s WASM extension to apply actions on connections. The filters work with a generic interface with a fast and memory efficient custom trie and a bloom filter (Rust) backend to store the IPs. Also explored applying and logging network layer 2 policies using Linux XDP programs (C and Go).

  • Distributed Architecture for Privacy-Preserving Technologies Intern

    Bosch - Summer, 2021

    Worked on building a system that can run machine learning applications without exposing personally identifiable information. My work revolved around figuring out how to run Kubernetes components inside Intel SGX using the Graphene (since renamed) and Marblerun frameworks.

  • IT Systems Engineer

    2006 - 2018

    During this 12 year period, I worked for a variety of companies across India, UK and the Middle East as an IT Systems Engineer building virtual datacenters for clients using Linux, Unix and VMware based technologies.


  • Education

  • PhD in Distributed Systems

    The George Washington University - 2018 - Current

    I am currently interested in problems in load balancing, autoscaling and service discovery for microservices.

  • Completed PhD (CS) Prelims

    The George Washington University - 2018 - 2020

    In order to satisfy PhD pre-requisites, I had to complete coursework, that focused on systems, machine learning and IoT, as a prerequisite for my PhD.

    My final grade was 3.66/4.00.

  • Bachelor of Technology in Electrical Engineering

    West Bengal University of Technology, India - 2002 - 2006

    I completed my undergraduation from Kolkata, West Bengal in 2006 before starting a career in IT. My undergraduate focus was on electrical machines and I still dabble a little in signal processing.

    I completed with a final grade of 7.45/10.

Papers

Smart Proxying for Microservices. Middleware '19: Proceedings of the 20th International Middleware Conference Doctoral Symposium. December 2019 Pages 31–33. https://doi.org/10.1145/3366624.3368164. pdf.
Mu: An Efficient, Fair and Responsive Serverless Framework for Resource-Constrained Edge Clouds. SoCC '21: Proceedings of the ACM Symposium on Cloud Computing. November 2021 Pages 168–181. https://doi.org/10.1145/3472883.3487014. pdf.
BLOC: Balancing Load with Overload Controls in Microservices Architectures. ACSOS 2022. IEEE Computer Society. Karsten Schwan Best Paper Awardee. pdf.
Load Balancing for Microservices Service Meshes. ACSOS 2022 Doctoral Symposium. IEEE Computer Society. pdf.

Skills

C ProgrammingStrong
PythonStrong
MicroservicesIntermediate
GolangIntermediate
Machine LearningIntermediate
Linux System ProgrammingIntermediate
KubernetesIntermediate
RustIntermediate

Courses - 3.66

  • Fall 20183.67
 
  • Spring 20193.43
 
  • Fall 20193.77
 
  • Spring 20204.00

Contact