32G-982, MIT CSAIL
Stata Center
32 Vassar Street
Cambridge, MA 02139

frankc AT csail DOT mit DOT edu

 Curriculum Vitae


About Me

I'm a Ph.D. student in the NMS group of CSAIL at MIT, advised by Hari Balakrishnan. I studied Computer Science and Economics at the University of Maryland, College Park, where I worked closely with Dave Levin. At UMD I was also part of Gemstone Team TESLA, where I worked on wireless power transfer with Dr. Steven Anlage.


Reproducible Experiments for Internet Systems
Frank Cangialosi, Akshay Narayan
ACM P-RECS '22 (HPDC) (Minneapolis, MN)
PDF Code   Talk (coming soon)

We relate our experience and recommendations from the authors' perspective in the artifact evaluation (AE) process, which is becoming increasingly common in systems venues.

Elasticity Detection: A Building Block for Delay-Sensitive Congestion Control
Prateesh Goyal, Akshay Narayan, Frank Cangialosi, Deepti Raghavan, Srinivas Narayana, Mohammad Alizadeh, Hari Balakrishnan
ACM SIGCOMM '22 (Amsterdam, Netherlands)
PDF Code   

This paper develops a technique to detect whether the cross traffic competing with a flow is elastic or not, and shows how to use the elasticity detector to improve congestion control. If the cross traffic is elastic, i.e., made up of buffer-filling flows like Cubic or Reno, then one should use a scheme that competes well with such traffic. Such a scheme will not be able to control delays because the cross traffic will not cooperate. If, however, cross traffic is inelastic, then one can use a suitable delay-sensitive congestion control algorithm, which can control delays, but which would have obtained dismal throughput when run concurrently with a buffer-filling algorithm. We use the elasticity detector to demonstrate a congestion control framework that always achieves high utilization, but which can also achieve low delays when cross traffic permits it. The technique uses an asymmetric sinusoidal pulse pattern and estimates elasticity by computing the frequency response (FFT) of the cross traffic estimate; we have measured its accuracy to be over 90%. We have developed Nimbus, a protocol that explicitly switches between TCP-competitive and delay-sensitive modes using the elasticity detector. Our results on emulated and real-world paths show that Nimbus achieves throughput comparable to or better than Cubic always, but with delays that are much lower when cross traffic is inelastic. Unlike BBR, Nimbus is fair to Cubic, and has significantly lower delay in all cases; for example, on real-world paths, Nimbus has 11% lower throughput but at 40-50 ms lower packet delay.

Privid: Practical, Privacy-Preserving Video Analytics Queries
Frank Cangialosi, Neil Agarwal, Venkat Arun, Junchen Jiang, Srinivas Narayana, Anand Sarwate, Ravi Netravali
USENIX NSDI '22 (Renton, WA)
PDF Code Talk Slides

Analytics on video recorded by cameras in public areas have the potential to fuel many exciting applications, but also pose the risk of intruding on individuals' privacy. Unfortunately, existing solutions fail to practically resolve this tension between utility and privacy, relying on perfect detection of all private information in each video frame--an elusive requirement. This paper presents: (1) a new notion of differential privacy (DP) for video analytics, (ρ,K,ϵ)-event-duration privacy, which protects all private information visible for less than a particular duration, rather than relying on perfect detections of that information, and (2) a practical system called Privid that enforces duration-based privacy even with the (untrusted) analyst-provided deep neural networks that are commonplace for video analytics today. Across a variety of videos and queries, we show that Privid achieves accuracies within 79-99% of a non-private system.

Site-to-Site Internet Traffic Control
Frank Cangialosi, Akshay Narayan, Prateesh Goyal, Radhika Mittal, Mohammad Alizadeh, Hari Balakrishnan
EuroSys '21 (Virtual)
 Best Artifact Award
PDF Code Talk Slides 

Queues allow network operators to control traffic: where queues build, they can enforce scheduling and shaping policies. In the Internet today, however, there is a mismatch between where queues build and where control is most effectively enforced; queues build at bottleneck links that are often not under the control of the data sender. To resolve this mismatch, we propose a new kind of middlebox, called Bundler. Bundler uses a novel inner control loop between a sendbox (in the sender's site) and a receivebox (in the receiver's site) to determine the aggregate rate for the bundle, leaving the end-to-end connections and their control loops intact. Enforcing this sending rate ensures that bottleneck queues that would have built up from the bundle's packets now shift from the bottleneck to the sendbox. The sendbox then exercises control over its traffic by scheduling packets to achieve higher-level objectives. We have implemented Bundler in Linux and evaluated it with real-world and emulation experiments. We find that Bundler allows the sender-chosen policy to be effective: when configured to implement Stochastic Fairness Queueing (SFQ), it improves median flow completion time (FCT) by between 28% and 97% across various scenarios.

