enabling fine-grained edge offloading for iothome.in.tum.de/~ding/files/sigcomm-poster2017.pdf[1]...

2
Enabling Fine-Grained Edge Oloading for IoT Viorio Cozzolino Technical University of Munich Aaron Yi Ding Technical University of Munich org O Technical University of Munich Dirk Kutscher Huawei Technologies ABSTRACT In this paper we make the case for IoT edge ooading, which strives to exploit the resources on edge computing devices by ooading ne-grained computation tasks from the cloud closer to the users and data generators (i.e., IoT devices). e key motive is to enhance performance, security and privacy for IoT services. Our proposal bridges the gap between cloud computing and IoT by applying a divide and conquer approach over the multi-level (cloud, edge and IoT) information pipeline. To validate the design of IoT edge ooading, we developed a unikernel-based prototype and evaluated the system under various hardware and network conditions. Our experimentation has shown promising results and revealed the limitation of existing IoT hardware and virtualization platforms, shedding light on future research of edge computing and IoT. 1 MOTIVATION Edge computing and Internet of ings (IoT) have become closely coupled in recent developments. IoT was initially conceived as extending the Internet with a new class of devices and use cases (e.g., constrained networks, personal devices). First architectures and frameworks introduced the notion of cloud-connected IoT de- ployments, with the assumption that most/all IoT edge networks need to be connected to the cloud, for example through some edge gateway and tunnel approach. However, latest research and real application/deployment exper- ience is challenging this slightly ossied model, because a strict dependency of cloud platform is not oen desirable when: a) edge networks create data that needs to be accessed and processed loc- ally, b) delay sensitivity does not allow for piping everything do the cloud and back, or c) the amount of data is too large to transfer to the cloud (in real-time) without causing congestion on backhaul. With the diusion of IoT networks and infrastructures, the risk of leaving behind and underestimating security threats is notable. is is a major concern when the information ows from IoT to the cloud is lled with highly sensitive information about end- users (e.g., Smart Health, Smart Grid). erefore, adding additional security layers outside the cloud infrastructure could help enforce a tighter control over the IoT ecosystem. Performance and multi- tenancy supports would also benet by adding intermediate units at the edge which possess local knowledge about the available physical resources. ereby, we can optimize and maximize performance without requiring the cloud to oversee the entire process. Eectively, IoT turns the traditional Internet trac (data is primar- ily pushed downstream from the cloud to the consumer devices, by leveraging CDN etc.) around in a way that data gets produced at the edges, is consumed at the edges and (at least partially) sent to cloud-based platforms. is change of trac model requires new FADES Cloud Application Logic Edge Offloading IoT Resources Edge Device Data Acquisition Figure 1: Edge Oloading infrastructure support: edge computing could be the platform for that. In this regard, edge computation ooading can help build this multi-level (cloud, edge and IoT) information pipeline. Edge ooad- ing, as shown in Figure 1, revisits the conventional cloud-based computation ooading where mobile devices resort to resourceful servers to handle heavy computation [2], to cater for the demands of IoT services. erefore, our approach is reversed: we promote a paradigm where computation is sent by the server to constrained devices at the edge to take advantage of data locality. e key is to understand what to ooad and this is strictly related to how the IoT is built. Edge ooading is the perfect recipe to close the gap between cloud and IoT by applying a divide and conquer approach. Regard- less of the back-end services, devices deployed at the edge of the network have to execute simple operation on data locally avail- able. erefore, by spliing a complex application into manifold simple and single-purpose tasks we can ship them in the shape of lightweight containers. Such approach is enabled by exploiting hardware resources via virtualization techniques. Virtualization and containerization technologies paved the way to eciently exploit resources for multi-tenant environments. How- ever, some of the existing technology is not applicable to IoT and dynamic scenarios. For example, ETSI MEC which is based on VMs and HTTP(S) trac interception could be too heavy-weight and coarse-granular. What IoT needs is a more exible, ne-grained, and modular platform. erefore, we advocate the utilization of even lighter solutions like unikernels [1][4] to help minimize as much as possible the transferred functionalities in order to, among other benets, harden the system security and resiliency. Our proposal is a modular system architecture designed to run compact, single purpose tasks on resource constrained edge devices. Instead of deploying full applications, our system aims at minimiz- ing the ooaded code to edge devices in order to reduce the aack surface and optimize available resources utilization. Given the existing work on computation ooading [2], our work dierentiates itself by accurately tailoring the ooaded code/tasks

Upload: others

Post on 26-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enabling Fine-Grained Edge Offloading for IoThome.in.tum.de/~ding/files/sigcomm-poster2017.pdf[1] Ketan Bhardwaj, Ming-Wei Shih, Pragya Agarwal, Ada Gavrilovska, Taesoo Kim, and Karsten

Enabling Fine-Grained Edge O�loading for IoTVi�orio Cozzolino

Technical University of MunichAaron Yi Ding

Technical University of Munich

Jorg O�Technical University of Munich

Dirk KutscherHuawei Technologies

