StateAlyzr: Deep Diving into Middlebox State to Enable Distributed Processing - Khalid, Junaid; Gember-Jacobson, Aaron; Michael, Roney; Abhashkumar, Anubhavnidhi; Akella, Aditya (My University, 2016)
We consider the problem of modifying network middleboxes to enable live state redistribution. The need for this arises when input workload is reallocated across middlebox instances in important scenarios such as elastic scale up/down,high availability, and load balancing. While techniques exist today for safe migration/cloning of live state, the task of modifying middlebox code to identify needed state is manual, and hence extremely complex and error prone. We present a system, StateAlyzr, that embodies a novel set of algorithms adapted from program analysis techniques to provably and automatically identify all state that must be migrated/cloned so as to ensure safety in the face of dynamic redistribution. StateAlyzr leverages middlebox code structureand common design patterns to simplify analysis and to minimize unneeded state that?s migrated/cloned. We have applied StateAlyzr to four open source middleboxes. We find that the amount of live state that matters toward packet processing can be large in these middleboxes. We build upon the output of StateAlyzr to develop a highly-available version of one of the middleboxes. We find that StateAlyzr?s algorithms can reduce the amount of state that needs to be transferred across live and hot standby instances by nearly 600x.
Keywords: middleboxes; network functions