Vous êtes sur la page 1sur 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/332760060

A study on container virtualization for guarantee quality of service in Cloud-


of-Things

Article  in  Future Generation Computer Systems · April 2019


DOI: 10.1016/j.future.2019.03.055

CITATIONS READS

0 35

6 authors, including:

Antonio Celesti Davide Mulfari


Università degli Studi di Messina Università degli Studi di Messina
152 PUBLICATIONS   1,443 CITATIONS    27 PUBLICATIONS   161 CITATIONS   

SEE PROFILE SEE PROFILE

Antonino Galletta Maria Fazio


Università degli Studi di Messina Università degli Studi di Messina
32 PUBLICATIONS   79 CITATIONS    132 PUBLICATIONS   1,137 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

VISION Cloud View project

CyberHealthcare View project

All content following this page was uploaded by Antonino Galletta on 13 May 2019.

The user has requested enhancement of the downloaded file.


Future Generation Computer Systems 99 (2019) 356–364

Contents lists available at ScienceDirect

Future Generation Computer Systems


journal homepage: www.elsevier.com/locate/fgcs

A study on container virtualization for guarantee quality of service in


Cloud-of-Things

Antonio Celesti , Davide Mulfari, Antonino Galletta, Maria Fazio, Lorenzo Carnevale,
Massimo Villari
Department of MIFT, University of Messina, Viale F. Stagno d’Alcontres, 31, 98166, Messina, Italy

highlights

• Nowadays, Cloud-of-Things (CoT) allows to move services from the Cloud to IoT.
• Container virtualization is a lightweight solution to guarantee QoS in IoT devices.
• A study on concurrent containarized microservices is performed.
• Experiments proves that the introduced overhead is acceptable.

article info a b s t r a c t

Article history: Internet of Things (IoT) Cloud is emerging as an innovative distributed system consisting of a set of
Received 20 October 2018 Single Board Computers (SBCs), smart phones and any other kind of smart devices interconnected
Received in revised form 17 March 2019 to a Cloud system through the Internet. It offers IoT as a Service (IoTaaS) consisting of one or more
Accepted 31 March 2019
micro-services deployed on smart devices. Typically, Cloud-of-Things (CoT) allows to move services
Available online 29 April 2019
from the Cloud to these IoT devices in real-time. In this context, the container virtualization is a
Keywords: lightweight solution that can be adopted in IoT devices, for enhancing service provisioning, setup, and
Cloud computing management of micro-services in order to guarantee Quality of Service (QoS). In this paper, we analyse
Internet of things the overhead introduced by container virtualization when multiple concurrent containarized micro-
Microservices services are executed in parallel within the same IoT device in order to optimize both virtual sensing
Virtualization and actuating resources. Experiments proves that the introduced overhead is acceptable considering
Container the obvious advantages brought by the adoption of container virtualization in terms of resources
partitioning.
© 2019 Elsevier B.V. All rights reserved.

1. Introduction private, public, or hybrid Cloud provider that integrates its system
with distributed Single Board Computers (SBCs), smart phones,
Currently, in the Internet of Things (IoT) scenario, Gartner and any other kind of smart device, in order to delivery besides
has estimated roughly 6.4 billion of embedded devices, the In- traditional Cloud Services (IaaS, PaaS, SaaS), also a new cutting-
ternational Data Corporation has estimated roughly 9 billion of edge service level, named IoT as a Service (IoTaaS) [2,3]. In this
embedded devices (excluding smart phones, tablets, and com- scientific work, we consider IoT and SBC devices as synonyms.
puters), whereas Information Handling Services (IHS) Markit has An IoTaaS can be a service deployed in one or more IoT devices
estimated roughly 17.6 billion of IoT devices (all types of IoT in a distributed fashion [4]. Cloud computing introduced new
devices included) connected over the Internet and these numbers concepts and paradigms, but resource virtualization is the most
are destined to dramatically grow up by 2020 [1]. important. One of major resource virtualization technique is the
In this context, the synergy among IoT and Cloud computing HyperVisor Virtualization (HVV) that needs a software module
solutions allows IT operators to offer their services in an innova- named Virtual Machine Monitor (VMM) able to provide the ab-
tive fashion. It represents a chance to increase vendors business straction of Virtual Machines (VMs). However, since IoT devices
thanks to the rising of IoT Clouds. We define an IoT Cloud a have limited hardware resources, the hypervisor virtualization is
not so applicable because it raises performance concerns. The Op-
∗ Corresponding author. erating System (OS) virtualization technology, also named Linux
E-mail addresses: acelesti@unime.it (A. Celesti), dmulfari@unime.it
Container Virtualization (LCV) represents a valid lightweight al-
(D. Mulfari), angalletta@unime.it (A. Galletta), mfazio@unime.it (M. Fazio), ternative to hypervisor virtualization. For this reason, and thanks
lcarnevale@unime.it (L. Carnevale), mvillari@unime.it (M. Villari). to recent technological advancements, more and more providers

https://doi.org/10.1016/j.future.2019.03.055
0167-739X/© 2019 Elsevier B.V. All rights reserved.
A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364 357

