Function-as-a-Service (FaaS) is a programming model in which
applications are formed by chaining ephemeral computation units referred to as functions.
FaaS is particularly suitable for developing fog-native applications by
enabling flexible, on-demand placement of functions across the
cloud-to-thing continuum. This continuum encompasses diverse fog
nodes ranging from cloud servers to myriads of resource-constrained and
geographically-distributed devices. Although many recent studies have focused on
efficiently placing functions on fog resources, limited attention has been
given to respecting application latency requirements. Moreover, few studies have
considered the multiple entities that own fog nodes and
explored mechanisms to incentivize fog node owners to share resources
within the same fog network to improve quality of service for clients.
First, this exposé addresses the FaaS function placement problem in the fog through
a market-based approach. Clients submit function placement requests with
expected guarantees over network latency and allocated resources,
encapsulated within a Service-Level Agreement (SLA). A marketplace then
organizes an auction where fog nodes bid on the SLA to determine the node
that will host the function and the revenue of the fog node owner. Our
approach is evaluated by emulating networks of fog nodes, utilizing our
reproducible and open-source testbed running on the Grid'5000
infrastructure. We evaluate various cooperative baselines on the same
testbed and demonstrate that our approach reduces client spending by 70%
while maintaining the expected latency across fog networks with
up to 663 nodes, under realistic loads from FaaS
function chains.
Then, the exposé briefly discusses the undergoing contribution of making a fog-native
applications able to scale and adapt to the fog constrained nature by extending the FaaS paradigm.
Finally, we conclude the exposé by feedbacks and experiences about the development of our testbed running on top of Grid'5000 and its toolsets.
Notably, we discuss Nix, Enoslib and its modifications, an alternative to netem using eBPF, Tailscale and finally some pitfalls configuring grid'5000.
- Poster