Page 49 - Kaleidoscope Academic Conference Proceedings 2021
P. 49

of I/O virtualization.  In particular, the direction of the               Idle        10 requests
           arrows corresponds either to an input (a sensor) or output           CPU     RAM     CPU    RAM
           (an actuators).                                       Reverse proxy  ' 0%    1.1%    3.4%   1.1%
                                                                WS tunnel client  ' 0%  4.1%    4.2%   4.1%
                    6.  EXPERIMENTAL RESULTS                       Zun agent    ' 0%    9.7%    0%     9.7%
                                                                 Lightning-Rod  ' 0%    0.8%    0%     0.8%
           In the following section, a preliminary evaluation of the  Total     ' 0%   15.7%   7.6%   15.7%
           deviceless system is provided. In particular, we focus on
           the resource usage of the system on IoT nodes and the impact  Table 1 – The resources usage of the deviceless system on an
           of the new Zun networking driver we introduced. For that  IoT node
           purpose, we deployed the cloud side of the system (i.e.,
                                                                          Serverless   Deviceless   Deviceless
           IoTronic, Qinling, Zun) on a 10th gen i5 Intel-based late 2020  (Cloud-based)  (50 ms latency )  (100 ms latency)
           Macbook Pro. We mimic the IoT node using a VM hosted on  Execution  150 ms   419 ms       850 ms
           the same machine to have a fixed latency emulating a Wide  time
           Area Network (WAN) interconnection. Therefore, we can
           evaluate the impact of the networking driver we conceived.  Table 2 – Execution time comparison between serverless and
           In particular, we used the Linux Traffic Control (TC) with  deviceless
           queuing disciplines (qdisc) to set the latency between the
                                                              the request on the cloud as well as the delays to reach the
           cloud and the IoT node. The IoT node (i.e., VM) is configured
                                                              containers (either on the cloud for serverless or the network
           with one vCPU and 1GB of RAM.
                                                              edge for deviceless), execute the function and send back the
                                                              result. Of course, when talking about deviceless, we are
           In Table 1 we report the averaged CPU and RAM usage of
                                                              expecting higher delays due to network latency. This is what
           the deviceless system on the IoT node. In particular, we
                                                              we can see from Table 2. Executing a function on the cloud
           report the resource usage of all the processes involved on
                                                              requires only 150 ms. On the other hand, when the containers
           the node side (i.e., WebSocket tunnel client, Zun compute
                                                              are on the network edge, more delays are introduced. We
           agent, Lightning-Rod, and the reverse proxy).  We are
                                                              would like to mention that the delay added is not equal to the
           considering two scenarios, an idle mode, when all the
                                                              Round Trip Time (RTT): sending the request and receiving
           processes mentioned earlier are running but not executing
                                                              the result. In fact, if it were the case, we would expect a
           any task (during 10 minutes). The second scenario, instead,
                                                              value around 250 ms when the latency introduced by the
           is when the IoT node receives ten simultaneous functions’
                                                              network is equal to 50 ms (i.e., serverless execution time +
           execution requests (the table reports the results averaged over
                                                              RTT = 150 ms + 100 ms). However, since the new driver we
           20 runs).
                                                              are introducing uses a TCP-based Websocket tunnel, which
                                                              means a three-way TCP handshake (i.e., 1.5 RTT) plus the
           As we can notice from the table, when the IoT node is not
                                                              time required to send the execution request and receiving the
           receiving any execution request, the deviceless system does
                                                              result through the tunnel (i.e., 1 RTT), the delay increases
           not use any CPU resources. Regarding the RAM usage,
                                                              accordingly (see Table 2).
           the system uses precisely 15.7% of the 1 GB of memory
           available.  We mention that the RAM values for all the
           processes remained constant and equal to the values shown in  7.  CONCLUSION AND FUTURE WORKS
           the table during the 10 minutes. When the IoT node receives
           ten simultaneous execution requests, the CPU usage increase  This paper introduced our system for extending the serverless
           for both the LR reverse proxy (that routes the requests to the  paradigm to the network edge down to IoT devices.
           runtime) and the WS tunnel client (a WS tunnel is established  Specifically, the approach uses the serverless paradigm to
           between the cloud and the IoT node). Yet, both the Zun agent  interact with IoT resources such as sensors and actuators. As
           and LR do not impact the CPU usage as they are not involved  discussed, the proposed new approach, deviceless, exempts
           during functions’ execution (they are part of the control plane:  the IoT developers from managing the IoT infrastructure.
           creating runtimes and instantiating WS tunnels).   As future works related to the approach, we would like to
                                                              improve the performances in terms of the delay required
           To further evaluate the solution, we conducted another  to execute the functions. In particular, a solution that can
           experiment to assess the impact of the network latency on  be considered to decrease functions’ execution latency is
           the functions’ execution time. We specifically compared the  instantiating WebSocket tunnels more proactively.  Thus,
           execution time between a standard cloud-based serverless  anticipating demand for function execution requests with
           deployment and the deviceless approach that uses the new  predictive routines and keeping TCP sessions alive to
           WebSocket-based Zun networking driver. Table 2 reports the  avoid three-way handshakes for most functions’ invocations.
           results obtained when comparing serverless and deviceless  Besides, to overcome the cloud issues related to latency
           execution times (results averaged over 10 runs are reported).  and enhance the deviceless approach performances, another
           In the table, the execution time refers to the whole process  aspect to investigate is exploiting the proximity of the ETSI
           starting from sending the function’s execution request until  MEC distributed environment to orchestrate the serverless
           getting the result. This process includes the management of  functions’ at the edge [23]. Thus, a nearby MEC entity can



                                                          – xlv –
   44   45   46   47   48   49   50   51   52   53   54