are looking at the container-based virtualization (or simply con- very high Quality of Service (QoS) is discussed in [14]. Specifically,
tainer virtualization) to manage their distributed systems. More- an approach that allows to dynamically allocate container-based
over, container virtualization better suits IoT devices in terms of resources offered by IoT and Edge computing devices is presented
performance with respect to hypervisor virtualization. In fact, LCV in [15].
is revolutionizing IoT Clouds [5] in terms of resource management Recent initiatives have also regarded the development of
because it allows to efficiently manage the virtual IoT capabilities pieces of framework and architectures aimed at the management
of IoT devices. of container-based IoT environments. A piece of framework for
Currently, for the best of our knowledge, no other scientific Cloud computing able to manage both real-time IoT data and
work analysing concurrent containarized micro-services running scientific non-IoT data is presented in [16]. In order to test Cloud
in the same IoT device has not been proposed so far. The objective services, an experimental study is performed considering the
of this paper is to fulfil such a gap in literature. In particular, Docker containers for providing SaaS in a hybrid Cloud environ-
considering the advantages in adopting virtualization techniques ment. In [17] a piece of IoT virtualization framework is presented.
in an hybrid IoT Cloud scenario in terms of IoTaaS provisioning, It is able to support connected object such as sensors, and to ex-
setup, and management, we specifically discuss how to setup pose them by means of web services. In order to address the issue
concurrent micro-services running in containers deployed in the of connectivity, it uses several adapters, one for each sensor. Fur-
same IoT device. In order to achieve this goal, we specifically dis- thermore, advanced semantic access policies were considered. A
cuss a hardware/software configuration consisting of a Raspberry container-based Edge Cloud PaaS architecture based on Raspberry
Pi B+and the Docker container engine. Pi clusters addressing Edge Cloud requirements such as cost-
We decided to consider in our study the Raspberry Pi B+device efficiency, low power consumption, and robustness is discussed
because it was one of the first IoT devices offering a stable in [7]. In [18], CIoud4IoT, a platform able to perform horizontal
support to LCV when other famous alternative SBC devices, such (roaming) and vertical (offloading) migration of IoT functions
as Arduino, did not and because it was demonstrated that the is presented. Virtualization functionalities are implemented by
overall overhead added by container virtualization in such a de- means of the Kubernetes container engine. CIoud4IoT is organized
vice is acceptable [6,7]. In order to investigate the performance of in three tiers: Cloud, Edge and IoT gateways. Another similar
concurrent containarized micro-services running in IoT devices, lightweight Edge Gateway-as-a-Service for IoT is discussed in [19]
we consider a scenario in which each Raspberry Pi B+device Container virtualization has been recently adopted even to
runs a Docker container engine, that executes, in turn, different easily deploy a distributed Software Defined Networking (SDN)
containers, each one running a specific Constrained Application test bed based Network Virtualization and Openflow technologies
Protocol (CoAP) server providing a particular service to users. aimed at IoT devices [20,21].
The reminder of this paper is structured as following. In Sec- In spite of more and more scientific works are appearing in
tion 2, we analyse related works. In Section 3, we present the literature focusing on virtualization in IoT, a study on concurrent
LCV, whereas the applicability of such a technology in IoT Cloud micro-services running in different containers deployed on the
scenarios is motivated in Section 4. In Section 5, we discuss how same IoT device is missing. The objective of this paper is to fulfil
to adopt the LCV in Raspberry Pi B+devices [8] by means of the such a gap.
Docker container engine. In Section 6, we analyse the perfor-
mances of the system in terms of response time. In particular, the 3. Overview on container based virtualization
overhead introduced by the container virtualization considering
several concurrent containarized COaP servers running in the Virtualization is on the basis of Cloud computing because
same IoT device. Conclusions and future works are summarized it allows virtualizing computing, storage, and networking de-
in Section 7. vices. Virtualization, by means of a specific software layer named
hypervisor, is able to provide several isolated execution envi-
2. Related work ronments named Virtual Machines (VM) [22] that can be easily
migrated from a Cloud to another [23]. Examples of hypervi-
The interest of both academic and industrial communities on sor Virtualization software solutions are KVM, Xen, WM-Ware,
container virtualization for IoT environments is proved by the Virtual Box, Virtual PC.
increasing number of initiatives that have been appearing in Recently, a lightweight alternative to HVV is the Linux Con-
literature. Nowadays, the container virtualization technology is tainer Virtualization (LCV). Such a technology partitions the re-
adopted in both independent and federated IoT Cloud scenar- sources of physical computer in multiple isolated user-space in-
ios [5,9,2,10]. stances [24]. Example of LCV software solutions includes include
Many scientific initiatives have demonstrated so far the ad- Docker, Kubernates, OpenVZ, Virtuozzo, etc.
vantages of using the container virtualization technologies in The main difference between HVV and LCV is that HVV pro-
IoT devices [11]. Specifically, in [6], a study performed on Rasp- vides abstraction for guest OSs, instead LCV shares the same
berry Pi devices, has shown that the overall overhead added by single OS kernel among containers [24]. In simple words, HVV
containers is acceptable. creates a hardware abstraction level, whereas LCV works by using
Container-based service allocation, deployment and orches- system calls. From the user’s point of view there is no differ-
ence between containers and VMs. Moreover, since LCV uses less
tration in IoT scenarios is another topic that was investigated
hardware capabilities than HVV it is possible to deploy a higher
recently. The design and implementation of a container-based
number of containers than VMs on the same physical host.
virtual client architecture for interactive digital signage systems
Containers can be used in two different modes:
is discussed in [12], by proposing a piece of middleware able
to manage virtual digital signage clients and IoT devices, to re- 1. Application Container: each container is specialized in
duce the server workload and to simplify the service deploy- order to run a specific application;
ment. Whereas, the deployment requirements of IoT gateways by
2. System Container: a user space runs into a container.
means of container virtualization is discussed in [13]. An Efficient
Auto-scaling Scheme (EAS) based con container vitualization that, LCV has a more flexible setup, configuration, optimization and
by means of the use of the Graphics Processing Unit (GPU) of nu- management of services.
merous distributed Personal Computers (PCs), is able to provide a A comparison among HVV and LCV is provided below.
358 A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364

