EdgeFaaS A Function-based Framework for Edge Computing Runyu Jin Arizona state UniversityQirui Yang

2025-05-03 0 0 833.57KB 14 页 10玖币
侵权投诉
EdgeFaaS: A Function-based Framework for Edge Computing
Runyu Jin
Arizona state University
Qirui Yang
Arizona state University
Abstract—The rapid growth of data generated from Internet of
Things (IoTs) such as smart phones and smart home devices
presents new challenges to cloud computing in transferring,
storing, and processing the data. With increasingly more
powerful edge devices, edge computing, on the other hand,
has the potential to better responsiveness, privacy, and cost
efficiency. However, resources across the cloud and edge are
highly distributed and highly diverse. To address these chal-
lenges, this paper proposes EdgeFaaS, a Function-as-a-Service
(FaaS) based computing framework that supports the flexible,
convenient, and optimized use of distributed and heterogeneous
resources across IoT, edge, and cloud systems. EdgeFaaS
allows cluster resources and individual devices to be managed
under the same framework and provide computational and
storage resources for functions. It provides virtual function and
virtual storage interfaces for consistent function management
and storage management across heterogeneous compute and
storage resources. It automatically optimizes the scheduling
of functions and placement of data according to their per-
formance and privacy requirements. EdgeFaaS is evaluated
based on two edge workflows: video analytics workflow and
federated learning workflow, both of which are representative
edge applications and involve large amounts of input data
generated from edge devices.
1. INTRODUCTION
We are living in the big data era where explosive data
comes largely from edge devices such as smart phones,
and smart home devices. The ubiquitous edge devices can
generate 400 Zettabytes of data per year [16]. This big
amount of data has presented important challenges to our ex-
isting computational infrastructure. The previous cloud-only
solution fails to transfer, store or process such vast amounts
of data efficiently and cost-effectively. What’s more, many
edge applications come with latency and privacy require-
ments where cloud-only solution falls short. At the same
time, edge devices have become unprecedented powerful in
both computation and storage, providing new opportunities
for the new computing paradigm, “edge computing”.
Contrary to the rapid growth of edge computing, there is
a lack of suitable computational infrastructure that supports
the unique characteristics of edge applications and edge
systems. Edge applications are highly data driven. Most edge
applications perform computations based on data collected
by IoT devices. For example, the smart home IoT devices
collect home metrics through different sensors which is
then analysed in the home hub or cloud. Another example
would be surveillance systems, where streams of videos are
generated from cameras and serves as input data for image
processing edge applications. The edge applications uses the
IoT devices generated data as input. The edge computational
infrastructure should transfer or store the large amount of
data generated from IoT devices with care to improve the
performance.
Edge applications are also latency sensitive. Due to edge
devices’ close interaction with the physical world by sensing
and actuating, many edge applications have low latency or
even real-time requirement. For example, in autonomous
driving, the system’s response time is capped at 100ms [29]
for some scenarios such as sensing and processing the
surrounding environment which is nearly real time. Another
example is for security alarms where the devices are ex-
pected to react immediately to detected security issues. The
edge computational infrastructure should process the vast
amount of data generated from the edge devices and avoid
the expensive data transfer latency from edge devices to
cloud [25].
Furthermore, edge applications have privacy require-
ment. Data collected from sensors and edge devices may
contain physical world or personal information that is crit-
ical to privacy. For example, medical edge devices capture
patient-private data and should not be exposed to any unre-
lated people. Computation that involves private data calls
for the data storage and processing to happen on local
edge devices to avoid possible data leakage during network
transportation and on the cloud.
At the same time, edge systems are highly heteroge-
neous and highly distributed. From edge to cloud, there
are three tiers of resources distributed over IoT devices,
edge servers, and cloud datacenters. Within each tier, the
resources are also distributed across different geographical
areas and administrative domains. An edge system is built
upon highly heterogeneous resources. IoT devices, edge
servers, and cloud servers are drastically different tiers in the
system, whereas within each tier the resources, especially
the devices in the IoT tier, are also highly diverse in terms
of processors/accelerators, memory/storage, OS/hypervisor,
and libraries/runtimes.
To better cater to the unique characteristics of edge
applications and edge systems, we introduce EdgeFaaS,
a function-based distributed computing platform for edge
applications.
First, EdgeFaaS allows cluster resources and individual
devices to be managed under the same framework and
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
features [2], [1]. On the other hand, it is relatively more
difficult to ensure data privacy on shared cloud resources.
Finally, by utilizing the computing and storage resources
available on edge, the cost of cloud services can be reduced.
More computation are conducted using the edge resources
which is weaker and cheaper than cloud services. Users pay
less to use powerful cloud resources but in turn can get
similar services with acceptable performance.
2.2. Function-as-a-Service
Function-as-a-Service (FaaS) is a service-oriented com-
puting model that allows users to run functions without the
complexity of building and maintaining the infrastructure.
users define functions and FaaS deploys applications in
the unit of sandboxed functions. Functions can be chained
to work in a pipelined manner. A function is triggered by
function invocation. FaaS quickly and dynamically scales
up and down the number of function sandboxes on demand.
As soon as a request finishes, its function sandboxes can be
shut down to release resources and no state is guaranteed to
be preserved.
Compared to the other commonly used service models
such as IaaS and conventional PaaS, FaaS has several impor-
tant benefits. First, FaaS simplifies the development effort.
Developers are able to decompose complex applications
into smaller and simpler functions which helps reduce the
complexity of development and makes debugging easier.
The auto-scaling of functions gets easier too. Developers
only need to specify a few configuration parameters to tune
the auto-scaling without the complexity of changing the
infrastructure and deploying more applications manually.
Another advantage of FaaS is the faster initialization.
FaaS deploys functions which usually have smaller image
sizes compared to entire applications. The functions belong-
ing to the same application can be deployed in parallel
to save the initialization time compared to a full-blown
application. FaaS also provides better cost effectiveness.
Edge devices are increasingly powerful in terms of speed,
capability, and capacity. For example, smartphones have
equipped with up to 8 core processors, tens of gigabytes of
memory and hundreds of gigabytes of storage to cater to the
various needs of applications. Finally, FaaS has the benefits
of improving resource utilization. Resources are provided to
users in a finer-grained unit which can avoid resource being
wasted and unutilized for IaaS and PaaS service models.
Also, each function requires limited resources and resources
can be better divided among different functions.
FaaS platforms typically involves a gateway and a FaaS
provider. The gateway provides RESTful APIs such as de-
ploy, invoke, delete operations on functions for users to send
requests to the FaaS platform. FaaS provider is a connector
to connect the FaaS gateway to the underlying computation
platform. Take OpenFaaS for example, it uses Kubernetes
as one of the underlying computation platforms and has a
faas-netes FaaS provider to connect the FaaS gateway to
the Kubernetes. Faas-netes parses the user requests from
the gateway and sends them to the Kubernetes for CRUD
for Functions, function auto-scaling, invocation of functions,
etc.
FaaS typically uses MinIO and S3 services as the ex-
ternal storage to store input and output data of a function.
These object stores provide interfaces for easy access to the
storage. Take MinIO as an example, it provides putObject,
getObject, makeBucket these interfaces for users to create
buckets and store and retrieve objects.
3. EdgeFaaS
EdgeFaaS manages different resources from IoT tier,
edge tier, to cloud tier. Each resource needs to be organized
as an OpenFaaS [14] resource which exposes a gateway
to EdgeFaaS in order to schedule functions to run on the
resource. EdgeFaaS provides a unified gateway which could
target different platforms using a scheduling mechanism of
user’s choice. It implements the same interfaces as Open-
FaaS but allows users to run applications using different
resources. So whenever an invocation is made or a deploy-
ment requested, EdgeFaaS is in the critical-path and acts like
a router, picking some most suitable resources for function
execution. In order to address the scalability and single point
of failure problem, EdgeFaaS can run as a deployment of
Kubernetes and utilizes the ReplicaSet provided by Kuber-
netes to maintain a stable set of replica pods running at any
given time. Figure 1 shows the architecture of EdgeFaaS. We
will explain each module in details in the following sections.
Besides OpenFaaS functions, the resource also needs to have
multiple storage backends and monitoring systems deployed.
By default, EdgeFaaS uses Minio [7] and Prometheus [10].
Minio is used to store input, output, and intermediate data
and Prometheus is to provide real-time resource usage stats
for EdgeFaaS function management.
Figure 1: EdgeFaaS Architecture
3.1. Resource Management
EdgeFaaS manages heterogeneous resources through re-
source management. Each heterogeneous resource from IoT
tier, edge tier, to cloud tier is organized as an OpenFaaS
resource. The OpenFaaS resource can be a group of data
center nodes forming a kubernetes resource which host
OpenFaaS services atop of it or can be a Faasd service,
摘要:

EdgeFaaS:AFunction-basedFrameworkforEdgeComputingRunyuJinArizonastateUniversityQiruiYangArizonastateUniversityAbstract—TherapidgrowthofdatageneratedfromInternetofThings(IoTs)suchassmartphonesandsmarthomedevicespresentsnewchallengestocloudcomputingintransferring,storing,andprocessingthedata.Withincre...

展开>> 收起<<
EdgeFaaS A Function-based Framework for Edge Computing Runyu Jin Arizona state UniversityQirui Yang.pdf

共14页,预览3页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:图书资源 价格:10玖币 属性:14 页 大小:833.57KB 格式:PDF 时间:2025-05-03

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 14
客服
关注