Edge computing is a new computing paradigm that performs data processing at the edge of the network (ie, edge servers) to lower data processing latency. Prior research significantly focused on offloading tasks from terminals to edge servers, yet most ignored how to store task's necessary data (such as databases and pretrained machine-learning models) on edge servers. Today, as data-intensive tasks such as deep learning and augmented reality become common, large data storage and powerful computation resources are needed. This is a cumbersome challenge, because many lightweight edge servers have limited resources. If an edge server does not have a task's necessary data, then it needs to offload the task to cloud datacenters or download the necessary data from the cloud. Either case could increase data processing latency. To address this problem, this paper proposes an edge-side collaborative storage framework called Edge-side Cooperative Storage (ECS). In ECS, edge servers collaboratively store and process data-intensive tasks's necessary data. Here, we particularly focus on how to effectively place data on ECS, using an approach that differs from existing works (that model data placement problems as linear/integer programming problems). Our work models cooperative storage as a graph and solves the data placement problem by using a graph-based iterative algorithm. This algorithm easily extends to a distributed version, so distributed ECSworks efficiently without a centralized scheduler. We also evaluate ECS's effectiveness and convergence through simulations. Simulation results show that ECSis 2× better than a traditional nonshared storage framework in terms of the cache hit rate.
KEYWORDScooperative storage, data placement, edge computing
INTRODUCTIONEdge computing 1,2 is a new computing paradigm that performs data processing at the network's edge (ie, edge servers). In an edge computing system, terminals with limited computation and storage resources can offload tasks to edge servers to improve terminals' performance. As Figure 1 shows, a typical edge computing system consists of three layers, ie, the terminal layer, edge server layer, and cloud datacenter layer. Terminals, such as Raspberry Pi, mobile phones, and Google Glass, are small end devices that have limited computation, storage, and energy resources. 3 Recently, applications running on terminals, such as object detection, 4 indoor localization, 5,6 and encrypting, 7,8 are increasingly data-intensive and latency-critical.For example, Google Glass needs to classify the objects in pictures it takes, and augmented reality games need indoor localization information to render real-life environments on mobile phones. Because the terminals' computation and storage resources cannot satisfy these applications' requirements, often, computation tasks are offloaded to nearby edge servers. Edge servers are small computing facilities, such as smart network routers, base stations, and small datacenters, which are located near terminal devices. Edge servers connect via ...