  In this paper, we study the problem of delay minimization in NFV-based
networks. In such systems, the ultimate goal of any request is to compute a
sequence of functions in the network, where each function can be computed at
only a specific subset of network nodes. In conventional approaches, for each
function, we choose one node from the corresponding subset of the nodes to
compute that function. In contrast, in this work, we allow each function to be
computed in more than one node, redundantly in parallel, to respond to a given
request. We argue that such redundancy in computation not only improves the
reliability of the network, but would also, perhaps surprisingly, reduce the
overall transmission delay. In particular, we establish that by judiciously
choosing the subset of nodes which compute each function, in conjunction with a
linear network coding scheme to deliver the result of each computation, we can
characterize and achieve the optimal end-to-end transmission delay. In
addition, we show that using such technique, we can significantly reduce the
transmission delay as compared to the conventional approach. In some scenarios,
such reduction can even scale with the size of the network. More precisely, by
increasing the number of nodes that can compute the given function in parallel
by a multiplicative factor, the end-to-end delay will also decrease by the same
factor. Moreover, we show that while finding the subset of nodes for each
computation, in general, is a complex integer program, approximation algorithms
can be proposed to reduce the computational complexity. In fact, for the case
where the number of computing nodes for a given function is upper-bounded by a
constant, a dynamic programming scheme can be proposed to find the optimum
subsets in polynomial times. Our numerical simulations confirm the achieved
gain in performance in comparison with conventional approaches.
