暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
EdgeKV Decentralized, scalable, and consistent storage for the edge_PingCAP.pdf
148
13页
2次
2023-09-26
免费下载
Journal of Parallel and Distributed Computing 144 (2020) 28–40
Contents lists available at ScienceDirect
J. Parallel Distrib. Comput.
journal homepage: www.elsevier.com/locate/jpdc
EdgeKV: Decentralized, scalable, and consistent storage for the edge
Karim Sonbol
a,
, Öznur Özkasap
a
, Ibrahim Al-Oqily
b,c
, Moayad Aloqaily
d
a
Department of Computer Engineering, Koç University, Istanbul, Turkey
b
The Hashemite University, Zarqa, Jordan
c
Al-Yamamah University, Riyadh, Saudi Arabia
d
Al Ain University, United Arab Emirates
a r t i c l e i n f o
Article history:
Received 11 March 2020
Received in revised form 29 April 2020
Accepted 19 May 2020
Available online 30 May 2020
Keywords:
Edge computing
Distributed systems
Key–value store
DHT
Consistency
a b s t r a c t
Edge computing moves the computation closer to the data and the data closer to the user to overcome
the high latency communication of cloud computing. Storage at the edge allows data access with high
speeds that enable latency-sensitive applications in areas such as autonomous driving and smart grid.
However, several distributed services are typically designed for the cloud and building an efficient
edge-enabled storage system is challenging because of the distributed and heterogeneous nature of
the edge and its limited resources. In this paper, we propose EdgeKV, a decentralized storage system
designed for the network edge. EdgeKV offers fast and reliable storage, utilizing data replication with
strong consistency guarantees. With a location-transparent and interface-based design, EdgeKV can
scale with a heterogeneous system of edge nodes. We implement a prototype of the EdgeKV modules
in Golang and evaluate it in both the edge and cloud settings on the Grid’5000 testbed. We utilize
the Yahoo! Cloud Serving Benchmark (YCSB) to analyze the system’s performance under realistic
workloads. Our evaluation results show that EdgeKV outperforms the cloud storage setting with both
local and global data access with an average write response time and throughput improvements of
26% and 19% respectively under the same settings. Our evaluations also show that EdgeKV can scale
with the number of clients, without sacrificing performance. Finally, we discuss the energy efficiency
improvement when utilizing edge resources with EdgeKV instead of a centralized cloud.
© 2020 Elsevier Inc. All rights reserved.
1. Introduction
Several distributed services need to store their state and
change it or retrieve it at a later time. This state is generally
required to be stored in a reliable, secure, private, efficient, and
cost-effective way. The cloud has been traditionally used for
storing the state of many programs. The cloud provides flexible
pay-what-you-use cost policy, scalability, high security standards,
and high reliability. The cloud is able to provide such features by
hosting clusters of commodity servers in one physically secure
location; namely a data center [5].
Data centers are sparse because of their special requirements
and high costs for building and maintenance. This implies that the
majority of cloud users would be distant from data centers. Such
distances are important because they directly affect the latency of
data transfer between clients and servers, which becomes more
critical in latency-sensitive systems such as autonomous vehicles,
smart grids, and online multiplayer games. Another problem with
Corresponding author.
E-mail addresses: ksonbol16@ku.edu.tr (K. Sonbol), oozkasap@ku.edu.tr
(Ö. Özkasap), ialoqily@ieee.org (I. Al-Oqily), maloqaily@xanalytics.ca
(M. Aloqaily).
cloud storage is data privacy since sending data to the cloud
typically means sharing it with a third-party. Hence, applications
storing sensitive information may need to find an alternative to
the cloud.
To overcome the high latency of the cloud, fields such as edge,
fog, and mist computing came into existence [4,12]. In this paper,
we refer to these entities collectively as edge nodes. These fields
aim to move the data and computation closer to the consumer.
Therefore, instead of doing most of the computation and stor-
age at the cloud, new computation and storage entities can be
introduced between the client and data center in the client-to-
cloud continuum to partially handle these tasks. This not only
reduces the response latency and saves network bandwidth but
also alleviates some of the workload from the cloud. In addition,
storing and processing data at the edge allow utilizing contextual
information to improve data locality and decision making [18].
Moreover, privacy-oriented applications can store their data on
the local edge, or use the cloud for storing only less-sensitive or
aggregate information.
Edge nodes generally have limited computation, storage, net-
work, or power resources. They may have heterogeneous hard-
ware and software architectures, and are not typically located
https://doi.org/10.1016/j.jpdc.2020.05.009
0743-7315/© 2020 Elsevier Inc. All rights reserved.
K. Sonbol, Ö. Özkasap, I. Al-Oqily et al. / Journal of Parallel and Distributed Computing 144 (2020) 28–40 29
Table 1
Summary of existing edge-enabled storage solutions.
Project Use case Data content Consistency Fault-tolerance
FogStore [14] Situation-awareness, applications Contextual data Context-based Yes
Vision-Edge [25] Computer vision Feature vectors, key-frames Data-type-based No
FBase [15] Data-intensive fog applications Application data Eventual
Yes
Configuration data Strong
EC+ [33] MMOG Game events Event-type-based No
Workers-KV [9] Web services Web pages Eventual Yes
Fog05 [11] IaaS Server states Eventual No
OpenStack-Edge [20] IaaS Server states Eventual Yes
Dqlite [7] Embedded devices Sensor data Strong Yes
EdgeKV General-purpose Key–Value pairs Strong Yes
in one location. Therefore, they may communicate over a Wide-
Area Network (WAN) and some even use a wireless protocol,
e.g., WiFi or 4G/5G, to communicate together or with clients.
Consequently, designing an edge-enabled storage system is not
trivial and directly using existing cloud-optimized systems in the
edge may not be possible. Instead, either a middleware layer can
be introduced to make the existing software edge-aware or novel
designs can be developed that are specific to the edge or that are
generic enough to work with both cloud and edge.
A few existing works try to build an edge-capable storage
system but they are either domain-specific [21,25], provide only
weak forms of consistency [11], or require a high level of do-
main knowledge and customization to work efficiently [14]. In
this paper, we propose EdgeKV, a decentralized, general-purpose,
scalable, and reliable storage system for the edge. EdgeKV offers
low-latency access, strong consistency notions, high availability,
and minimal customization requirement. Specifically, we make
the following contributions:
Propose EdgeKV, a novel storage system architecture for the
edge, explain its modules and their interactions, and the
algorithms used.
Provide fault-tolerance and reliability through replication in
the edge with strong consistency guarantees. Support load-
balancing with a highly-scalable overlay that has minimal
overhead.
Support two levels of data locality with different latency
guarantees based on application requirements. The separa-
tion of local and global data allows deploying EdgeKV in
different use cases.
Develop a prototype [28] allowing for heterogeneity in the
system with a hierarchical design and interface abstrac-
tions. Perform comprehensive experimental analysis on dis-
tributed testbed and comparisons with the centralized cloud
storage.
Present the performance analysis results of EdgeKV, show-
ing its superior performance to the centralized cloud solu-
tion, especially with local data, and evaluate the scalability
of the system with the number of clients and requests. In
addition, we provide a discussion about the energy effi-
ciency aspect of the system. Moreover, we discuss possible
optimizations for scalability, future research directions for
EdgeKV, and useful insights for edge-enabled application
designers.
The rest of the paper is organized as follows. We discuss the
related work in Section 2. Section 3 introduces the design and
system architecture. Section 4 discusses motivating use cases for
EdgeKV. In Section 5, we discuss implementation details and in
Section 6 we present evaluation results. Finally, we conclude
in Section 8 with a summary of the contributions and future
directions.
2. Related work
There exists a variety of work on distributed storage for the
cloud. This ranges from relational databases such as MySQL and
PostgreSQL to NoSQL databases such as Cassandra and Mon-
goDB and includes key–value stores such as TiKV. However, less
work exists for utilizing the edge/fog resources. Nonetheless, we
discuss the relevant existing works next, also summarized in
Table 1.
FogStore [14] is designed for situation-awareness applications
that use data annotated with context information such as loca-
tion or timestamps. FogStore presents a geo-replicated key–value
storage providing differential consistency guarantees based on
the context. While this allows for usage in different scenarios, it
requires the system user to have expert knowledge of the domain
to define a mapping between data and client contexts and the
required consistency level for different queries. Similarly, Vision-
Edge [25] is an application-specific key–value storage solution
for machine vision applications such as smart surveillance cam-
eras. There are two types of data in such applications: latency-
critical feature vectors and key-frames stored for bookkeeping
purposes. FBase [15] is a replication service for data-intensive fog
applications. It provides programmers with a declarative way to
choose replication paths and data flows across geo-distributed
sites, based on user-provided configuration data. FBase guaran-
tees only eventual consistency for the application data and strong
consistency for configuration data. Some works do not handle
fault-tolerance such as Vision-Edge and Edge-Cloud+ (EC+) [33],
while others provide fault-tolerance but with weak forms of
consistency such as Fog05 and Workers-KV [9]. EC+ is an ar-
chitecture augmented by edge computing for Massively Mul-
tiplayer Online Games with Virtual Reality (VR-MMOG). EC+
utilizes the edge for latency-sensitive local view change updates
and leaves global game state updates, with less strict latency
requirements, to the central cloud. CloudFlare’s Workers-KV [9]
utilizes CloudFlare’s global edge network to build low-latency
globally-available key–value storage. Workers-KV only provides
eventual consistency and is mainly useful for building faster and
customized web applications
We note that each work has a specific use case or class of
use cases for which they are designed. For example, Fog05 [11]
and [20] are Infrastructure-as-a-Service (IaaS) frameworks that
are used for managing both cloud and edge resources. Eclipse
fog05 [11] is a virtualization solution for cloud, edge, and fog
resources suitable for heterogeneous systems. It can integrate any
key–value store and provide a location-transparent and unified
view to it from anywhere in the network through a unified
interface, but provides only eventual consistency. OpenStack-
Edge modifies the OpenStack IaaS framework to enable managing
edge resources. It achieves this by replacing its centralized SQL
database with a distributed Redis cluster. Dqlite [7] provides a
distributed, highly available, and lightweight SQLite implementa-
tion suitable for embedded devices. While Dqlite provides strong
of 13
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