“…We have adopted a modified version of BFD to allocate virtual machines (VM) to locations that result in the least increase in power consumption [19]. We previously proposed a computing resources version of that algorithm to solve the stateless function allocation problem [9] . In the resource-aware BFD algorithm, Q is a set of initial requests, each represent a tenant's request to certain module, L is a set of locations available for allocating requests and the set A refers to the set of allocated requests in certain locations, the function sort(Q) sorts the requests from Q by a decreasing order of baseline resources required; capacity(A, r, l) ensures the resources required in location l in allocation A is enough to accommodate a give request r; validation(r, l) constrains the location to those who satisfy the traffic constraints such as for a stateful class request r, only locations that associated with communication links are valid, while total cost(r, l) calculates the total cost of allocating the request r to location l which represented of computing cost plus communication cost if any in the contrary to the work in [9] which only consider computing resources cost, as illustrated by the following algorithm Input: Set of requests Q, set of locations L Output: Set of requests allocated to locations A 1: A ← ∅ // initialisation 2: Q * ← sort(Q) // sort request w.r.t.…”