Mina Tahmasbi Arashloo
I am a fourth year PhD student at the Computer Science Department of Princeton University .
I am honored to have Prof. Jennifer Rexford as my PhD advisor.
Prior to Princeton, I got my B.Sc degree in Computer Engineering from department of Computer Engineering at
Sharif University of Technology, Iran.
I am primarily interested in networked systems, with a focus on software defined networking (SDN) . Recently, I have been working on developing programming abstractions for network-wide stateful network functions, network measurement and monitoring, and congestion control. Below, you can find a brief description of my projects in these areas.
HotCocoa: Hardware Congestion Control Abstractions , HotNets'17
To share the data center infrastructure efficiently among their tenants, operators need to deploy their own congestion control scheme on the end hosts. Recent work has suggested deploying congestion control in the hypervisor which enables frequent updates as new congestion control schemes emerge. However, with NICs going from 10G to 40G, and 100G on the horizon, this approach cannot keep up with line rate at reasonable CPU cost. Thus, in this project, we argue for offloading the entire congestion control scheme to programmable NICs. We design a simple domain specific language for specifying congestion control schemes at a high-level, and a compiler to automatically derive their hardware implementation on the NIC. HotCocoa is a joint work with Monia Ghobadi , Jennifer Rexford , and David Walker .
SNAP: Stateful Network-wide Abstractions for Packet Processing, SIGCOMM'16
SNAP is a high-level network programming language that can express a wide range of stateful network-wide packet processing functions. Users program their packet processing functions on top of one big switch connecting the edges of the network, and rely on the SNAP compiler to translate them to data plane configurations for each network device. The program state is handled locally on the switches as opposed to the controller, and the compiler decides state placement and forwarding paths in a way to minimize congestion. We employ various data-structures (e.g., stateful extensions to binary decision diagrams) and tools (e.g., Gurobi optimizer) for efficient compilation. SNAP is a joint work with Yaron Koral , Michael Greenberg , Jennifer Rexford , and David Walker .
[Conference Paper] [Technical Report]
Compiling Path Queries, NSDI'16
Path queries is a new query system that enables efficient path-based traffic monitoring. Users specify queries in terms of regular expressions over predicates on packet locations and header values. A run-time system compiles the queries into a distributed finite automaton, which is used to collect only and only those packets that satisfy user queries. We employ various data-structures (e.g., extensions to binary decision diagrams) and tools (e.g., Ragel state machine compiler) to significantly improve query compilation time. This is a joint work with Srinivas Narayana , Jennifer Rexford, David Walker.
[Conference Paper] [Project Website]
A Scalable VPN Gateway for Multi-Tenant Cloud Services
Today’s Major cloud providers have hundreds of customers directly connected to the edge of their network. To connect to their private network of thousands of virtual machines on the cloud, customers tunnel their traffic to a VPN gateway, which internally tunnels traffic to the correct destination. A VPN gateways at the edge of the cloud needs to maintain information for millions internal tunnels, while providing a high enough port density to directly connect to customers. In this project, we build a hybrid VPN gateway with a switch and a server running DPDK, and show that it matches the requirements of today’s cloud providers while processing packets at line rate. This is a joint work with Pavel Shirshov, Rohan Gandhi, Guohan Lu, Lihua Yuan , and Jennifer Rexford.