I am a Computer Engineering PhD candidate in USC under supervision of Ramesh Govindan and Minlan Yu in NSL. I work on resource virtualization in software defined networks for which I developed two systems: vCRIB (NSDI'13) and DREAM (SIGCOMM'14). I got B.Sc. and M.Sc. degrees in Information Technology Engineering in 2007 and 2010 from Sharif University of Technology (Tehran, Iran).
DREAM: Dynamic Resource Allocation for SDN
There are many measurement tasks in a data-center ran by operators and tenants. For example, they look for heavy hitters to optimize multi-path routing. Each measurement task needs a minimum resource to guarantee a user-specified accuracy bound. However, the required resource changes with traffic dynamics and varies per switch. As a result, assigning fixed resources among tasks leads to wasting precious network resources such as TCAM counters. DREAM at the controller multiplexes the resources among tasks on all switches while guaranteeing their accuracy. The challenges include estimating accuracy of tasks without a ground-truth, admission control without knowing the size of a task beforehand, and per-switch resource allocation in a scalable way. I evaluated DREAM in a prototype on Floodlight controller and hardware and software switches using real-world traffic traces.
vCRIB: A virtualized Cloud Rule Information Base
Consider many management policies each creating lots of OpenFlow rules such as Accept/Deny rules for access control. How can we pack them all in the switches on/off the shortest path with limited resources? There are three challenges: 1) rules can overlap and separating them may change their semantics, so we partition overlapping rules to decouple them. 2) In packing partitions on switches, we must put partitions with similar rules on the same switch to save resources. We solved this as a special version of bin-packing problem by an approximation algorithm with provable bound. Then we extend it to the case that partition similarities depend on the switch resource model (hardware vs. software switch) and 3) Forwarding flows imposes traffic overhead. For example, dropping a flow on ToR has one hop overhead comparing to drop it at server. We minimize traffic overhead using an online greedy algorithm. We evaluated the system using large scale simulation and a prototype using OVS and showed that vCRIB could find many non-trivial placements with less than 10% traffic overhead.
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.