Reserach Projects

NAS: Neural Adaptive Streaming

Watch video in high-quality even when network becomes congested

 Internet video streaming has experienced tremendous growth over the last few decades. However, the quality of existing video delivery critically depends on the bandwidth resource. Consequently, user quality of experience (QoE) suffers inevitably when network conditions become unfavorable.
 We present a new video delivery framework that utilizes client computation and recent advances in deep neural networks (DNNs) to reduce the dependency for delivering high-quality video. The use of DNNs enables us to enhance the video quality independent to the available bandwidth. We design a practical system that addresses several challenges, such as client heterogeneity, interaction with bitrate adaptation, and DNN transfer, in enabling the idea. Our evaluation using 3G and broadband network traces shows the proposed system outperforms the current state of the art, enhancing the average QoE by 43.08% using the same bandwidth budget or saving 17.13% of bandwidth while providing the same user QoE.
Research Paper Slide Code Website



APPx: Accelerating Mobile Applications leveraging Static Program Analysis

Automatically generates acceleration proxies for mobile apps

 Minimizing response time of mobile apps is critical for user experience that affects the revenue of mobile services. Similar to Web, one can reduce the response time of mobile app by prefetching contents based on dependency relationships between successive requests. However, unlike Web acceleration where object dependencies can easily be identified by parsing Web documents, App acceleration is much more difficult because the dependency is encoded in the app binary.
 Motivated by recent advances in program analysis, we develop a system that utilizes static program analysis to automatically generate acceleration proxies for mobile apps. Our framework takes Android app binary as input, performs program analysis to identify resource dependencies, and outputs an acceleration proxy that performs dynamic prefetching. Our evaluation using a user study from 30 participants shows that an acceleration proxy reduces the median user-perceived latency by up to 64% (1,471ms).
Research Paper



ExpressPass

Credit-Scheduled Delay-Bounded Congestion Control for Datacenters

 Small RTTs (∼tens of microseconds), bursty flow arrivals, and a large number of concurrent flows (thousands) in datacenters bring fundamental challenges to congestion control as they either force a flow to send at most one packet per RTT or induce a large queue build-up.
 ExpressPass is an end-to-end credit-scheduled, delay-bounded congestion control for datacenters. ExpressPass uses credit packets to control congestion even before sending data packets, which enables us to achieve bounded delay and fast convergence. It gracefully handles bursty flow arrivals. ExpressPass converges up to 80 times faster than DCTCP in 10 Gbps links. It greatly improves performance under heavy incast workloads and significantly reduces the flow completion times, compared to RCP, DCTCP, HULL, and DX under realistic workloads.
Research Paper Code



mOS Networking Stack

A middlebox development framework

 This project was led by NDSL lab (Prof. Kyoungsoo Park)

 Stateful middleboxes such as intrusion detection systems and stateful firewalls rely on TCP flow management to keep track of on-going network connections. However, implementing complex TCP state management for high-performance middlebox applications is non-trivial. Unfortunately, there is no networking stack that can be reused to help implement flow-level features needed for custom flow-processing middleboxes. The status quo is that the developers often end up implementing customized flow management submodules for their systems from scratch. Such practice is highly unscalable and error-prone.
  Our long term goal is to build a middlebox development framework called mOS (or middlebox Operating System) to assist middlebox developers with common, reusable functionalities needed for middlebox development. Our first release is its networking stack that offers a high-performance, user-space programming API specifically targeted for building software-based stateful monitoring middleboxes (Figure 1).
Reserach Paper Website Code



TEE-based Network System Security

Security-enhanced network system by leveraging trusted execution environment (TEE)

 Many network service providers concern about preserving their user’s privacy located in an untrusted third-party (e.g., cloud platform). To overcome the security issue, our several research projects explore new network system designs that achieve enhanced security properties by leveraging trusted execution environment (TEE) technology such as Intel SGX. Especially, we propose new design and implementation of a Tor anonymity network, a network middlebox, and HSM-based key management systems.
Paper - SGX-Tor Paper - SGX-Box Paper - HotNets SGX-Tor Code



DFC: High-Performance String Matching Algorithm

Accelerates network middlebox applications

 String matching is a performance-critical task for many middlebox applications, such as network intrusion detection systems and Web application firewalls. DFC is an efficient multi-pattern string matching algorithm that significantly reduces the number of memory accesses and cache misses by using small and cache-friendly data structures and avoids instruction pipeline stalls by minimizing sequential data dependency. Our evaluation shows that DFC improves performance by up to 3.6 times compared to the most widely used algorithm on real traffic workload. When applied to middlebox applications, DFC delivers 57-160% improvement in performance.
Reserach Paper Poster Code



mTCP

A Highly Scalable User-level TCP Stack for Multicore Systems

 This project was led by NDSL lab (Prof. Kyoungsoo Park)

 mTCP is a high-performance user-level TCP stack for multicore systems. Scaling the performance of short TCP connections is fundamentally challenging due to inefficiencies in the kernel. mTCP addresses these inefficiencies from the ground up - from packet I/O and TCP connection management all the way to the application interface.
Reserach Paper Website Code