  The advent of Cloud Computing enabled the proliferation of IoT applications
for smart environments. However, the distance of these resources makes them
unsuitable for delay-sensitive applications. Hence, Fog Computing has emerged
to provide such capabilities in proximity to end devices through distributed
resources. These limited resources can collaborate to serve distributed IoT
application workflows using the concept of stateless micro Fog service
replicas, which provides resiliency and maintains service availability in the
face of failures. Load balancing supports this collaboration by optimally
assigning workloads to appropriate services, i.e., distributing the load among
Fog nodes to fairly utilize compute and network resources and minimize
execution delays. In this paper, we propose using ELECTRE, a Multi-Criteria
Decision Analysis (MCDA) approach, to efficiently balance the load in Fog
environments. We considered multiple objectives to make service selection
decisions, including compute and network load information. We evaluate our
approach in a realistic unbalanced topological setup with heterogeneous
workload requirements. To the best of our knowledge, this is the first time
ELECTRE-based methods are used to balance the load in Fog environments. Through
simulations, we compared the performance of our proposed approach with
traditional baseline methods that are commonly used in practice, namely random,
Round-Robin, nearest node, and fastest service selection algorithms. In terms
of the overall system performance, our approach outperforms these methods with
up to 67% improvement.
