×
Farzad Habibi

Farzad Habibi

Ph.D. Student

2059 DBH, UCI, Irvine, USA, CA 92697
English, Persian

Background


About

About

My name is Farzad Habibi. I'm a third-year Ph.D. student studying Computer Science at the University of California, Irvine. Previously, I studied a B.Sc. in Computer Engineering at the University of Tehran and worked for 9 month as a full-time software engineer at Radin Bourse where we were developing an ultra-low latency trading platform. My interests are mainly in Distributed Systems and Data Management, and I also love programming. :)

Education

Education

  • Computer Science, Doctorate of Philosophy, University of California, Irvine

    Jan, 2022 - Present

    Distributed Systems

    Data Management

  • Computer Engineering, Bachelor of Science, University of Tehran

    Sep, 2016 - Apr, 2021

    Software Engineering

  • Physics and Mathematics, Diploma, Sampad, Helli 4

    Sep, 2011 - Sep, 2016

Work Experience

Work Experience

  • Graduate Research AssistantUC Irvine, Edge Lab

    Jan, 2022 - Present

    Working at UCI Edge Lab under supervision of Prof. Faisal Nawab. We study and build distributed data management systems.We are interested in systems that span large geographic areas and infrastructures, including cloud and edge environments.

  • Software EngineerRadin Bourse

    Feb, 2021 - Nov, 20219 months

    I was part of the team developing a new order-matching engine system for Iran's national stock. This product addresses requirements such as ultra-high performance, low latency (~1μs), scalability, and high availability. Beyond developing new features for the system, I worked on enhancing the response time of distributed event stores deployed within, such as Kafka and Redpanda. We successfully reduced their latency from milliseconds to microseconds.

  • Undergraduate Research Assistant, University of Tehran

    Mar, 2020 - Mar, 20211 year

    Working on virtual network embedding (VNE) which is a well-known problem in network virtualization. I started to learn about Graph Neural Networks which is a novel machine learning architecture by reading abundance number of related papers. We leveraged this method to solve the VNE problem.

  • Machine Learning Intern, University of Tehran Science and Technology Park

    Jul, 2019 - Oct, 20193 months

    I was part of the machine learning group. During this 320 hours internship, interns started to read the Hands-on Machine Learning book and participate in Kaggle competitions besides. My internship’s notebooks can be found here.

    • PAD Laboratory

    • Under the supervision of Prof. B. Bahrak

  • Software Engineer InternRahnema College

    Jun, 2018 - Sep, 20183 months

    • 8-Week internship with scrum methodology

    • We designed and implemented an IOS/Andriod application with a feature combination of Instagram & Pinterest

    • Developed in React Native as front-end and django as back-end

Publications