Fig. 1. Example of IoT Cloud exploiting both HVV and LCV virtualization Fig. 2. Software architecture for container virtualization based on Docker
technologies. deployed on a Raspberry Pi B+board.

• Start-Up-Time. LCV is faster than HVV for the start-up abstraction layer that hides all the physical capabilities. Usually
phase; IoT Cloud providers adopt both paradigms, but in IoT devices only
LCV is used. IoT Clouds operators in order to dynamically provide
• Dynamic-Runtime Control. LCV allows starting or killing
services to their clients deploy in their infrastructure several
an application running within a container from the host
OS, whereas HVV typically requires virtual network/serial container and VMs. It allows operator to relocate, optimize, and
connections from the host OS. arrange its own virtual resources. Using this infrastructure, the
IoT Cloud operator is able to satisfy any service allocation request
• Speed. Only tests in a specific scenario can assess the latency coming from its clients.
and throughput overhead. Thanks to LCV applied to SBCs, assuming that each micro-
• Isolation. HVV provides a strong isolation contrarily to LCV. service runs inside a dedicated container (containarized micro-
service), IoT Clouds can perform different tasks including:
• Flash Memory Consumption. LCV allows sharing both OS • Deployment of Distributed IoTaaS. It is possible to ar-
kernel and other parts of the user’s space, whereas since range distributed IoTaaS integrating containers deployed on
HVV requires isolated VM images no sharing is possible.
different IoT devices;
• Dynamic Resource Assignment or Separation. Both solu- • IoTaaS Relocation and Optimization. In order to enforce
tions support such a feature.
load balancing strategies, an IoT Cloud can migrate a con-
• Direct Hardware Access. LCV, in opposite to HVV, requires tainer from an IoT device to another;
specific drivers in the host OS kernel in order to access • IoTaaS Consolidation. Considering location-aware IoTaaS
device’s peripherals.
built combining the containers installed in different IoT de-
From this analysis, we highlight that LCV wins against HVV. vices it is possible to enforce software consolidation strate-
gies according to a particular application logic.
4. Management of resource in IoT-Cloud
This brings new business opportunities for IoT Cloud providers in
terms of cost-effective assets relocation and optimization, power
IoT Cloud providers are able to provide their services using
saving, and on-demand resources provisioning.
both the HVV and LCV paradigms. IoT devices, that executes
customized software, are connected to a Cloud platform able to
5. How to setup LVC in Linux-based SBC
manage heterogeneous sensing data coming from several sensors.
Commonly, an IoT device, due to its limited computation capac-
In this Section, we discuss how to adopt the LCV in Linux-
ity, runs minimal applications specific for sensing and actuating.
Instead, a Cloud datacenter runs massive computation tasks such based SBCs. In particular, we focus on a SBC architecture based
as storage and processing of gathered sensing data. on a Raspberry Pi B+model running the Docker container en-
As discussed in Section 2, several initiatives have considered gine. In LCV, the virtualization layer acts as an application on
applications deployed through LCV in IoT devices, in order to take top of the OS. According to this approach, the host OS kernel
the advantages of both HVV and LCV. Fig. 1 shows an example can run several isolated guest virtual environments called con-
of IoT Cloud exploiting both HVV and LCV technologies. The IoT tainers. Typically, the Linux OS kernel works with a suitable
Cloud system is responsible for: virtualization layer that allows to directly run virtual execution
environments offering near native performances and eliminating
1. instantiation; the overhead introduced by the hypervisor mediation. In such a
2. guaranteeing reliability, QoS, security and scalability; context, the container engine is a piece of software responsible
to automate the instantiation, management, and execution of any
3. management and optimization of IoTaaS.
containarized application. Fig. 2 shows the system architecture.
Moreover, due to LCV capabilities applied in IoT devices, it is In our system, we adopted the Raspberry Pi B+model as IoT
possible to deploy IoTaaS in several distributed containers. device. It presents several advantages with respect to a generic
The acquisition of data coming from IoT devices is uniformed computer. The most important is the presence of the GPIO ports,
and stored in the Cloud platform that is also able to trigger that allow it to manage connected sensors and actuators. We re-
actuators connected to IoT devices. HVV and LCV introduce an mark that as external sensor or actuator we can connect buttons,
A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364 359