Park: An Open Platform for Learning-Augmented Computer Systems
Hongzi Mao, Parimarjan Negi, Akshay Narayan, Hanrui Wang, Jiacheng Yang, Haonan Wang, Ryan Marcus, Ravichandra Addanki, Mehrdad Khani Shirkoohi, Songtao He, Vikram Nathan, Frank Cangialosi, Shaileshh Venkatakrishnan, Wei-Hung Weng, Song Han, Tim Kraska, Mohammad Alizadeh
NeurIPS '19 (Vancouver, Canada)
PDF Code   

Restructuring Endpoint Congestion Control
Akshay Narayan, Frank Cangialosi, Deepti Raghavan, Prateesh Goyal, Srinivas Narayana, Radhika Mittal, Mohammad Alizadeh, Hari Balakrishnan
SIGCOMM '18 (Budapest, Hungary)
PDF Code Talk Slides 

This paper describes the implementation and evaluation of a system to implement complex congestion control functions by placing them in a separate agent outside the datapath. Each datapath—such as the Linux kernel TCP, UDP-based QUIC, or kernel-bypass transports like mTCP-on-DPDK—summarizes information about packet round-trip times, receptions, losses, and ECN via a well-defined interface to algorithms running in the off-datapath Congestion Control Plane (CCP). The algorithms use this information to control the datapath’s congestion window or pacing rate. Algorithms written in CCP can run on multiple datapaths. CCP improves both the pace of development and ease of maintenance of congestion control algorithms by providing better, modular abstractions, and supports aggregation capabilities of the Congestion Manager, all with one-time changes to datapaths. CCP also enables new capabilities, such as Copa in Linux TCP, several algorithms running on QUIC and mTCP/DPDK, and the use of signal processing algorithms to detect whether cross-traffic is ACK-clocked. Experiments with our user-level Linux CCP implementation show that CCP algorithms behave similarly to kernel algorithms, and incur modest CPU overhead of a few percent.

The Case for Moving Congestion Control Out of the Datapath
Akshay Narayan, Frank Cangialosi, Prateesh Goyal, Srinivas Narayana, Mohammad Alizadeh, Hari Balakrishnan
HotNets'17 (Palo Alto, California)
PDF Code  Slides 

With Moore's law ending, the gap between general-purpose processor speeds and network link rates is widening. This trend has led to new packet-processing "datapaths" in endpoints, including kernel bypass software and emerging SmartNIC hardware. In addition, several applications are rolling out their own protocols atop UDP (e.g., QUIC, WebRTC, Mosh, etc.), forming new datapaths different from the traditional kernel TCP stack. All these datapaths require congestion control, but they must implement it anew because it is not possible to reuse the kernel TCP's implementations. This paper argues that congestion control must be removed from the datapath and moved into a separate user-space agent. This agent, which we call the congestion control plane (CCP), must be both reusable by every datapath and extensible to enable a large number of congestion control algorithms to be implemented and deployed. We propose a batching method to communicate information between datapaths and the agent that greatly reduces the agent's CPU utilization, and promises to scale to hundreds of gigabits per second or more per agent, while also preserving the behavior of on-datapath implementations.

