**5.1 Infrastructure and workloads**

The environment that configures the simulated infrastructure determines a heterogeneous test platform, aiming to measure the performance of our model. For this, 10 grid resources were configured, each feature is determined by a computational grid with the following specifications in **Table 1**:


#### **Table 1.**

*Simulated resources description.*

The environment configuration used aims to represent a heterogeneous set of resources. This type of environment is similar to those found in fog computing environments. The jobs used in this experiment aim to establish a diversified workload, in order to explore the features of the model proposed in this work. Therefore, a number of 20 different types of jobs were used, which are described in **Table 2**.

The environment used as a platform for carrying out the tests was the platform. xml file available along with the simulator. SimGrid is an ideal testing platform for resource allocation policies involving networks, as it has simulation classes that implement point-to-point communication mechanisms. The connection between the various nodes of a computational grid can be specified in SimGrid. The proposed *trace* file records the times obtained with the execution of *jobs*, together with the estimated QoC and QoE. The context-broker receives the file *mrc* as input, which must contain the description of tasks by users, which are:



*A Resource Allocation Model Driven through QoC for Distributed Systems DOI: http://dx.doi.org/10.5772/intechopen.106458*

**Table 2.** *Workloads description.*


The workloads were synthesized by generating random values for the mentioned parameters above, in order to simulate the unpredictable behavior of a real distributed system. A workload was generated with 3000 tasks randomly distributed among 20 fictitious users represented by numbers (IDs) from 1 to 20. The tasks (or *jobs*) were synthesized using the random function of the GCC library. The system clock time was used to calculate and generate the random numbers.

### **5.2 Results**

The absolute values obtained by running the workloads using the algorithm *Round-Robin* and proposed model context-based strategy are shown in **Tables 3** and **4**, respectively.

The smaller standard deviation represents a smaller dispersion in the resulting runtimes. The users' QoEs are shown in the graphs in **Figures 1** and **2**. The graphs present the average QoE values for each user's identifier represented in the ID\_users axis. The number of users for the graphs in **Figures 1–4**, is fixed and equal to 20, with the QoE and standard deviation resulting from each user as the workload on the system increases.

The surface generated by the data referring to the average QoE of users when using the model proposed in this work. **Figure 1**, shows a global trend of QoE values around 90% of user satisfaction. This behavior is reinforced by the graph in **Figure 3**. It is


#### **Table 3.**

*Average runtime of Round-Robin.*


*A Resource Allocation Model Driven through QoC for Distributed Systems DOI: http://dx.doi.org/10.5772/intechopen.106458*


#### **Table 4.**

*Average proposed model runtime.*

important to note that the values are shown in the range between 0 and 1 to represent a QoE from 0 to 100%.

The graph in **Figure 2** shows several QoE spikes revealing an imbalance in terms of user satisfaction with the Round-Robin and Dijkstra policy. Another situation observed in **Figure 2** is the instability of the Round-Robin and Dijkstra policy for QoE. According to the graph in **Figure 2**, users tend to be more dissatisfied when the task set increases. According to **Figure 2**, for a workload with a size of more than 1500 tasks, the users' QoE starts to decrease more sharply.

The graph in **Figure 3**, represents the estimated QoE standard deviation. The graph shows that as the number of tasks submitted to the system increases, the standard deviation becomes more linear. The graph in **Figure 3** reveals a more uniform surface for workloads with a quantity above 1000 tasks. This is because users' QoE tend to decrease with variability in resource states (totally free, fully occupied), especially when there are few tasks. For large numbers of tasks, resource variability occurs more "smoothly" and distributed over time.

The fairness generated by adequate load balancing, which respects the users' needs, is a determining factor in the overall QoE experience. This situation is shown in the graphs of **Figure 1**. The graph presents the average QoE values for each user's identifier represented on the Users\_ID axis. The number of user's for the graphs in **Figures 1** and **3** is fixed and equal to 20, with the QoE and the resulting standard deviation of each user being shown as the workload on the system increases. The surface generated by the data referring to the average user's QoE, **Figure 1**, shows a

**Figure 1.** *QoE per user from proposed model.*

**Figure 2.** *QoE per user Round Robin and Dijkstra.*

**Figure 3.** *Standard deviation for QoE per user from proposed model.*

global trend of QoE values around 90% of user satisfaction. This behavior is reinforced in the graph of **Figure 3**. It is important to note that the values are shown between 0 and 1 to represent a QoE between 0 and 100%.

The graph in **Figure 4** displays the standard deviation of the estimated QoE using Round-Robin policy with Dijkstra. The graph reveals a greater variation in users' QoE when compared to our proposal. The standard deviation surface of the graph in **Figure 4**, presents irregular characteristics for the QoE of all users. For task sets of sizes 100, 200, and 300, the standard deviations are low, however, the values for QoE for these task sets have lower QoE for all users.

*A Resource Allocation Model Driven through QoC for Distributed Systems DOI: http://dx.doi.org/10.5772/intechopen.106458*

**Figure 4.** *Standard deviation for QoE per user from Round Robin and Dijkstra.*

The proposed model presented better results and stability for QoE and standard deviation when compared to the Round-Robin and Dijkstra based strategy, which does not consider the context to provide resource allocation.

**Figure 5** shows the number of tasks that were submitted by each user. The graphs in **Figures 6** and **7** shows the data dispersion in relation to the proposed model QoE. The graphs of **Figures 6** and **7**, reveal that although the model is efficient in a global perspective, it is subject to undesirable *outliners* generated by unsatisfactory QoE. The box plot in **Figure 6** confirms the trend of user satisfaction between 80 and 100%, but reveals the cases in which these values did not occur. The same happens for the graph of **Figure 7**. The graph of **Figure 7** shows the values of the QoEs obtained by each user. According to the graph, it is possible to observe that values close to 100% and close to 0% are not concentrated in specific users, but distributed among all users. Thus, it is possible to carry out a qualitative analysis, concluding that the model established (*fairness*) to resource allocation.

**Figure 5.** *Number of tasks submitted per user.*

#### *Ubiquitous and Pervasive Computing - New Trends and Opportunities*

**Figure 6.** *Box Chart for Users QoE.*

**Figure 7.** *Scatterplot for (QoE x amount of tasks) per user.*

The objective of this experiment was to analyze the relationship between performance and QoE established by proposed model, when the model is submitted to thousands of *jobs* of different characteristics considering a well-defined interconnection grid, in the SimGrid environment. From the results obtained with experiment, it was concluded that the model proposed in this paper has better performance when compared to the *Round-Robin* algorithm with the routing based on the Dijikstra algorithm. For the workloads submitted to execution, QoE estimates were performed. The proposed model obtained average results between 80 and 100% of satisfaction for each user, and a standard deviation adherent to a flat surface for workloads with a large amount of tasks. In this way, the proposed model showed stability in terms of

the QoE obtained. The results obtained also show that the proposed model established fair behavior, *fairness*, in resource allocation.