relays, LEDs, motors, switches, temperature sensors, proximity into a container using Docker we used the command shown in the
sensors, etc. [25]. Usually Raspberry Pi is typically equipped with Listing 1.
a Linux OS. In our work we adopted Raspbian that by means of
LXC modules allows to run several containers [26]. As shown in
docker run −t − i −−net= " host " −p 7777:7777
Fig. 2, applications are deployed on the top of Raspbian OS.
shop / coapserver python serverm . py 7777
In this work, as enabling technology for the deployment of
containers we adopted Docker. An important feature of Docker Listing 1: Command to start a Docker container with a CoAP
is the presence of Docker Hub, that allows users to share ap- server.
plications and automating workflows. Considering Fig. 2 micro-
services can be deployed inside different containers managed by
The docker run command runs a command in a new container,
Docker. This allows IoT-Cloud operators to quickly deliver and run
option -t allocates a pseudo-TTY, option -i keeps STDIN open even
a particular type of micro-services on different IoT devices. Con-
if not attached, option –net connects the container to a network,
tainer virtualization in IoT enables users to deploy a distributed
option -p 7777:7777 maps the TCP port 7777 of the container with
IoTaaS on several IoT Cloud providers as well as in traditional In- port 7777 of the Docker host, shop/coapserver python serverm.py
frastructure as a Service (IaaS) Cloud providers [27]. Fig. 3 shows is the python implementation of the COAP server, 7777 is the
a sample scenario including several distributed IoTaaS instances port on which the python COAP server has to run. Port numbers
composed of different micro-services running in containers and changes for each containarized COAP server.
deployed on IoT Cloud A, B and N. In order to consider reliable time performances we executed
experiment 30 subsequent times and considered mean values
6. Performance analysis with 95% confidence intervals. In particular, we setup 4 different
configurations:
In this Section, we analyse the overhead of concurrent contain-
ers running in an IoT device considering a real hardware/software • No Container. In this configuration, we ran a single CoAP
configuration including a Raspberry Pi B+device running Docker server on the OS;
as container engine. In particular, our objective is not to analyse • 1 Container. In this configuration, we ran a single CoAP
the behaviour ‘‘behind the scenes’’ of Docker when concurrent server on a container;
containers are executed, but to test the behaviour of the sys-
• 2 Concurrent Containers. In this configuration, we ran two
tem in a real a well-known IoT scenario. Specifically, in this
different CoAP servers on two different containers named A
preliminary study we focus on the usability of a Raspberry Pi
and B;
B+device, in terms of response time, running different concurrent
containarized instances of the same service, i.e., CoAP. Further • 3 Concurrent Containers. In this configuration, we ran
considerations regarding CPU, memory and network resources three different CoAP servers on three different containers
usage are remanded to future works. We remark, that currently, named A, B and C;
for the best of our knowledge, other scientific works analysing We also tested a 4 Concurrent Containers configuration, but since
concurrent micro-services running within containers deployed we experienced that it did not provide acceptable response times
on the same IoT device do not exists, and since this is the first because the performance of Raspberry Pi B+degraded sharply,
scientific work focusing on such an aspect, it was not possible we preferred to not report it, assuming that for our experiment
to compare it with other similar existing solutions. In partic- the 3 Concurrent Containers configuration is limit that the IoT
ular, we considered the mean response times of txThings, a device can tolerate. In each configuration, we sent from 1 to 12
CoAP server implementations, acting as micro-services, running presence requests in parallel at the same moment. In particular,
within a Docker container. Our testbed consists of two separate considering the ‘‘No Container’’ and ‘‘1 Container’’ configurations,
Raspberry Pi B+devices with the following hardware/software we respectively sent 12 COaP requests each one. As far as ‘‘2
configuration: Concurrent Containers’’ configuration, we sent 6 CoAP requests
• CPU: Broadcom BCM2835 @ 700 MHz; respectively to container A and B in parallel. In the end, consider-
ing the ‘‘3 Concurrent Containers’’ configuration, we sent 4 CoAP
• RAM: 512 MiB; requests respectively to container A, B, and C in parallel.
• Storage: 16 GB SDHC card; Table 1 shows the average, standard deviation, and 95% confi-
• OS: Raspbian Linux OS — 3.18.8 kernel version. dence interval values obtained considering the response times of
the CoAP server according to No Container and 1 Container con-
The first device acts as server and runs several containers at figurations. In this regard, the chart of Fig. 4 compares the average
the same time. Each container, in turn, runs a CoAP server on a response time of the CoAP server according to No Container and
specific TCP port aimed at a particular target of users. For exam- 1 Container configurations, highlighting the constant overhead
ple, considering a shop in a smart mall scenario, a micro-service introduced by the container virtualization. For 1 request sent to
can be used for the efficient management of energy consumption the CoAP server directly running on Raspian OS (No Container) we
of light appliances that can turned on/off when customers enter observe roughly 27,900 ms response time, whereas considering 1
or leave a shop; a second micro-service can send advertisement to request sent the CoAP server running on the Docker container we
customers that pass close to a shop; a micro-service can provide got 49,500 ms response time with a gap of roughly 21,600 ms.
generic information and so on. The second device acts as CoAP The response time increases quite constantly, observing for 12
client. Several CoAP clients send HTTP GET requests to the same requests roughly 221,266 ms in the No Container configuration
CoAP server that sends back ACK messages as reply. Client and against roughly 497,866 ms in the 1 Container configuration.
server are interconnected by means of a gigabit network. In our Fig. 5 shows the overhead introduced by 1 Container configu-
test, we calculated the time needed to manage a request from ration with respect to No Container configuration. Specifically,
the client. In particular, we calculated this time expressed in such an overheard also includes the latency introduced by a single
milliseconds (ms) as the difference between the instant when the physical network interface that acts as a bottleneck for network
client receives the ACK message and the instant when it sends a traffic. For 1 request we observe an overhead of 21,6 ms. The
HTTP GET request to a CoAP server. In order to start a CoAP server overhead increases quite constantly, observing 276,6 ms for 12
360 A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364

Fig. 3. Example of distributed IoTaaS scenario enabled by container virtualization. Several IoTaaS instances includes different micro-services running in containers
deployed in IoT devices belonging to different IoT Clouds.

Fig. 4. Response time of a CoAP server directly deployed on the Raspian OS (No Fig. 5. 1 Container configuration overheard.
Container configuration) v.s. a CoAP server deployed on a Docker container (1
Container configuration).

requests. We can conclude that the overhead of LCV is minimum


