Resilient Deployment Solver for Distributed Software Components
Built an automated deployment framework for optimal allocation of distributed software components to remote edge computing hardware platforms using SMT constraints and Linear Optimization, subject to fault tolerance requirements and resource constraints. The input to the solver was a set of user supplied deployment specifications and hardware resource specifications using a custom TextX based language. Two optimization modes were implemented, one for maxmizing redundancy and one for minimizing te deployment cost. A dedicated testing environment was created to rapidly deploy and test the solved configurations using Mininet, a virtual networ emulator. The testing environment coulld be controlled to introduce artifical faults at specific network nodes or links at specific time nstances using abehavior model script. The effect of the deployment configuration on the fault-tolerance capability of the system was demonstrated on a microgrid energy management system. It consisted of distributed loads, batteries, and electric vehicle chargers in a microgrid connected to a centralized aggregator which calculated the optimal power allocation by executing a convex optimization algorithm using demand predictions with LSTM neural networks.
Our work was presented in the 2022 IEEE International Conference on Omni-layer Intelligent Systems (COINS)