Flow Sampling: Accurate and Load-balanced Sampling Policies
Software-defined networking simplifies network monitoring by means of per-flow sampling, wherein the controller keeps track of the active flows in the network and samples the switches on each flow path to collect the flow statistics. A tradeoff in this process is between the controller's sampling preference and the balancing of loads among switches. On the one hand, the controller may prefer to sample some of the switches on the flow path because they yield more accurate flow statistics. On the other hand, it is desirable to sample the switches uniformly so that their resource consumptions and lifespan are balanced. Focusing on the application of traffic matrix estimation, this paper formulates the per-flow sampling problem as a Markov decision process and devises policies that can achieve good tradeoffs between sampling accuracy and load balancing. Three classes of policies are investigated: the optimal policy, the state-independent policies, and the index policies, including the Whittle index and a second-order index policies. The second-order index policy is the most desired policy among all: 1) in terms of performance, it is on an equal footing with the Whittle index policy, and outperforms the state-independent policies by much; 2) in terms of complexity, it is much simpler than the optimal policy, and is comparable to state-independent policies and the Whittle index policy; 3) in terms of realizability, it requires no prior information on the network dynamics, hence is much easier to implement in practice.
READ FULL TEXT