Rohrer, F. (2018). Multi-objective user and virtual machine assignment using biogeography-based optimization [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2018.54569
Applications such as vehicle routing systems, smart city applications and augmented reality games are new and demanding applications that have very low latency requirements. Fog Computing is a newcomputing paradigm that will pave theway for these applications. To that end, service providers will deploy their hardware (gateways, routers, servers) outside of data centers in order to move their infrastructure as close as possible to their users. In order to get benefit from the infrastructure, users have to be assigned to the right servers, depending on their physical location. Simultaneously, the users’ applications, have to be assigned to the same servers, ideally such that they are in close proximity to their users. The different objectives of both service providers and users, as well as physical limitations and constraints, however, make this assignment task a challenging problem. We capture user and service provider goals by six different objective functions (user distance, power consumption, resource waste, failure probability, reachability, user evenness). We use Biogeography-based optimization (BBO), a kind of genetic algorithm inspired by nature, to find solutions that simultaneously minimize all these functions in a multiobjective Pareto approach. As exact solutions are hard to obtain, we compare BBO against a greedy algorithm and the Genetic algorithm (GA). Our extensive simulations suggest that BBO is indeed applicable to find reasonably good solutions, however results vary upon the used objective function. BBO generally outperforms the greedy algorithm in almost all of the instances and often delivers slightly better results than GA as well, especially for smaller instance sizes. The work shows that BBO is an admissible approach for solving this assignment problem encountered in Fog Computing which can lead to lower latency for user applications and cost savings and higher availability guarantees for service providers.