Table 1
Response time of a CoAP server directly deployed on the Raspian OS (No
with respect to the processing time of CoAP servers. This high-
Container Configuration) vs. 1 CoAP server deployed in a Docker container (1 lights that the overhead introduced by 1 Docker container engine
Container Configuration). is acceptable considering Raspberry Pi B+devices.
No Container Container Table 2 shows the average, standard deviation, and 95% con-
Req. Avg [ms] STDev Conf 95% Avg [ms] STDev Conf 95% fidence interval values obtained considering the response times
1 27,900 3,033 1,085 49,500 5,495 1,966
obtained by two concurrent CoAP servers respectively deployed
2 36,200 10,672 3,819 71,300 20,876 7,470 in Docker container A and B (2 Concurrent Containers configura-
3 42,600 16,260 5,818 93,367 35,108 12,563 tion).
4 54,167 21,469 7,682 132,467 39,448 14,116 In particular, the system is able to satisfy 2, 4, 6, 8, 10, and
5 71,567 25,168 9,006 169,500 42,318 15,143 12 client’s requests in parallel. More specifically considering 2
6 89,867 28,299 10,126 210,933 40,075 14,340
7 108,767 32,531 11,641 253,933 45,631 16,329
client’s requests, one is managed by the CoAP server on Container
8 131,700 34,752 12,436 300,400 47,818 17,111 A and one by the CoAP server on Container B, and so on. Fig. 6
9 153,467 37,095 13,274 348,833 51,811 18,540 shows a histogram comparing the CoAP response times consid-
10 176,167 38,226 13,679 396,600 52,926 18,939 ering No Container, 1 Container and 2 Concurrent Containers
11 197,467 38,066 13,621 447,467 54,089 19,355 configurations.
12 221,267 39,674 14,197 497,867 53,843 19,267
Considering the latter, since the two CoAP servers run in
parallel container A and B, the response time is given by the
slowest CoAP server. In particular, the response time considering
the two configurations is very similar and from 10 requests on
A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364 361

Table 2
Response time of 2 CoaP servers respectively deployed on 2 different Docker
containers (2 Concurrent Containers) receiving client’requests in parallel.
Container A Container B
Req. Avg [ms] STDev Conf 95% Avg [ms] STDev Conf 95%
2 52,133 14,943 5,347 84,733 19,375 6,933
4 98,900 41,081 14,700 149,600 47,147 16,871
6 164,400 54,298 19,430 225,367 67,290 24,079
8 248,867 56,509 20,221 316,967 69,724 24,950
10 333,833 63,670 22,784 400,200 68,013 24,338
12 419,800 61,874 22,141 460,767 64,997 23,258