Measurement and Analysis of Private Key Sharing in the HTTPS Ecosystem
Frank Cangialosi, Taejoong Chung, David Choffnes, Dave Levin, Bruce Maggs, Alan Mislove, Christo Wilson
CCS'16 (ACM Conference on Computer and Communications Security) (Vienna, Austria)
PDF Code + Data  Slides Poster (SoS'16)

The semantics of authentication in the web's PKI are rather straightforward: if Alice has a certificate binding Bob's name to a public key, and if a remote entity can prove knowledge of Bob's private key, then (barring key compromise) that remote entity must be Bob. However, in reality, many websites-and the majority of the most popular ones-are hosted at least in part by third-parties such as Content Distribution Networks (CDNs) or web hosting providers. Put simply: administrators of websites who deal with critically sensitive user data are giving their private keys to thirdparties. Critically, this sharing of keys is undetectable by most users, and widely unknown even among researchers. In this paper, we perform a large-scale measurement study of administrators' decisions regarding key sharing with third-party hosting providers and the impact this sharing has on key management. We analyze the prevalence with which websites trust third-party hosting providers with their secret keys, as well as the impact that this trust has on responsible key management practices, such as revocation.

Time Reversed EM Wave Propagation as a Novel Method of Wireless Power Transfer
Frank Cangialosi, Tyler Grover, Patrick Healey, Tim Furman, Andrew Simon, Steven Anlage
WPTC'16 (IEEE Wireless Power Transfer Conference) (Aveiro, Portugal)
 Best Paper Award
 UMD OTC Invention of The Year 2016
PDF Project  Slides Poster (WPTC'16)

We investigate the application of time reversed electromagnetic wave propagation to transmit energy to a moving target in a reverberant environment. "Time reversal" is a signal focusing method that exploits the time reversal invariance of the lossless wave equation to focus signals on a small region inside a complex scattering environment. In this work, we explore the properties of time reversed microwave pulses in a low-loss raychaotic chamber. We measure the spatial profile of the collapsing wavefront around the target antenna, and demonstrate that time reversal can be used to transfer energy to a receiver in motion. We discuss the results of these experiments, and explore their implications for a wireless power transmission system based on time reversal.

Picocenter: Supporting Long-Lived, Mostly-Idle Applications in Cloud Environments
Liang Zhang, James Litton, Frank Cangialosi, Theophilus Benson, Dave Levin, Alan Mislove
EuroSys'16 (European Conference on Computer Systems) (London, UK)
PDF Code  Slides Poster (SOCC'15)

Cloud computing has evolved to meet user demands, from arbitrary VMs offered by IaaS to the narrow application interfaces of PaaS. Unfortunately, there exists an intermediate point that is not well met by today's offerings: users who wish to run arbitrary, already available binaries (as opposed to rewriting their own application for a PaaS) yet expect their applications to be long-lived but mostly idle (as opposed to the always-on VM of IaaS). For example, end users who wish to run their own email or DNS server. In this paper, we explore an alternative approach for cloud computation based on a process-like abstraction rather than a virtual machine abstraction, thereby gaining the scalability and efficiency of PaaS along with the generality of IaaS. We present the design of Picocenter, a hosting infrastructure for such applications that enables use of legacy applications. The key technical challenge in Picocenter is enabling fast swapping of applications to and from cloud storage (since, by definition, applications are largely idle, we expect them to spend the majority of their time swapped out). We develop an ActiveSet technique that prefetches the application's predicted memory working set when reviving an application. An evaluation on EC2 demonstrates that using ActiveSet, Picocenter is able to swap in applications in under 250 ms even when they are stored in S3 while swapped out.

Ting: Measuring and Exploiting Latencies Between All Tor Nodes
Frank Cangialosi, Dave Levin, Neil Spring
IMC'15 (Internet Measurement Conference) (Tokyo, Japan)
PDF Code + Data  Slides 

Tor is a peer-to-peer overlay routing network that achieves unlinkable communication between source and destination. Unlike traditional mix-nets, Tor seeks to balance anonymity and performance, particularly with respect to providing lowlatency communication. As a result, understanding the latencies between peers in the Tor network could be an extremely powerful tool in understanding and improving Tor's performance and anonymity properties. Unfortunately, there are no practical techniques for inferring accurate latencies between two arbitrary hosts on the Internet, and Tor clients are not instrumented to collect and report on these measurements. In this paper, we present Ting, a technique for measuring latencies between arbitrary Tor nodes from a single vantage point. Through a ground-truth validation, we show that Ting is accurate, even with few samples, and does not require modifications to existing clients. We also apply Ting to the live Tor network, and show that its measurements are stable over time. We demonstrate that the all-pairs latency datasets that Ting permits can be applied in disparate ways, including faster methods of deanonymizing Tor circuits and efficiently finding long circuits with low end-to-end latency.


Strongly Polynomial Algorithms for Generalized Flow Maximization
Frank Cangialosi, Katie Lewis, David Palmer

Let G = (V, E) be a graph. In the generalized maximum flow problem–as in the ordinary maximum flow problem–the aim is to maximize the total flow delivered to a sink node t ∈ V . The difference is that in the generalized problem, each edge e is endowed with a gain factor ɣe > 0, which scales the flow passing through that edge. Gains might, for example, represent exchange rates between currencies or dissipation rates of a physical quantity. Setting ɣe ≡ 1 recovers the ordinary maximum flow problem. Until recently, the best known algorithms were all weakly polynomial. In 2013, Végh developed the first strongly polynomial algorithm. In 2017, Olver and Végh built on this work and developed an algorithm that is faster than Végh's original algorithm by a factor of almost O(n²), resulting in a running time that is as fast as the best weakly polynomial algorithms even for small parameter values. In this paper, we aim to familiarize the reader with recent algorithmic developments on the generalized maximum flow problem and to build intuition for the techniques used to achieve a strongly polynomial result.