941 W. 37th Place, SAL 224
University of Southern California
Los Angeles, CA 90089
I am a Computer Engineering PhD candidate in USC under supervision of Ramesh Govindan and Minlan Yu in NSL from Fall 2010. I work on resource virtualization in software defined networks for which I developed three systems: vCRIB (NSDI'13), DREAM (SIGCOMM'14), and SCREAM (CoNEXT'15). I got B.Sc. and M.Sc. degrees in Information Technology Engineering in 2007 and 2010 from Sharif University of Technology (Tehran, Iran).
SCREAM: Sketch Resource Allocation for Software-defined Measurement
In contrast to flow-based counters, hash-based counters can express many more measurement task types with higher accuracy and can be easily implemented with SRAM memory (cheaper than TCAM). Still a practical hash-based measurement system must handle many concurrent tasks on limited switch resources (SRAM, reporting bandwidth). I developed SCREAM that dynamically allocates resources for hash-based counters. I solved two challenges: (a) estimating the accuracy of tasks by online probabilistic analysis of their output; (b) correctly merging measurement results from different switches using novel techniques. I have implemented three network-wide measurement tasks (heavy hitter, hierarchical heavy hitter and super source / destination detection). Simulations on real-world traces show that SCREAM can support 2x more tasks with higher accuracy than the state-of-the-art static allocation and the same number of tasks with comparable accuracy as an oracle that is aware of future task resource requirements.
DREAM: Dynamic Resource Allocation for Software-defined Measurement
Paper, Talk, Code
SDN can enable a variety of concurrent, dynamically instantiated, measurement tasks. The measurement tasks use flow counters that monitor traffic in hardware switches using TCAM (ternary content-addressable memory). However, TCAM at switches is expensive and power hungry, and the accuracy of the measurement tasks is a function of the TCAM entries devoted to them on each switch. This function changes with traffic properties, which forces operators to provision for the worst case. My DREAM project provides a measurement framework that abstracts operators from resource limits and provides them with the abstraction of guaranteed measurement accuracy. It dynamically adjusts resources devoted to each measurement task to achieve a desired level of accuracy based on an estimated accuracy feedback from each task. This allows multiplexing TCAM entries temporally and spatially among tasks to support more tasks on limited resources. I proposed new algorithms to solve two challenges in DREAM: (a) accuracy estimation without knowing the ground-truth and (b) fast converging and stable per-switch resource allocation in a scalable way. I built a prototype of DREAM on OpenFlow switches with three network-wide measurement tasks (heavy hitter, hierarchical heavy hitter and change detection), and I showed that DREAM can support 30\% more concurrent tasks with up to 80\% more accurate measurements than fixed allocation
vCRIB: A virtualized Cloud Rule Information Base
Paper, Talk, Code
In SDN, applying many high-level policies such as access control requires many fine-grained rules at switches, but switches have limited rule capacity. This complicates the operator's job as she needs to worry about the constraints on switches. I leveraged the opportunity that there can be different places, on or off the shortest path of flows, to apply rules if we accept some bandwidth overhead and proposed vCRIB to provide operators with the abstraction of a scalable rule storage. vCRIB automatically places rules on hardware switches and end-hosts with enough resources and minimizes the bandwidth overhead. I solved three challenges in its design: 1) Separating overlapping rules may change their semantics, so vCRIB “partitions” overlapping rules to decouple them. 2) vCRIB must pack partitions on switches considering switch resources. I solved this as a new bin-packing problem by a novel approximation algorithm with a proved bound. I modeled the resource usage of rule processing at end-hosts and generalized the solution to both hardware switches and end-hosts. 3) Traffic patterns change over time. vCRIB minimizes traffic overhead using an online greedy algorithm that adaptively changes the location of partitions in the face of traffic changes and VM migration. I demonstrate that vCRIB can find feasible rule placements with less than 10\% traffic overhead when traffic-optimal rule placement is infeasible
Trumpet: Timely Events For Datacenters At End-hosts
MRM: A service market for Map-Reduce
Data centers are a bunch of computers which are connected through an interconnection network usually offering computing, storage, and … services. On the other hand, the cloud computing model defines a novel role for mobile, social, and health-related computing using the reliability and efficiency of these data centers. As a result of vast application of cloud computing, jobs on these datacenters can have various types with different desired requirements. For example, some jobs are deadline driven while others just only need some computation resources. Duration and the amount of computation needed for each job is not available before running the job while they are important factors in defining the service model to guarantee the quality of service. In this project, first we propose a way to predict job duration in map-reduce framework and then use that to define a deadline-driven service market.