This page includes more information on the service-based IoT applications used in the paper “Resource Management for Edge Computing Services” as well as the evaluation results.

Technical Framework Overview

The figure below provides an overview of our approach to deploy service-based IoT applications on resource-constrained devices. At design time, the application developer defines the following: (i) the application model, (ii) the application's task and their resource requirements, and (iii) the application Service Level Agreement (SLA). Once the application is ready and the system is operational, the application may be deployed without requiring any prior knowledge of the current network topology at runtime.

Decentralized Resource Allocation: Overview.

Service-based IoT Applications

A service-based IoT applications is composed of multiple interconnected tasks (i.e., a stateful microservices or stateless functions) defined by special resource requirements; requirements that must be satisfied upon deployment. Besides the computational resources like memory, storage, and computational power, a task may require special resources such as data and specific hardware (i.e., sensors, actuators).

We use five different service-based IoT applications, of different sizes, to evaluate both applicability and performance of our proposed resource allocation technical framework.

For the applicability evaluation, we have chosen four applications: (i) intelligence surveillance application, (ii) a face recognition application, (iii) an antivirus application, and (iv) a team-building application. For each, we create a DAG graph where vertices represent tasks while edges show the dependencies between them. Each task is defined by its resource requirements and its dependencies, while the application is defined by the assigned SLA.

For the performance evaluation, we adopt montage, a real-world DAG workflow composed of 24 task and 50 edges. For this evaluation, we have decided to give a high SLA for the application to accurately measure the performance.

The following archive contains all five applications.

Evaluation results

To demonstrate the capabilities of our proposed decentralized resource allocation technical framework to successfully deploy applications on an edge architecture, in the absence of cloud resources, we perform two different evaluations: (i) applicatibily where we deploy realistic edge applications and (ii) performance to quantitatively evaluate our solution.

We take all five IoT applications and we deploy them on an edge architecture using our technical framework. The results of the applicability evaluation are shown in our paper, while the results of the performance evaluation are placed in the following archive.

There are two different types of result files: (i) montageAnalytics.txt and (ii) montageGraph.txt. In the former, we analyze the STM formula and its different encodings to see which has the biggest impact in terms of formula size. Furthermore, we save also the computational time required by the deployment module to find a task allocation. In the latter, we present the mapping results, showing the total number of collaborators, the SMT formula size, the bids offered by each collaborator, and the solution.

We have performed a total of 500 tests to account for the random factor introduced by our decision policy module and its strategies. As such, we have performed 500 tests for each edge architecture size, keeping the same resource distribution between nodes; each file storing the results of 100 tests. We have devised a save format system where the first number represents the number of tests, while the second number is the total number of collaborators used in that mapping. For example, montageGraph5_18.txt represents the last 100 tests performed for a network size of 18 nodes.

Finally, we have extracted the average of each 100 tests, then made the average over the total 500 tests for a single network topology. The results are presented in the following Excel file.