I am a third-year Ph.D. student in the Networks and Mobile Systems Group of the Computer Science and Artificial Intelligence Laboratory (CSAIL) at MIT, working with Professors Hari Balakrishnan and Mohammad Alizadeh. I received my B.S. in Computer Science and B.A. in Economics from the University of Maryland, College Park, where I worked closely with Dave Levin in the Network and Systems Lab. At UMD I was also part of Gemstone Team TESLA, where I worked on wireless power transfer with Dr. Steven Anlage.
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 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.
Elasticity Detection: A Building Block for Delay-Sensitive Congestion Control (Preprint)
Prateesh Goyal, Akshay Narayan, Frank Cangialosi, Deepti Raghavan, Srinivas Narayana, Mohammad Alizadeh, Hari Balakrishnan
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.
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.