ABSTRACTIn this paper wemake the case for IoT edge o�oading, which strivesto exploit the resources on edge computing devices by o�oading�ne-grained computation tasks from the cloud closer to the usersand data generators (i.e., IoT devices). �e key motive is to enhanceperformance, security and privacy for IoT services. Our proposalbridges the gap between cloud computing and IoT by applyinga divide and conquer approach over the multi-level (cloud, edgeand IoT) information pipeline. To validate the design of IoT edgeo�oading, we developed a unikernel-based prototype and evaluatedthe system under various hardware and network conditions. Ourexperimentation has shown promising results and revealed thelimitation of existing IoT hardware and virtualization platforms,shedding light on future research of edge computing and IoT.

1 MOTIVATIONEdge computing and Internet of �ings (IoT) have become closelycoupled in recent developments. IoT was initially conceived asextending the Internet with a new class of devices and use cases(e.g., constrained networks, personal devices). First architecturesand frameworks introduced the notion of cloud-connected IoT de-ployments, with the assumption that most/all IoT edge networksneed to be connected to the cloud, for example through some edgegateway and tunnel approach.

However, latest research and real application/deployment exper-ience is challenging this slightly ossi�ed model, because a strictdependency of cloud platform is not o�en desirable when: a) edgenetworks create data that needs to be accessed and processed loc-ally, b) delay sensitivity does not allow for piping everything dothe cloud and back, or c) the amount of data is too large to transferto the cloud (in real-time) without causing congestion on backhaul.

With the di�usion of IoT networks and infrastructures, the riskof leaving behind and underestimating security threats is notable.�is is a major concern when the information �ows from IoT tothe cloud is �lled with highly sensitive information about end-users (e.g., Smart Health, Smart Grid). �erefore, adding additionalsecurity layers outside the cloud infrastructure could help enforcea tighter control over the IoT ecosystem. Performance and multi-tenancy supports would also bene�t by adding intermediate units atthe edgewhich possess local knowledge about the available physicalresources. �ereby, we can optimize and maximize performancewithout requiring the cloud to oversee the entire process.

E�ectively, IoT turns the traditional Internet tra�c (data is primar-ily pushed downstream from the cloud to the consumer devices, byleveraging CDN etc.) around in a way that data gets produced atthe edges, is consumed at the edges and (at least partially) sent tocloud-based platforms. �is change of tra�c model requires new

FADES

Cloud

Application Logic

Edge O�oading

IoT ResourcesEdge Device

Data Acquisition

Figure 1: Edge O�loading

infrastructure support: edge computing could be the platform forthat. In this regard, edge computation o�oading can help build thismulti-level (cloud, edge and IoT) information pipeline. Edge o�oad-ing, as shown in Figure 1, revisits the conventional cloud-basedcomputation o�oading where mobile devices resort to resourcefulservers to handle heavy computation [2], to cater for the demandsof IoT services. �erefore, our approach is reversed: we promote aparadigm where computation is sent by the server to constraineddevices at the edge to take advantage of data locality. �e key is tounderstand what to o�oad and this is strictly related to how theIoT is built.

Edge o�oading is the perfect recipe to close the gap betweencloud and IoT by applying a divide and conquer approach. Regard-less of the back-end services, devices deployed at the edge of thenetwork have to execute simple operation on data locally avail-able. �erefore, by spli�ing a complex application into manifoldsimple and single-purpose tasks we can ship them in the shapeof lightweight containers. Such approach is enabled by exploitinghardware resources via virtualization techniques.

Virtualization and containerization technologies paved the wayto e�ciently exploit resources for multi-tenant environments. How-ever, some of the existing technology is not applicable to IoT anddynamic scenarios. For example, ETSI MEC which is based on VMsand HTTP(S) tra�c interception could be too heavy-weight andcoarse-granular. What IoT needs is a more �exible, �ne-grained,and modular platform. �erefore, we advocate the utilization ofeven lighter solutions like unikernels [1] [4] to help minimize asmuch as possible the transferred functionalities in order to, amongother bene�ts, harden the system security and resiliency.

Our proposal is a modular system architecture designed to runcompact, single purpose tasks on resource constrained edge devices.Instead of deploying full applications, our system aims at minimiz-ing the o�oaded code to edge devices in order to reduce the a�acksurface and optimize available resources utilization.

Given the existing work on computation o�oading [2], our workdi�erentiates itself by accurately tailoring the o�oaded code/tasks

Page 2: Enabling Fine-Grained Edge Offloading for IoThome.in.tum.de/~ding/files/sigcomm-poster2017.pdf[1] Ketan Bhardwaj, Ming-Wei Shih, Pragya Agarwal, Ada Gavrilovska, Taesoo Kim, and Karsten

Processed Data (Mb)0 1 2 3 4 5 6 7 8 9 10 11 12

Tim

e (s

)

0

5

10

15

20

25

30

35CubietruckIntel NUCDell PowerEdge

Data not available locally

Data locally available

(a) Data Locality

Cubietr

uck

Intel N

UC

Dell Pow

erEdge

Cubietr

uck

Intel N

UC

Dell Pow

erEdge

Cubietr

uck

Intel N

UC

Dell Pow

