
provides computational and storage resources for functions.
The current FaaS platforms such as OpenFaas [14], Open-
Whisk [4], and AWS Lambda [12] can only run applications
on one device or one cluster. Applications cannot exploit
both the edge devices low data transfer cost and the cloud
strong computation power. EdgeFaaS can register different
clusters and schedule the computation based on the data
proximity and latency requirement to different clusters.
Second, it provides virtual function and virtual storage
interfaces for consistent function management and storage
management across heterogeneous compute and storage re-
sources. For the functions, the locations of input and output
data, cluster gateways, all these are virtualized in Edge-
FaaS and users do not have direct access. Each function
deployment, invocation are conducted through the exposed
EdgeFaaS gateway and all the resources are transparent to
the user. These help protect the data and function privacy.
Besides, it frees users from the hassle of function manage-
ment and storage management as users do not need to man-
ually participate in distributing functions across heteroge-
neous computing and storage resources. The manageability
of edge computing is improved as function and storage are
virtualized and managed by cautiously designed RESTful
APIs. Likewise, the storage resources are also virtualized
to be transparent to users. Users only get access to their
own data through the RESTful APIs and is free from the
complexity of storage resource management.
Third, it automatically optimizes the scheduling of func-
tions and placement of data according to their performance
and privacy requirements. To fullfill the latency-sensitive
feature of edge applications, EdgeFaaS place the functions
and data based on data locality to save the data transfer
latency from IoT devices to cloud. This feature also satisfies
the edge data privacy requirements by storing the device-
collected data locally without transferring it to the remote
cloud.
We also introduce two representative edge workflows to
illustrate the usage of EdgeFaaS. The two workflows are
video analytic workflows and federated learning workflows,
which are representative of a large portion of today’s edge
applications. The video analytic workflow forms a pipeline
of continuous video streams generation, motion detection,
face detection, face extraction, and face recognition. The
whole pipeline involves five stages and uses object storage
and message queue for storing the input and output of
each stage. The federated learning workflow involves the
distributed training on IoT devices and model aggregation on
edge and cloud clusters. Each IoT device trains the model lo-
cally using the local generated data. It then passes the trained
model to edge cluster for aggregation. The edge aggregated
model is finally contributed to cloud for final aggregation.
Both workflows involve large amounts of data and exhibit
the three edge applications characteristics described above.
We implement and evaluate EdgeFaaS using the open
source FaaS platform, OpenFaaS [14]. We use the two edge
workflows to study the usability of EdgeFaaS. First, we
show EdgeFaaS can manage different computation and stor-
age resources. Second, we show how EdgeFaaS schedules
the function execution and data storage among different
resources to achieve the application requirements. Third, we
show how EdgeFaaS can be further extended to run other
edge applications.
In summary, the contributions of this work are as fol-
lows: 1) we characterize the unique challenges brought by
edge applications and the underlying systems; 2) we design
and implement EdgeFaaS to address these challenges by
providing a unified computing platform; 3) we provide two
workflows using EdgeFaaS which can represent a large
portion of edge applications; 4) we demonstrate that Edge-
FaaS can effectively execute edge workloads to meet edge
applications’ requirements.
In the following paper, Section 2 provides a background
of edge computing, function-as-a-service, and federated
learning. Section 3 provides an overview of the design and
implementation of EdgeFaaS. Section 4 introduces the two
representative edge workflows. Section 5 evaluates Edge-
FaaS based on the two workflows. Section 6 introduces
related works and Section 7 concludes the paper.
2. BACKGROUND
2.1. Edge Computing
Edge computing is a computing paradigm that conducts
computation close to the data source. With the proliferation
of edge devices, even the fast-growing cloud is believed to
be inadequate in handling the explosive demand of data col-
lection, transportation and processing. The emerging edge
computing, which expands computing infrastructure from
the cloud to the computing resources on edge including edge
devices, edge servers, and edge clusters [34], is a promising
paradigm to resolve the challenges on the cloud side.
A primary advantage of edge computing is the fast re-
sponse of applications. The ubiquitous edge devices can gen-
erate 400 Zettabytes of data per year [16]. The vast amount
of data transportation works have pushed the network to be
the bottleneck. Processing such large and fast data in time
places a huge burden on the computation resources of cloud
data centers. Both the computation and network latencies in
the cloud largely slow down applications’ response time,
which have pushed computation to move closer to the data
source. Doing computation on the ubiquitous edge devices
in a scale-out manner can reduce this unnecessary network
overhead by processing the data locally to improve the
response time.
Edge computing can offload computation to peer edge
devices, nearby edge data centers, and farther cloud. All
these heterogeneous resources are utilized by edge comput-
ing to provide high scalability for different amount of work.
Another key advantage of edge computing is data pri-
vacy. Private data like personal video footage and data
collected by virtual assistant for model training can be better
protected on the edge then in the cloud. One one hand, edge
computing allows data to be processed on the user’s own
device which can be well protected by different security