# S.O.V.O.R.A.: A Distributed Wireless Operating System
## 4 Experiment and Results
### Experiment Results  
With the test bed on execution, we ran some application on the system as an operating system task, and then take the measure of energy and application throughput on each node, as shown in Figure 11, which shows the measure of the energy consumption of the Odroid node carried out when using the smart power meter 2. In this case, the peak shows the maximum CPU consumption of these nodes with a simple task and as these measure, which is stabilized through the orchestrator messages and parameters sent to a local agent on this node. In this way, the CPU heartbeats resource, available in the MANET, is managed, and their relationship with the energy consumption is controlled. The peaks occur at the beginning of the execution of each application since the application is always trying to use 100% of the resources. The OR sets the processing rate and sends the desired throughput to the LA that processes it on the docker container. The first study case is with one node performing the deployment of six containers in each core of the embedded system Odroid (Figure 12). This parallel application can be executed in the Odroid due to its capabilities (Table 2), which have four little architecture cores, four of big architecture, and a variable frequency on each core. This test shows the possible execution of concurrent applications, in this case the set of algorithms from MiBench as workload created by a users that do not have a huge load for processing. These set of applications running concurrently are the model of a distributed application, as a paradigm to deploy services and applications on the wireless distributed operating systems, the traditional application models do not allow for the deployment of services in a distributed way. The second experiment was performed using five nodes (4 RaspBerry PI-3 and 1 RaspBerry Pi-Zero W) running different applications distributed on them. Nodes 2 and 4 run the SHA encryption algorithm, while nodes 1 and 5 perform images processing using JPEG coding-encoding and node 3 performs ADPCM audio coding. After processing of all this information, it is sent through the MANET and to the LA, which delivers the result to the final user. Figure 11: Odroid power consumption. Figure 12: Application performance over Odroid node 0. Figure 13 shows the results of the execution of each core on each node begin with the maximum throughput and then converge to the throughput indicated for the OR, for instance node 2 begins with a throughput of 16 heartbeats by second and converge at 10 heartbeat at second, at the same way the other nodes reach the performance given for the orchestrator policy. If a new service is required, information about the status of the resources of each node is sent to the OR, which is the source of the application distribution. Figure 14 shows the constant energy consumption of node 2 in the second experiment when a distributed application (containers) is deployed. To send the task, the Orchestrator sends messages every second to neighboring nodes and local agent instances to validate their status based on the CPU consumption and the node's energy measurement, in the same way it validates the available resources to assign the task, and this, with the orchestrator's clock, is a measure of time in the operative system. Figures 15-17 show the cases in which an application was deployed in each core available in each node, and its throughput was controlled to manage energy and CPU consumption. This process allows for the management of the resources distributed in a MANET in a stochastic and dynamic medium. In the same model, it is possible to manage other distributed resources as memory, storage, and I/O devices. Figure 14: RPI node 2 power consumption. Figure 13: Application performance over each node. Figure 16: RPI node 2 power consumption. Figure 15: RPI node 1 power consumption. The OR verifies the global performance and tries to converge the throughput in all the nodes to optimize the resources consumption and the workload distribution among the MANET nodes.