Publications

  • MSF-Model: Modeling Metastable Failures in Replicated Storage Systems , In 22nd USENIX Conference on File and Storage Technologies (USENIX FAST'24), Available on arxiv, Submitted for review, 2023.

    Published on: Oct 01, 2023

    Our main contribution is the development of a queuing-based analytical model, MSF-Model, that can be used to characterize and predict metastable failures. MSF-Model integrates novel modeling concepts that allow modeling metastable failures which was interactable to model prior to our work.

  • PeloPartition: Improving Blockchain Resilience to Network Partitioning , 2022 IEEE International Conference on Blockchain (Blockchain)

    Published on: Aug 22, 2022

    we explore the impact of network partitions on blockchain networks and present a sharding protocol to overcome their negative impact.

  • Analyzing soft and hard partitions of global-scale blockchain systems , 2022 IEEE International Conference on Blockchain (Blockchain)

    Published on: Aug 22, 2022

    our goal is to lay the groundwork for the introduction of new blockchain architectures to minimize the harm caused during partitions and facilitate rapid and uncontroversial recovery from them.

  • Accelerating Virtual Network Embedding with Graph Neural Networks , IEEE/ACM/IFIP Conference on Network and Service Management (CNSM 2020)

    Published on: Sep 01, 2020

    virtual network embedding (VNE) is a well-known problem in network virtualization. We leveraged Graph Neural Networks which is a novel machine learning architecture for graphs to solve this problem with a better performance and scalability.

Awards

Awards

  • CS Department Dean’s Fellowship , UC Irvine

    Awarded on: Sep 01, 2021

    I have been nominated for a one-time 10,000$ Dean's Award to support my research in 2021/2022

  • Best Undergraudate Final Project Award , University of Tehran

    Awarded on: Mar 01, 2021

  • Top 10% of Class , University of Tehran

    Awarded on: Mar 01, 2021

    Ranked among the top 10% of the graduating class which included 88 student

  • Iran's University Entrance Exam , Sanjesh

    Awarded on: Aug 01, 2016

    Ranked 325 (Top 0.2%) in Konkur(Iranian University Entrance Exam) among more than 160,000 participants

Interests

Interests

  • Personal

    TennisCampingTravellingHikingVideo Games
  • Music

    Alternative RockProgressive RockIndieFree Jazz
Volunteer Work

Volunteer Work

  • Professional and Community Relations Chair, Society of Iranian Graduate Students (SIGS)

    Sep, 2023 - Present

    Society of Iranian Graduate Students (SIGS) is a non-profit organization based on the University of California, Irvine (UCI) dedicated to promote and hold Iranian cultural events.

  • Teaching Assistant, UC Irvine

    Jan, 2022 - Dec, 2023

    • Introduction to Python Libraries (ICS 32), M. Ibrahim

    • Principles of Operating Systems (CS 143), A. Amiri

    • Computer Networks (CS132), S. Jordan

  • Teaching Assistant, University of Tehran

    Sep, 2018 - Feb, 2021

    • Introduction to Programming and Computing Systems. H. Moradi, M.R. Hashemi (Projects' Supervisor)

    • Advanced Programming, R. Khosravi (Head Teaching Assistant)

    • Operating Systems, M. Kargahi

    • Computer Networks, A. Khonsari

    • Data Structure, H. Faili

    • Cyber-Physical Systems, M. Kargahi

    • Computer Architecture, S. Safari

    • Internet Engineering, E. Khamespanah

  • ML Instructor, IEEE UT Student Branch

    Dec, 2019 - Feb, 2020

    IEEE Data Science Winter School of Machine Learning

  • Editor, ACM UT Student Branch, F1 Magazine

    Feb, 2016 - May, 2016

    F1 is the magazine of University of Tehran’s Computer Engineering Department

Skills

Skills

  • Programming

    C++

    Java

  • Programming

    C

    Python

    JavaScript

    VerilogHDL

  • Programming

    SQL

    PHP

  • Programming

    Shell Script

    Assembely

    C#

  • Technologies

    Git

    Maven

    MakeFile

  • Machine Learning

    Pandas

    NumPy

    PyTorch

    Scikit-Learn

    Jupyter Notebook

    GNN

    FNN

  • Frameworks

    Docker

    Ansible

    JUnit

    Familiar with Kubernetes

  • Web Development

    React

    React Native

    Redux

    Spring

    Django

  • Markup Languages

    HTML

    Latex

    Markdown

    CSS

  • Software Engineering

    oo design patterns

    Agile

    Scrum

    software testing methodologies

  • Operating Systems

    Linux

    MacOS

Certificates

Certificates

Projects Experience

Projects Experience

  • MSF-Model

    - Present

    Development of a queuing-based analytical model that can be used to characterize and predict metastable failures which was interactable to this work. This project integrates modeling concepts such as queuing theory, Markov chain, Monte carlo analysis, and distance divergence.

  • Repllicated Postgres

    - Present

    This project provide a multi-node replication system for postgres db. It will replicate data from a leader into two other replications, and it can tolerate leader failure for transactions.

  • Peter DB

    - Present

    A full implementation of a database system consists of Paged File Manager, Record Based File Manager, Relation Manager, Index Manage, and QueryEngine.

  • Virtual Network Routing

    - Present

    Represents a distance-vector network routing protocol among virtual nodes that are connected via interfaces.

  • Key-Value Store + Gossip membership protocol

    - Present

    A full implementation of a distributed key-value store inspired by the Cassandra key- value database using a three-layer architecture.

  • House Prices: Advanced Regression Techniques

    - Present

    Using advanced regression techniques like random forest and gradient boosting to predict house prices. (Rank 213 between 5,523 teams in Kaggle)

  • Fraud Detection

    - Present

    Using a full exploratory data analysis (EDA), feature engineering and comparing different training models to propose a method to detect frauds in the IEEE-CIS dataset.

  • Gnutella Implementation

    - Present

    A full implementation of a peer-to-peer file-sharing system implemented in python and mininet.

  • P. OS

    - Present

    A cloned xv6 kernel with some added features for CPU scheduling, memory management, and synchronization.

  • TCP Over UDP

    - Present

    An implementation of TCP New Reno over UDP, with reliable data transfer, congestion control, and flow control. Also this im- plementation includes the Nagle algorithm.

  • Proxy Server

    - Present

    An implementation of a proxy server in application layer with some extra features like accounting, privacy, caching, etc.

  • Cyber Physical Systems Course's Projects

    - Present

    A series of projects to become familiar with embedded hardware and real-time software

  • Real-Time Robotic Arm

    - Present

    A real-time robotic arm with recording functionality and high optimization in storage usage.

  • MIPS

    - Present

    Implementation of MIPS CPU using VerilogHDL. It includes three phases: single-cycle, single-cycle with pipeline, and multi-cycle.

  • SmoolaCompiler

    - Present

    Implementation of a compiler for an object-oriented language called Smoola from scratch - Implemented in Java in four phase.

  • Titanic Classification

    - Present

    An analysis on Titanic disaster to find out what sorts of people were likely to survive using Machine Learning.

  • Joboonja

    - Present

    Implementation of a web application for finding projects to do if you are qualified for them. - Implemented in Java(Spring framework) for backend and JavaScript(React js) for frontend.

  • Store Search

    - Present

    Filtering files content and sorting them ascend/descend by field using multiprocess and using pipes to connecting them

  • Intelligent PacMan

    - Present

    Using different searching algorithms (Astar, IDS, BFS) to design an intelligent PacMan in a modified version of the game.