erEdge

Cubietr

uck

Intel N

UC

Dell Pow

erEdge

Tim

e (s

)

10-1

100

101

102Launch UnikernelEffective ComputationDRB-to-DMF Transmission OverheadData Acquisition Overhead

~1.5 Mb

~3.0 Mb

~6.0 Mb

~12.0 Mb

(b) System Performance

Max RAM Memory (Mb)32 64 128 256 512

Max

pro

cess

able

dat

a (K

b)

0

5000

10000

15000 ARMx86_64

(c) Data processing limits (memory)

in order to match the hardware constraints of the hosting device inIoT. Among other issues, we aim at solving the problem of multi-tenancy combined with resource utilization optimization.

2 TOWARD FINED-GRAINED EDGEOFFLOADING

As depicted in Figure 1, our design introduces an intermediateunit to enrich and augment the interaction between IoT resourcesand applications running in the cloud. �e IoT resources o�erphysical capabilities to interact with the environment and carryout dedicated tasks. �e back-end applications interact with oursystem by o�oading parts of their operation logic. In our design,we consider the cloud as a repository of deployment-ready tasksdesigned for di�erent IoT scenarios and purposes. For instance,the pollution control in smart cities is achieved by querying thepollution sensors, aggregating the information at the edge, andsending the �nal result to the cloud. In this regard, our systemresembles a middlebox and oversees groups of IoT devices basedon spatial proximity as Figure 1 indicates.

Our prototype is a unikernel-based system hosted by Xen hy-pervisor, which can be deployed across various IoT programmableboards. Our tool of choice is the MirageOS library operating system,which is speci�cally designed to build modular systems and runsnatively on Xen [3]. �e majority of functionalities and compon-ents are embedded into unikernels, and one orchestration moduleis developed in Python.

3 EXPERIMENTATION�e goal of our experimentation is to tackle the following questions:Q1. How much can edge deployed services bene�t from data local-ity? Q2. How does our system perform under di�erent workloads?Q3. How di�erent architectures (x86, ARM) a�ect the perform-ance of MirageOS? What are the unikernel PVM memory sizingrequirements in relation to the amount of data to be manipulated?

For our tests, we selected three di�erent devices: a Cubietruck,an Intel NUC and a Dell PowerEdge R520. We gleaned the data forthe tests from our Intel Edison IoT testbed. �e testbed is composedby 5 Intel Edison deployed in di�erent o�ce rooms on campus.Each board continuously collects environmental data through a setof sensors (humidity, temperature, light intensity, audio).

Figure 2a highlights how data locality can noticeably in�uencethe system performance. Whenever the cloud application has toretrieve information from the edge, no ma�er how powerful it is,

the amount of time required to fetch the data is much larger thano�oading the computation to the edge device.

Figure 2b shows a detailed breakdown of the execution timefor a task in our prototype. Four major factors add to the overallexecution time. �e factor of retrieving data from the edge onlya�ects the scenario where the Dell PowerEdge server has to retrievedata from a remote network. �e bars are grouped by amountof data to be processed. For example, the �rst group shows theperformance for each device type given a payload of 1.5Mb.

�e results of Figure 2a and 2b show that the presence of a su�-ciently powerful device at the edge of the network combined withdata locality makes edge o�oading the best choice. Particularly, theIntel NUC outperforms the Dell PowerEdge while the Cubietruck ishighly hindered by the overhead of intra-unikernel transmissions.

Figure 2c further shows the correlation between pre-allocatedRAM andmaximum amount of processable data. In our tests, we no-ticed that the device resources doesn’t a�ect the maximum amountof processable data. Hence, the graph presents a generic comparisonbetween ARM and x86.

4 DISCUSSION AND FUTUREWORK�e underlying idea of IoT edge o�oading is to bridge the gapbetween complex applications running in the cloud and simpleoperations running at the edge. It’s in this gap that we spot theopportunity to utilize lightweight virtualization e.g., unikernels, asan ideal vessel to ship single-purpose tasks for achieving modu-larity, �exibility and multi-tenancy. �e experimentation over ourprototype system has yielded useful insights for future research ofIoT. Our next steps include: 1) evaluate our system scalability whenrunning multiple o�oaded task simultaneously, 2) extend and testour prototype with an industry-driven use case and 3) develop aprogramming model matching our system design.

REFERENCES[1] Ketan Bhardwaj, Ming-Wei Shih, Pragya Agarwal, Ada Gavrilovska, Taesoo Kim,

and Karsten Schwan. 2016. Fast, scalable and secure onloading of edge functionsusing AirBox. In IEEE/ACM Symposium on Edge Computing (SEC). IEEE.

[2] Kumar et al. 2013. A survey of computation o�oading for mobile systems. MobileNetworks and Applications 18, 1 (2013), 129–140.

[3] Madhavapeddy et al. 2013. Unikernels: Library operating systems for the cloud.In ACM SIGPLAN Notices, Vol. 48. ACM.

[4] Madhavapeddy et al. 2015. Jitsu: Just-In-Time Summoning of Unikernels.. InProceedings of NSDI ’15.

2