Fig. 8. Response time of a CoAP server directly deployed on the Raspian OS (‘‘No
Container configuration’’) v.s. a CoAP server deployed on a Docker container
(‘‘1 Container’’ configuration) v.s. 3 CoAP servers deployed on three Docker
containers (‘‘3 Containers’’ configuration.

Fig. 6. Response time of a CoAP server directly deployed on the Raspian OS (No
Container configuration) v.s. a CoAP server deployed on a Docker container (1
Container configuration) v.s. 2 CoAP servers deployed on two Docker containers
(2 Concurrent Containers configuration.

Fig. 9. 1 Container configuration overhead v.s. 3 Concurrent Containers


configuration overheard.

(1 Container) by the CoAP servers running on three different


Docker containers and satisfying client’s requests in parallel (3
Concurrent Containers configuration). In particular, the system
according to 3 Concurrent Containers is able to satisfy 3, 6, 9 and
12 client’s requests in parallel. More specifically considering 3
client’s requests, one is managed by the CoAP server on Container
A, one by the CoAP server on Container B, and one by the CoAP
Fig. 7. 1 Container configuration overhead v.s. 2 Concurrent Containers server on Container C and so on. We can observe a similar trend
configuration overheard. comparing 1 Container with 3 Concurrent Containers configura-
tions as shown in the histogram depicted in Fig. 8, considering 3,
6, 9, and 12 requests. Here, in 2 Concurrent Containers configu-
(5 to Container A and 5 to Container B), the time to satisfy ration, we consider 3 parallel CoAP servers respectively running
all the 10 requests, that is roughly 400,200 ms is slightly less on Containers A, B, and C and the response time is given by
than the one obtained in 1 Container that is roughly 396,600 ms the slowest one. Even here we can observe a similar trend, and
proving the advantages of the parallel processing. Fig. 7 shows the for 12 requests, 2 Concurrent Containers (taking 459,733 ms) is
overhead introduced respectively by 1 container and 2 Concur- slightly faster than 1 Container (taking 497,867 ms) including
rent Containers configurations with respect to the No Container a single CoAP server running in a Container. Fig. 9 shows the
configuration. Specifically, such an overheard also includes the
overhead introduced respectively by 1 Container and 3 Concur-
latency introduced by a single physical network interface that
rent Containers configurations with respect to the No Container
acts as a bottleneck for network traffic. For 2 requests, we ob-
configuration. Specifically, such an overheard also includes the
serve an overhead values in terms of response time of roughly
latency introduced by a single physical network interface that
35,1 ms and 48,533 ms respectively for 1 Container and 2 Con-
current Containers configurations. The overhead increases quite acts as a bottleneck for network traffic. For 3 requests, we observe
constantly, and for 12 requests we surprisingly observe that it an overhead values in terms of response time of roughly 50,76 ms
is even less in the 3 Concurrent Container configuration with and 80,86 ms respectively for 1 Container and 3 Concurrent Con-
roughly 239,5 ms compared with 276,6 ms obtained in the 1 tainers configurations. The overhead increases quite constantly,
Container configuration. and for 12 requests, also here, we surprisingly observe that it
Table 3 shows the average, standard deviation, and 95% con- is even less in the 3 Concurrent Container configuration with
fidence interval values obtained considering the response times roughly 236,46 ms compared with 276,6 ms obtained in the 1
obtained by the CoAP server deployed on a Docker container Container configuration.
362 A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364

Table 3
Response time of 3 CoaP servers respectively deployed on three different Docker containers (3 Concurrent Container
configuration) receiving clients’ requests in parallel.
Container A Container B Container C
Req. Avg [ms] STDev Conf 95% Avg [ms] STDev Conf 95% Avg [ms] STDev Conf 95%
3 70,567 39,618 14,177 108,233 32,848 11,754 123,467 30,669 10,975
6 165,467 78,534 28,103 219,900 70,919 25,377 247,367 48,891 17,495
9 276,833 99,144 35,478 349,267 90,481 32,378 377,100 63,071 22,569
12 399,800 107,513 38,472 453,600 87,155 31,187 459,733 54,597 19,537

additional acceptable overhead introduced by LCV. This proves


that the LCV technology, implemented by means of the Docker
container engine is a good solution for the provisioning, setup,
and management of complex IoTaaS in future IoT scenarios.

7. Conclusion

LCV is a lightweight alternative to HVV that can be used in IoT


devices for improving the IoTaaS provisioning, setup, and man-
agement. Considering different application scenarios, LCV allows
IoT Cloud providers to deploy, in a flexible fashion, micro-services
in SBCs. In this paper, we studied the overhead by concurrent
containers running in the same IoT device in terms of response
time. In order to achieve such a goal we specifically considered
Fig. 10. Comparison among 1 Container, 2 Concurrent Containers and 3
on a Raspberry Pi B+device running the Docker container engine
Concurrent Containers configurations response times considering 12 COaP
requests. managing several concurrent CoAP servers deployed in dedicated
containers. From our experiments we highlighted that, increasing
the number of concurrent containers, the overhead introduced
by LCV is acceptable up to 3 parallel containarized CoAP servers.
This allowed us to underline the obvious advantages of the LCV
utilization in emerging IoT Cloud scenarios.
In future works we aim at investigating in detail aspects re-
lated to CPU, memory and networks usage regarding concurrent
containers on the same IoT device in order to develop deploy-
ment orchestration strategies for IoTaaS. Moreover, we also plan
to study deployment orchestration of distributed IoTaaS includ-
ing several interconnected containarized micro-services each one
running on different IoT devices spread over the Internet (such
as in case of global IoTaaS) or over the Intranet (such as in the
case of an IoTaaS acting in a smart city [28]). In the end, since
security is one of the main challenges regarding a distributed
Fig. 11. Comparison among 1 Container, 2 Concurrent Containers and 3
Concurrent Containers configurations overheads considering 12 COaP requests.
system including several IoT devices [29,30] installed in different
places of a smart city, we plan to investigate security consid-
ering containarized IoTaaS deployment orchestration based on
Blockchain technology.
Instead, considering 4 concurrent containers, we notice a dras-
tic performance degradation that makes the Raspberry Pi B+not Declaration of competing interest
useable.
In the end, the histogram depicted in Fig. 10 summarizes There is no conflict of interest for this article.
the response times of No Container, 1 Container, 2 Concurrent
containers, and 3 Concurrent containers configurations consid- References
ering 12 requests. We can observe that increasing the number
of concurrent containers there is not a performance degrada- [1] A. Nordrum, Popular Internet of Things Forecast of 50 Billion Devices
tion. On the contrary, how it is shown in Fig. 11, increasing the by 2020 Is Outdated. IEEE Spectrum, http://spectrum.ieee.org/tech-
talk/telecom/internet/popular-internet-of-things-forecast-of-50-billion-
number of containers, we improve the overhead, in fact, for 1 devices-by-2020-is-outdated. Posted 18 Aug 2016.
Container, 2 Concurrent Containers and 3 Concurrent Containers [2] A. Celesti, M. Fazio, M. Giacobbe, A. Puliafito, M. Villari, Characteriz-
it is respectively 276,6 ms, 239,6 ms and 238,46 ms. ing Cloud Federation in IoT, in: 2016 30th International Conference on
Advanced Information Networking and Applications Workshops, WAINA,
From such experiments, we can deduct that by increasing the
2016, pp. 93–98.
number of concurrent containers until 3, we roughly maintain the [3] G. Fortino, D. Parisi, V. Pirrone, G.D. Fatta, Bodycloud: A SaaS approach for
same performance, but we can have the advantage to manage in community body sensor networks, Future Gener. Comput. Syst. 35 (2014)
a more flexible fashion the deployment of micro-services within 62–79.
[4] B. Chen, J. Wan, A. Celesti, D. Li, H. Abbas, Q. Zhang, Edge computing in
Raspberry Pi B+IoT devices. Apart from the advantage in manag- IoT-based manufacturing, IEEE Commun. Mag. 56 (9) (2018) 103–109.
ing micro-services inside the same IoT device, this enables also [5] A. Celesti, D. Mulfari, M. Fazio, M. Villari, A. Puliafito, Exploring container
the easy setup of distributed IoTaaS. virtualization in IoT clouds, in: 2016 IEEE International Conference on
Smart Computing, SMARTCOMP, 2016, pp. 1–6.
In conclusion, we can state that containers introduce an over-
[6] R. Morabito, A performance evaluation of container technologies on
head in all configurations. But comparing the performance of Internet of Things devices, in: 2016 IEEE Conference on Computer
1 Container with 2 and 3 Concurrent Containers there is an Communications Workshops, INFOCOM WKSHPS, 2016, pp. 999–1000.
A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364 363

[7] C. Pahl, S. Helmer, L. Miori, J. Sanin, B. Lee, A container-based edge [30] I. Mohiuddin, A. Almogren, M.A. Qurishi, M.M. Hassan, I.A. Rassan, G.
cloud PaaS architecture based on Raspberry Pi clusters, in: 2016 IEEE Fortino, Secure distributed adaptive bin packing algorithm for cloud
4th International Conference on Future Internet of Things and Cloud storage, Future Gener. Comput. Syst. 90 (2019) 307–316.
Workshops, FiCloudW, 2016, pp. 117–124.
[8] M. Maksimović, V. Vujović, N. Davidović, V. Milošević, B. Perišić, Raspberry
Pi as internet of things hardware: Performances and constraints, design Dr. Antonio Celesti received the PhD in ‘‘Advanced
issues 3 (2014) 8. Technology for Information Engineering’’ in 2012 at the
[9] M.M. Hassan, M.A. Al-Wadud, G. Fortino, A socially optimal resource and University of Messina (Italy). From 2008 e is one of
revenue sharing mechanism in cloud federations, in: 2015 IEEE 19th the members of the Mobile and Distributed Systems
International Conference on Computer Supported Cooperative Work in Laboratory (MDSLab) in Messina. He worked as collabo-
Design, CSCWD, 2015, pp. 620–625.
rator in several International projects including EU FP7
[10] M. Giacobbe, A. Celesti, M. Fazio, M. Villari, A. Puliafito, A sustainable
RESERVOIR, EU FP7 VISION CLOUD, EU FP7 frontierCi-
energy-aware resource management strategy for IoT Cloud federation, in:
ties and EU Horizon 2020 BEACON. From December
1st IEEE International Symposium on Systems Engineering, ISSE 2015 —
2015 is technical-scientific fellow at the Scientific Re-
Proceedings, 2015, pp. 170–175.
[11] R. Morabito, Virtualization on Internet of Things edge devices with search Organizative Unit, University of Messina. He is
container technologies: A performance evaluation, IEEE Access 5 (2017) currently Adjunct Professor of Electronic and Computer
8835–8850. Science Bioengineering and database II. His main research interests includes
[12] Y. Park, H. Yang, T. Dinh, Y. Kim, Design and implementation of a distributed systems, Cloud computing and IoT service federation and security.
container-based virtual client architecture for interactive digital signage
systems, Int. J. Distrib. Sens. Netw. 13 (7) (2017).
[13] A. Krylovskiy, Internet of Things gateways meet Linux containers: Per- Davide Mulfari is assistant researcher at the research
formance evaluation and discussion, in: 2015 IEEE 2nd World Forum on University of Messina and member of the Multimedia
Internet of Things, WF-IoT, 2015, pp. 222–227. Distributed System Laboratory (MDSLAB). He won the
[14] Efficient auto-scaling scheme for rapid storage service using many-core of
Google Europe Scholarship for Students with Disabil-
desktop storage virtualization based on IoT, Neurocomputing 209 (2016)
ities in 2012. From 2013 he works on the Project
67–74.
‘‘Design and Implementation of a Community Cloud
[15] T. Renner, M. Meldau, A. Kliem, Towards container-based resource man-
agement for the Internet of Things, in: 2016 International Conference on Platform aimed at SaaS services for on-demand Assis-
Software Networking, ICSN, 2016, pp. 1–5, http://dx.doi.org/10.1109/ICSN. tive Technology’’. His main research activities include
2016.7501933. assistive technology, cloud computing and human–
[16] Design and implementation of a novel service management framework for computer interaction. He especially works on the
IoT devices in cloud, J. Syst. Softw. 119 (2016) 149–161. impact of cloud computing technology on the usage of
[17] S. Alam, M. Chowdhury, J. Noll, SenaaS: An event-driven sensor virtual- assistive software.
ization approach for Internet of Things cloud, in: Networked Embedded
Systems for Enterprise Applications, NESEA, 2010 IEEE International
Conference on, 2010, pp. 1–6. Eng. Antonino Galletta graduated in 2016 at the
[18] C. Dupont, R. Giaffreda, L. Capra, Edge computing in IoT context: Horizontal
University of Messina. Currently, he is attending a
and vertical Linux container migration, in: 2017 Global Internet of Things
Ph.D course in Distributed Systems at the University
Summit, GIoTS, 2017, pp. 1–4.
of Messina. He worked at University of Messina as
[19] R. Morabito, R. Petrolo, V. Loscri, N. Mitton, Enabling a lightweight Edge
software developer for three years. His main activi-
Gateway-as-a-Service for the Internet of Things, in: 2016 7th International
Conference on the Network of the Future, NOF 2016, 2017. ties focus on Cloud technology development, especially
[20] Developing a distributed software defined networking testbed for IoT, with regard to Big Data, MongoDB, Smart Sensing. He
Procedia Comput. Sci. 83 (2016) 680–684, The 7th International Conference is also working as consultant for the development of
on Ambient Systems, Networks and Technologies (ANT 2016) / The 6th solutions based on the FIWARE technologies.
International Conference on Sustainable Energy Information Technology
(SEIT-2016) / Affiliated Workshops.
[21] A. Buzachis, A. Galletta, L. Carnevale, A. Celesti, M. Fazio, M. Villari, Towards
osmotic computing: Analyzing overlay network solutions to optimize
the deployment of container-based microservices in fog, edge and IoT Maria Fazio has been involved in many national and
environments, in: 2018 IEEE 2nd International Conference on Fog and Edge international projects, including the EU FP7 CloudWave
Computing, ICFEC 2018 — In conjunction with 18th IEEE/ACM International Project (2013–2016) and EU Horizon 2020 BEACON
Symposium on Cluster, Cloud and Grid Computing, IEEE/ACM CCGrid 2018, (2015-17). She is Co-Editor-In-Chief of the EAI En-
2018, pp. 1–10. dorsed Transactions on Cloud Systems, and member of
[22] D. Mulfari, A. Celesti, M. Villari, A. Puliafito, How cloud computing can the Editorial Board of international journals (e.g., the
support on-demand assistive services, in: W4A 2013 — International International Journal of Business Data Communications
Cross-Disciplinary Conference on Web Accessibility, 2013. and Networking (IGI Publishing) and the EAI Endorsed
[23] M. Giacobbe, A. Celesti, M. Fazio, M. Villari, A. Puliafito, An approach to Transactions on Smart Cities). She has been also editor
reduce carbon dioxide emissions through virtual machine migrations in of Special Issues in international journals (e.g., IGI
a sustainable cloud federation, in: 2015 Sustainable Internet and ICT for Global-IJDST, IGI Global-IJBDCN, Scalable Computing:
Sustainability, SustainIT 2015, 2015. Practise and Experience). She acted as chair and organizer in international
[24] M. Xavier, M. Neves, F. Rossi, T. Ferreto, T. Lange, C. De Rose, Performance conferences and workshops (e.g., IEEE-ISCC, EAI-CN4IoT, IFIP-ESOCC,...). Her main
evaluation of container-based virtualization for high performance comput- research interests include distributed systems and wireless communications,
ing environments, in: Parallel, Distributed and Network-Based Processing, especially with regard to the design and development of Cloud solutions for
PDP, 2013 21st Euromicro International Conference on, 2013, pp. 233–240,
IoT services and applications.
http://dx.doi.org/10.1109/PDP.2013.41.
[25] M. Richardson, S. Wallace, Getting Started with Raspberry Pi, O’Reilly
Media, Inc., 2012.
[26] N. Memari, S.J.B. Hashim, K.B. Samsudin, Towards virtual honeynet based Eng. Lorenzo Carnevale received the master degree
on LXC virtualization, in: Region 10 Symposium, 2014 IEEE, 2014, pp. in Engineering and Computer Science from University
496–501. of Messina, Italy, in 2016. From 2015 to 2016, he
[27] M. Samaniego, R. Deters, Using blockchain to push software-defined collaborated with IoT companies and associations in
IoT components onto edge hosts, in: Proceedings of the International order to design and develop IoT applications for smart
Conference on Big Data and Advanced Wireless Technologies, BDAW ’16, home. In the late 2016, he was member of the technical
ACM, New York, NY, USA, 2016, pp. 58:1–58:9. coaches group of the frontierCities initiative, maturing
[28] A. Enayet, M.A. Razzaque, M.M. Hassan, A. Alamri, G. Fortino, A mobility- the experience about FIWARE technologies and EU
aware optimal resource allocation architecture for big data task execution projects. Currently, he is attending a Ph.D. course in
on mobile cloud in smart cities, IEEE Commun. Mag. 56 (2) (2018) Distributed Systems, at the University of Messina, with
110–117.
specialization in Serverless and Big Data technologies,
[29] L. Barreto, A. Celesti, M. Villari, M. Fazio, A. Puliafito, An authentication
focusing the activities on eHealth and Smart City domains.
model for IoT clouds, in: Proceedings of the 2015 IEEE/ACM International
Conference on Advances in Social Networks Analysis and Mining, ASONAM
2015, 2015, pp. 1032–1035.
364 A. Celesti, D. Mulfari, A. Galletta et al. / Future Generation Computer Systems 99 (2019) 356–364

Prof. Massimo Villari is Associate Professor in Com- Computing (Cloud Federation), Distributed Systems, Wireless Network, Network
puter Engineering at University of Messina (Italy). He Security, Cloud Security and Cloud and IoTs. He was General Chair of ESOCC
is actively working as IT Security and Distributed Sys- 2015 and IEEE-ISCC 2016. Since 2011 he is a Fellow of IARIA, recognized as a
tems Analyst in Cloud Computing, virtualization and Cloud Computing Expert, and since 2011 he is also involved in the activities of
Storage. For the EU Projects ‘‘RESERVOIR’’ he leaded the FIArch, the EU Working Group on Future Internet Architecture. In 2014 was
the IT security activities of the whole project. For the recognized by an independent assessment (IEEE Cloud Computing Transaction,
EU Project ‘‘VISION-CLOUD’’, he covered the role of Issue April 2014) as one of World-Wide active scientific researchers, top 27
architectural designer for UniME. He is currently Sci- classification, in Cloud Computing Area. He is General Chair of EAI-CN4IoT.
entific ICT Responsible in the EU Project frontierCities, He is Editor In Chief of EAI Endorsed Transactions on Smart Cities. Currently
the Accelerator of FIWARE on Smart Cities — Smart he is Scientific Responsible for UniME-IRCCSME Cloud initiative in eHealth:
Mobility. He is strongly involved in EU Future Internet http://healthycloud.irccsme.it/
initiatives, specifically Cloud Computing and Security in Distributed Systems.
He is co-author of more of 130 scientific publications and patents in Cloud

View publication stats

Vous aimerez peut-être aussi