Nima Mahmoudi, Ph.D.

Nima Mahmoudi, Ph.D.

Machine Learning Engineer

Meta Platforms Inc.

Biography

Nima Mahmoudi is a Machine Learning Engineer at Meta Platforms Inc. He received the BSc degrees in Electronics and Telecommunications and the MSc degree in Digital Electronics from Amirkabir University of Technology, Tehran, Iran in 2014, 2016, and 2017 respectively. He received the PhD degree in Software Engineering and Intelligent Systems from the University of Alberta, Edmonton, AB, Canada in 2022. He used to be a visiting research assistant in the Performant and Available Computing Systems (PACS) lab at York University, Toronto, ON, Canada. Before joining Meta, he was a Machine Learning engineer on the AI Accelerator team at TELUS.

Interests

  • Machine Learning Engineering
  • Data Science
  • Statistical Analysis
  • Applied Machine Learning
  • Cloud Computing
  • Distributed Systems

Education

  • PhD in Software Engineering and Intelligent Systems, 2022

    University of Alberta

  • MSc in Digital Electronics, 2017

    Amirkabir University of Technology

  • BSc in Telecommunications, 2016

    Amirkabir University of Technology

  • BSc in Electronics, 2014

    Amirkabir University of Technology

Serverless Computing

In our Serverless Computing research, our goal was to characterise and optimize the serverless computing platforms, making them adaptive and improving their performance.

In our last research in Performance and Available Computing Systems (PACS) Lab at York University, we were building accurate and tractable performance models for metric-based serverless computing platforms like Knative and Google Cloud Run that can estimate cost and performance of a given workload under different conditions accurately. Our paper titled “Performance Modeling of Metric-Based Autoscaling in Serverless Computing” is still being pending review, but our research has shown promising results, both in terms of accuracy and applicability.

You can check out our latest publications on our website.

In a previous research, we used Queuing Theory and Semi-Markov Processes to build a performance model for serverless computing platforms, with adequate fidelity and tractability to be used for modelling large-scale deployments. Our paper in this research called “Performance Modeling of Serverless Computing Platforms’’ was published in IEEE Transactions on Cloud Computing (TCC). In that paper, we were able to successfully model the performance metrics of AWS Lambda. We were also able to identify a key configuration in serverless computing platforms that can be used to optimize the overall performance of the system.

In a previous study we modelled the transient aspect of the key performance metrics of modern serverless computing platforms and showed its accuracy on AWS Lambda. This work was published in the Sixth Workshop on Serverless Computing (WoSC'20) as part of the ACM Middleware conference. This work was an extension to our steady-state performance modelling paper which was published in IEEE Transactions on Cloud Computing (TCC).

In another previous study in Dependable and Distributed Systems Lab (DDSL) at the University of Alberta, we used workload profiling and machine learning to build an adaptive function placement algorithm for serverless computing platforms. The resulting algorithm was able to achieve a better performance than the state of the art using similar hardware to perform the computing tasks.

Computer Vision

My latest research in Computer Vision in Signal and Speech Processing Research Lab (SPRL) was on Multi-Target Object Tracking to produce high-quality object trajectories while maintaining low computational costs in order to be applicable for live implementation (e.g., autonomous vehicles). This research led to my master’s thesis and a journal paper titled “Multi-target tracking using CNN-based features: CNNMTT’’ published in Multimedia Tools and Applications. In this work we used the mid-layer output of custom-made Convolutional Neural Networks (CNN) as visual queues which combined with formal tracjectory models created smooth and stable tracking results. The resulting method was one of the top 4 methods in MOT Challenge Benchmark at the time.

In a previous research we used computer vision in Control of Multi-Vehicle Systems (CMVS) Lab in the field of robotics. Some of the projects completed between 2012-2017 included using computer vision for controlling Unmanned Ground Vehicles (UGVs) and Quadcopters and robust hand tracking using LBP features and Kalman Filters.

Experience

 
 
 
 
 

Machine Learning Engineer

Meta Platforms Inc.

Jun 2022 – Present Toronto, ON, Canada
Machine Learning Engineer at Meta.
 
 
 
 
 

Machine Learning Engineer

TELUS Communications Inc.

Mar 2022 – Jun 2022 Toronto, ON, Canada
Machine Learning Engineer at the AI Accelerator team.
 
 
 
 
 

Course Director

York University

Sep 2020 – Dec 2020 Toronto, ON, Canada
Course Director in the School of Information Technology (ITEC).
 
 
 
 
 

Part-Time Instructor

Seneca College

Jan 2020 – Sep 2021 Toronto, ON, Canada
Instructor in the School of Software Design and Data Science.
 
 
 
 
 

Research Assistant and Lab Coordinator

York University

Aug 2019 – Feb 2022 Toronto, ON, Canada
Lab Coordinator and Research Assistant in PACS Lab @ York University under the supervision of Dr. H. Khazaei. Leading the “Optimizing the Performance of Serverless Computing Platforms” project. Developed the lab’s website using Wordpress and customized the front end.
 
 
 
 
 

Research Assistant

University of Alberta

Jul 2018 – Aug 2019 Edmonton, AB, Canada
Research Assistant in University of Alberta under the supervision of Dr. H. Khazaei working on various aspects of cloud computing. Led the “Optimizing the Performance of Serverless Computing Platforms” project. Used Python, Keras, and Tensorflow on Docker to optimize the performance of an example Serverless Computing system.
 
 
 
 
 

Founder and CTO

Luxintech

Jun 2015 – Mar 2018 Tehran, Iran
Founder and Developer of many IoT related products. Led a team of 4 technical staff in designing and implementing several smart home and industrial gadgets. Successfully went through three rounds of fundraising and one successful crowdfunding while dealing with sanctions and financial decline in the country. Designed and developed hardware, software, communication protocols, and web services. Developed on a wide range of microcontrollers using C/C++. Web services and computer interfacing were all done in Python and Django.
 
 
 
 
 

Research Assistant

Signal Processing Research Lab (SPRL), Amirkabir University of Technology

Dec 2014 – Jul 2017 Tehran, Iran
Working on my thesis on: Robust Vision-Based Simultaneous Multi-Target Tracking. where I use CNN-based features to score visual affinity among detection results. In my work I implemented a MOT tracker which performed near the state of the art on the publicly available dataset MOT16 while maintaining a frame rate of 11 FPS. Performed research on “Robust Vision-based Multi-Target Object Tracking”. Implementations done in MATLAB. Used MAP estimation, Object Motion Modeling, Kalman Filter, and Convolutional Neural Networks (CNN). Designed and developed a website for our Research Lab.
 
 
 
 
 

Android and Backend Developer

RedDesign Studio

Oct 2013 – Aug 2015 Tehran, Iran
Developer of several Android applications. Two of the applications were top seller Android applications in Iran.
 
 
 
 
 

Research Assistant

Control of Multi Vehicle Systems (CMVS), Amirkabir University of Technology

Oct 2012 – Jul 2017 Tehran, Iran
Performed research on using Computer Vision for controlling Unmanned Ground Vehicles (UGVs) and Quadcopters. Implemented robust hand tracking using LBP features and Kalman Filtering in MATLAB. Designed and implemented a multi-agent algorithm on UGVs leading a team of 5. Implemented a robust localization by fusing vision and encoder data on a UGV using OpenCV, implemented in C++. Led a team of 7 in desgining and implementation of the electronics of an Unmanned Ground Vehicle (UGV) including hardware design in Altium Designer, hardware programming in C, and interfacing with computer using Python.

Recent Publications

Contact