Department of Computer Science
Johns Hopkins University
My group designs and builds reliable networked systems with provable guarantees, drawing techniques from formal methods, distributed systems, and control theory.
I'm looking for motivated and strong PhD students!
Interested in joining us? Read this page and check out some of our research project:
My bio and the list of my lab's members: Bio & HopNets
Academic BackgroundPh.D., University of Illinois, Urbana-Champaign (CS), 2016
M.Sc., University of Toronto (CS), 2011
B.Sc., Sharif University of Technology (Computer Eng), 2009
ContactEmail (preferred): first name at cs dot jhu dot edu
Phone: (410) 516-6781
Address: Malone Hall 223, 3400 N Charles St.
Baltimore, MD 21218
Our lab designs and builds reliable networked systems with provable guaratees, drawing techniques from formal methods, distributed systems, and control theory. See a few samples of our projects:
Towards a General Verification Framework for Stateful Networks
Liveness Verification of Stateful Networks
Modern networks rely on a variety of stateful network functions to implement rich policies. Correct operation of such networks relies on ensuring that they support a diverse set of properties including liveness properties. Unfortunately, despite exciting recent work on network verification, no existing approach is practical for, or applicable to, validating liveness.
We develop novel encodings of the behavior of network programs under dynamic events such as network state changes using Boolean formulas that can capture rich semantics such as packet counters. We prove that our encodings are equivalent to the program and show experimentally that they can succinctly express a variety of network functions and are orders of magnitude more scalable to verify than naive encodings.
Microbursts, the main culprit of packet loss in datacenters, last for a few microseconds -- a time period orders of magnitude shorter than the control loop of fastest existing systems. In this project, we rethink and redesign datacenter systems to be burst-tolerant. See below for an example: DRILL, a micro load balancer.
The DRILL micro load balancer
SIGCOMM’17 Paper | Slides HotNets-XV Paper | Slides
We design DRILL, a datacenter micro load balancer that distributes load via employing per-packet decisions based on queue occupancies and randomized algorithms. Our design addresses the resulting key challenges of packet reordering and topological asymmetry. DRILL outperforms the state of the art load balancers especially for bursty workloads, e.g., it results in 2.1x improvement in the average flow completion time in an incast scenario compared to CONGA.
Fast, Provably-correct Network Virtualization
The tail latency in virtualized clouds can be 3-4x higher than the non-virtualized running of the same workload. This project aims to uncover where the time goes in virtualized clouds. Plus, it shows that some of the most widely deployed techniques for improving performance and latency in virtualized networks such as replication cause incorrect application behaviors (see below). We seek to redesign cloud virtualization systems that are fast and provably correct.
COCONUTEuroSys’17 Paper | Slides HotSDN’14, CCR'14, Best Paper Award Paper | Slides
We show that the state distribution techniques in existing network virtualization systems can cause incorrect application-level behavior. We also show that that the incorrect behaviors occur while the pervasive correctness invariants are preserved throughout, and that the techniques designed to preserve such invariants can themselves occasionally break the otherwise correct behavior.
We design and build COCONUT, a system that leverages vector clocks for efficient seamless network scale-out of networks.
Selected Topics in Cloud and Networked SystemsDepartment of Computer Science, Johns Hopkins University
Fall 2020, Spring 2020, Spring 2019
Service in CommunityCollege of Engineering, University of Illinois at Urbana-Champaign
I'm an assistant professor in the Department of Computer Science at Johns Hopkins since fall 2018. I received my Ph.D. at the University of Illinois at Urbana-Champaign in December 2016, my M.S.c and B.S. at the University of Toronto (2011) and Sharif University of Technology (2009), and worked/interned at MPI, MSR, and Princeton University.
At Hopkins, I'm the director of Hopkins' Networking lab (HopNets). Our research integrates networked systems and theory and has been awarded a number of grants and fellowships including a Facebook Faculty Research Award, a Masson graduate fellowship (to my student Katarina Mayer), a VMware fellowship (one of the three winners in 2015-16 worldwide), a Feng Chen award, and a Gottlieb fellowship. I'm fortunate to work with the great group of students listed below.
- Erfan Sharafzadeh (PhD student since 2019)
- Sougol Gheissi (PhD student since 2019)
- Sepehr Abdous (PhD student since 2019)
- Katarina Mayer (MS student since 2020, Gerald M. Masson fellow)
- Shriya Atulbhai Kaneriya (MS student since 2020)
- Pranav Shirke (MS student since 2020)
Interested in Joining Us?
I am looking for self-motivated and strong PhD students to join us in 2021-22. If you are interested in our current research, especially in network verification and datacenter networking, I encourage you to apply to our PhD program and mention me in your application form. I carefully read all the application materials including the statements, but you are also welcome to email me to discuss your research interests and our projects.