×
Farzad Habibi

Farzad Habibi

Ph.D. Student

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

Background


About

About

My name is Farzad Habibi. I'm a second-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

    Doing research on building data infrastructure for distributed systems under supervison of Prof. Faisal Nawab.

  • Software EngineerRadin Bourse

    Feb, 2021 - Nov, 20219 months

    Building a brand-new matching engine core for Iran's national stock

  • 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

  • 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.

  • 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.

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

    CookingCampingTravellingHikingVideo GamesVolley Ball
  • Music

    Alternative RockProgressive RockIndieFree Jazz
Volunteer Work

Volunteer Work

  • 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

  • Repllicated Postgres

    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

    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

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

  • Key-Value Store + Gossip membership protocol

    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

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

  • Fraud Detection

    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

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

  • P. OS

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

  • TCP Over UDP

    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

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

  • Cyber Physical Systems Course's Projects

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

  • Real-Time Robotic Arm

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

  • MIPS

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

  • SmoolaCompiler

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

  • Titanic Classification

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

  • Joboonja

    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

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

  • Intelligent PacMan

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