Soudeh Ghorbani
PI, Foundational Networked Systems Lab
Assistant Professor, Computer Science, Johns Hopkins
Founding Director, Introduction to Computing Research
My group designs and builds reliable foundational networked systems with provable guarantees, drawing techniques from formal methods, distributed systems, and control theory. Our research is supported by awards and grants from the National Science Foundation, Google, Facebook, and Amazon.
Interested in joining us? Read this page and check out some of our research project:
Academic Background
Ph.D., University of Illinois, Urbana-Champaign (CS), 2016M.Sc., University of Toronto (CS), 2011
B.Sc., Sharif University of Technology (Computer Eng), 2009
Contact
first name at cs dot jhu dot edu(410) 516-6781
Malone Hall 223, 3400 N Charles St.
Baltimore, MD 21218
Research
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
NSDI’20 Paper
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.
Burst-tolerant Datacenters
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 somes examples.
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.
Vertigo: A Practical Deflector
CoNEXT’21 Paper | Code | Slides [to be added]
Given the low network utilization in datacenters, one would expect packet deflection, in-situ re-routing of packets that arrive at a full buffer to a different port, to effectively prevent packet loss. However, if deployed naively, deflection leads to excessive packet re-ordering, exacerbated congestion, and head-of-the-line blocking in switch buffers.
We design Vertigo to resolve these challenges by selectively deflecting the packets that cause persistent congestion in the network. To enable this, we augment the end-host network stacks with a transport-independent extension that tracks and marks flows with their remaining bytes. Our in-network deflection component uses the flow size information to prioritize re-routing packets from flows with more data to send. Finally, an extension to the receive-side of end-host stacks retrieves the correct ordering of packets before passing them to transport and higher-level protocols. Vertigo is effective in managing microbursts under light and heavy loads, e.g., under 75% load, Vertigo reduces the mean incast query completion times by 57%, 54%, 76% over ECMP, DRILL, and DIBS.
Teaching
Computer Networks
Department of Computer Science, Johns Hopkins UniversitySpring 2021
Cloud Computing
Department of Computer Science, Johns Hopkins UniversitySpring 2022, Fall 2020, Spring 2020, Spring 2019
Advanced Computer Networks
Department of Computer Science, Johns Hopkins UniversityFall 2021, Fall 2018
Selected Topics in Cloud and Networked Systems
Department of Computer Science, Johns Hopkins UniversitySpring 2022, Spring 2021, Fall 2020
Service in Community
College of Engineering, University of Illinois at Urbana-ChampaignSpring 2015
Bio & Research Lab
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 Max Planck Institute (MPI), Microsoft Research (MSR), and Princeton University.
I have founded and currently serve as the director of Introduction to Computing Research (ICR), a program with the mission to introduce undergraduate students to various areas of computing research and career options in computing.
At Hopkins, I'm the director of Hopkins' Networking lab. 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.
Lab members:
- Sepehr Abdous (PhD student since 2019)
- Sougol Gheissi (PhD student since 2019)
- Sana Mahmood (PhD student since 2021, Yan Zhang Fellow)
- Senapati (Diwang) Sang Diwangkara (PhD student since 2021, co-advised with Ryan Hunag)
- Erfan Sharafzadeh (PhD student since 2019)
- Shriya Atulbhai Kaneriya (MS student, 2020-21)
- Katarina Mayer (MS student, 2020-21, Gerald M. Masson Fellow)
- Pranav Shirke (MS student, 2020-21)
Interested in Joining Us?
I am looking for self-motivated and strong PhD students to join us. 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.