About

Welcome!
I'm a computer scientist and Ph.D. graduate from the University of Colorado Boulder. My research sits at the intersection of machine learning and computer systems, where I focus on making cloud computing more efficient and resilient for machine learning and deep learning workloads. I love tackling system inefficiencies in distributed deep learning and building smarter, scalable networked systems. If you're into similar topics, feel free to connect!

Experiences

Postoctoral Research Associate

Jan 2025 - Present
Remote, University of Colorado Boulder, CO, USA

Research Focus: Machine Learning for Systems, Distributed Deep Learning Infrastructure

Machine Learning Engineer, Ph.D.

Sep 2022 - Dec 2022
Uber, San Francisco, CA, USA

Internship @ Marketplace Matching Intent Team, Working on matching graph real-time clustering to optimize for metrics such as ETA and Gross Booking using data analysis, graph algorithms and machine learning.

Software Engineer

May 2021 - Aug 2021
Apple, Cupertino, CA, USA

Internship @ CoreOS, Performance analysis and improvement of Sysdiagnose up to 40% on all Apple platforms

Software Engineer

May 2020 - Aug 2020
Salesforce, Louisville, CO, USA

Internship @ Customer 360, Design and implementation of a proxy server for both REST and gRPC calls, intercepting REST and gRPC request/responses to generate stubs for Mocking purpose

Research Assistant

Aug 2018 - Dec 2024
Computer Systems Lab, University of Colorado Boulder, CO, USA

Research Focus: Machine Learning for Systems, Distributed Deep Learning Infrastructure, Computer Systems

Teaching Assistant

2016 - 2018
University of Tehran, Tehran, Iran

Teaching Assistant of the following courses:
Computer Networking
Operating Systems & Operating Systems Lab
Computer Architecture
Introduction to Computing Systems and C Programming
Artificial Intelligence

Publication

Capturing and Predicting User Frustration to Support a Smart Operating
System

March 2023
IUI '23 Companion: Companion Proceedings of the 28th International Conference on Intelligent User Interfaces

Escra: Event-driven, Sub-second Container Resource Allocation

July 2022
ICDCS 2022: 42nd IEEE International Conference on Distributed Computing Systems

Optimizing and Extending Serverless Platforms: A Survey

Dec 2021
SDS 2021: The Eighth International Conference on Software Defined Systems

SmartOS: towards automated learning and user-adaptive
resource allocation in operating systems

Aug 2021
APSys '21: Proceedings of the 12th ACM SIGOPS Asia-Pacific Workshop on Systems

Software Packet-Level Network Analytics at Cloud Scale

Feb 2021
IEEE Transactions on Network and Service Management

Resource Management in Cloud Computing Using Machine Learning:
A Survey

Dec 2020
19TH IEEE International Conference on Machine Learning and Applications, 2020

(Poster) Efficient Microservices with Elastic Containers

Dec 2019
Proceedings of the 15th International Conference on emerging Networking EXperiments and Technologies (CoNEXT)

Shimmy: Shared Memory Channels for High Performance Inter-Container Communication

July 2019
USENIX Workshop on Hot Topics in Edge Computing (HotEdge 19), USENIX Association, 2019

Projects

Machine Learning & AI Projects:

Cloud Configuraton Optimization for Distributed Deep Learning Worklaod - In submission publication
Cost and training time optimization using machine learning for distributed deep learning execution on commercial cloud
Design and Implementation of Resilient and Fast Network Architecture for Distributed Deep Learning Workload - In submission publication
Addressing drawbacks in network failure handling in distributed deep learning workload using RDMA
Prediction and characterization of application power use in a high performance computing environment - Machine Learning course project, Department of Computer Science, University of Colorado Boulder
Re-implementing the paper and improving the results by using feature engineering techniques and adding LSTM
Natural Language Processing Applications
Used word vector representations and 2-layer LSTM model to build Emojifiers
Built a Neural Machine Translation model to translate human-readable dates into machine-readable dates using attention mechanism
Built a speech dataset and implemented an algorithm for trigger word detection ("activate") using GRU
Computer Vision Applications
Built ConvNets to create a mood classifier and identify sign language digits using Tensorflow/Keras API
Using transfer learning on a pre-trained CNN (MobileNetV2) to build an Alpaca/Not Alpaca classifier
Implemented object detection on a car dataset using the YOLO model
NST: Art generation using VGG-19 network pre-trained on ImageNet database
Genetic Algorithm - Artificial Intelligence course project, Department of Electrical & Computer Engineering, University of Tehran
An algorithm using Genetic approach to solve a minimization problem

Systems & Networking Projects:

Mini Internet - Design and configure a backbone network running OSPF as IGP and BGP
having different customers, transit service and peers
applying routing policies based on the relashionships
using route reflection, redistribution for statically routed customers and BGP attributes for traffic manipulation
Tools: Cisco Router (IOS), GNS3
IP Routing course project
Rootkit Module in Linux - Develop an LKM to intercept Linux kernel predefined syscall in order to change the ”ls” command functionality and a utility function which checks whether a syscall is changed in syscall table (Kernel version: 4.x)
Advanced Operating Systems course project
Service Discovery & Version Updating - Build and run a simple Flask app, using Vagrant, Docker, Ansible, Etcd, Registrator, Confd, Nginx, Bash script and automate the version update
DevOps in the Cloud course project
Web Proxy - A web proxy written in Python, working with HTTP protocol, with URL caching, and an admin interface
Computer Networking course project
Module in Floodlight - Adding a module to floodlight controller to exchange key with each new host and register it as a valid host in the network
Computer Networking Lab course project
Kernel Programming (Kernel version 2.6.x) - add a new semaphore to the kernel, having Priority Inheritance Protocol to avoid Priority Inversion
Operating Systems Lab course project

Software Engineering Projects:

Airplane Reservation Web App - An airplane reservation web application, using MVC, Object Oriented Patterns, HTML, CSS, JS, Bootstrap, AngularJs, JSP, JavaEE, Socket Programming in Java, Tomcat, Log4J, JUnit, Git, Maven, Docker, Kubernetes, Minikube, HSQL DB, Session State, and handling SQL Injection, CSRF issues, and Access Control
Internet Engineering course project
Web-Dota - Web-Dota-like game completely implemented in database, using EERD Design, SQL Server, SQL Server Management Studio, Stored Procedures, Function & Views, Agent, and basic Windows Form Application
Database Lab course project
Customs House Software - An application related to Customs house procedures, Design (having prototype, Domain Modeling, System Sequence Diagram, Class Diagram, etc), implementation(C#, SQL Server database), Test(Unit Test, Integration Test)
System Analysis & Design course project

Skills & Proficiency

Programming Languages (C/C++, Python, Java, Bash Script)

Linux Kernel

Software Defined Networking

DevOps

Web Programming

Project Management/Version Control

Awards & Honors

USENIX ATC 2019 Grant Sponsored by NSF and VMWare

July 2019
2019 USENIX Annual Technical Conference, Renton, WA, USA

Best Prize in Entrepreneurship Track

Feb 2019
T9Hacks Hackathon, University of Colorado Boulder

Early Career Professional Development Fellowship

Aug 2018
Department of Computer Science, University of Colorado Boulder

Best Undergraduate Project Award

Feb 2018
Department of Electrical and Computer Engineering, University of Tehran

Build and deploy virtual machine live migration in cloud environment, using OpenStack, NFS, VSphere

Ranked 4th among All Information Technology Students

2015 - 2016 Academic Year
Department of Electrical and Computer Engineering, University of Tehran