Simultaneous Genetic Evolution of Neural Networks for Optimal SFC Embedding
This addresses the challenge of efficient network programmability for organizations by providing a faster and more effective method for embedding virtual network functions, though it is incremental as it builds on existing Genetic Algorithm approaches.
The paper tackles the NP-hard problem of optimal Service Function Chain embedding by proposing GENESIS, a Genetic Algorithm-based approach that evolves three neural networks to simultaneously optimize all three sub-problems, achieving optimal solutions in 100% of scenarios and an average runtime of 15.84 minutes.
The reliance of organisations on computer networks is enabled by network programmability, which is typically achieved through Service Function Chaining. These chains virtualise network functions, link them, and programmatically embed them on networking infrastructure. Optimal embedding of Service Function Chains is an NP-hard problem, with three sub-problems, chain composition, virtual network function embedding, and link embedding, that have to be optimised simultaneously, rather than sequentially, for optimal results. Genetic Algorithms have been employed for this, but existing approaches either do not optimise all three sub-problems or do not optimise all three sub-problems simultaneously. We propose a Genetic Algorithm-based approach called GENESIS, which evolves three sine-function-activated Neural Networks, and funnels their output to a Gaussian distribution and an A* algorithm to optimise all three sub-problems simultaneously. We evaluate GENESIS on an emulator across 48 different data centre scenarios and compare its performance to two state-of-the-art Genetic Algorithms and one greedy algorithm. GENESIS produces an optimal solution for 100% of the scenarios, whereas the second-best method optimises only 71% of the scenarios. Moreover, GENESIS is the fastest among all Genetic Algorithms, averaging 15.84 minutes, compared to an average of 38.62 minutes for the second-best Genetic Algorithm.