Service placement in a fog computing environment with knowledge of service quality
الموضوعات : journal of Artificial Intelligence in Electrical Engineering
Yousef Abofathi
1
,
babak anari
2
,
Mohammad masdari
3
1 - Department of Computer Engineering, Urmia Branch, Islamic Azad University, Urmia, Iran
2 - Department of Computer Engineering, Shabestar Branch, Islamic Azad University, Shabestar, Iran
3 - Department of Computer Engineering, Urmia Branch, Islamic Azad University, Urmia, Iran
الکلمات المفتاحية: fog computing, distributed learning automata, quality of service, fuzzy clustering of services, placement of services,
ملخص المقالة :
Fog computing has been proposed to meet the growing demands of Internet of Things users with low latency and high bandwidth. Fog computing has extended cloud computing services to the edge of the network. In this research work, the methods of deploying services in the fog computing environment have been investigated with a focus on service quality. Considering challenges such as resource constraints, heterogeneous environments, and dynamic network conditions, a new framework for deploying services aware of multifaceted aspects of service quality, including response time, availability, reliability, and latency, is proposed. In this article, a new method called DLA-SPSQ is used for optimal placement of clustered services based on service quality criteria. The proposed algorithm is a combination of FCS and DLA-FMP algorithms. The fuzzy FCS algorithm clusters IoT user requests based on the quality-of-service criteria. The quality of clusters is validated based on evaluation criteria. A single objective cost function is used to evaluate the loop delay of modules/services. The results show the improvement of the proposed method in clustering services compared to the case of not clustering them.
Journal of Artificial Intelligence in Electrical Engineering, Vol. 13, No. 49, April 2024
Service Placement in a Fog Computing Environment with Knowledge of Service Quality
Yousef Abofathi1, Babak Anari2, Mohammad Masdari3
1,3Department of Computer Engineering, Urmia Branch, Islamic Azad University, Urmia, Iran
2 Department of Computer Engineering, Shabestar Branch, Islamic Azad University, Shabestar, Iran
Email: anari322@gmail.com
Received: 03 January 2024 Accepted: 22 August 2024 Published:15 February 2025
Abstract
Fog computing has been proposed to meet the growing demands of Internet of Things users with low latency and high bandwidth. Fog computing has extended cloud computing services to the edge of the network. In this research work, the methods of deploying services in the fog computing environment have been investigated with a focus on service quality. Considering challenges such as resource constraints, heterogeneous environments, and dynamic network conditions, a new framework for deploying services aware of multifaceted aspects of service quality, including response time, availability, reliability, and latency, is proposed. In this article, a new method called DLA-SPSQ is used for optimal placement of clustered services based on service quality criteria. The proposed algorithm is a combination of FCS and DLA-FMP algorithms. The fuzzy FCS algorithm clusters IOT user requests based on the quality-of-service criteria. The quality of clusters is validated based on evaluation criteria. A single objective cost function is used to evaluate the loop delay of modules/services. The results show the improvement of the proposed method in clustering services compared to the case of not clustering them.
Keywords: fog computing, distributed learning automata, quality of service, fuzzy clustering of services, placement of services.
1. Introduction
Cisco announced that more than 75 billion devices will be connected to the Internet by 2025, generating massive amounts of data[1]. Processing large amounts of data with limited resources in real-time is practically impossible. Cloud computing has been used to solve the problem of data processing. Cloud computing also faces increased latency, bandwidth limitations, privacy, and security issues. Fog computing was used to overcome the problems of cloud applications. Fog computing has extended cloud computing services to the network's edge, processing, analysing, and storing data at locations close to users (IoT). Using fog computing results in reducing the amount of data sent to the cloud, reducing delay and calculation costs, and increasing scalability. With all its benefits, fog computing has challenges such as optimal placement of modules/services, resource management, network interference and latency, data management, adaptation to changing environments, security issues, and privacy protection. Optimum placement of services in the fog environment due to the heterogeneous nature and limited capacity of most fog nodes (limited resources), environment dynamics, creation and removal of resources in the fog network, moving people, changing infrastructure and application information over time (e.g., workload change) and geographic distribution of fog devices on an extensive infrastructure is a complex issue. Due to the mentioned reasons, the problem of placing services/modules of Internet of Things applications can be considered an NP-Hard combinatorial optimization problem[2, 3].
In this research work, optimal placement is done on services selected in fuzzy clustering. Fuzzy clustering is performed on them based on service quality criteria. The selected service quality criteria are response time, availability, reliability, and delay. The working method is that the services are initially clustered based on the service quality criteria with the proposed DLA-SPSQ algorithm after removing outliers from the loaded data set. Clustering evaluation criteria have been used to validate the quality of clusters. According to the need of the problem and the acceptable values for the evaluation criteria, clustering with three clusters has been chosen in this research. The XB and average evaluation criteria in each cluster have been used to determine the priority among the three clusters for implementation. After clustering the data set, the services of each cluster are optimally placed in a distributed learning automata system according to the DLA-FMP algorithm. Most of the presented methods for solving the problem of placement of services/modules are based on evolutionary algorithms and without clustering the requests of Internet of Things users, which are unsuitable for online applications due to the time-consuming search for the solution space.
A local and global search framework is designed to locate the modules in the fog topology to implement the DLA-FMP algorithm. To map fog topology to distributed learning automata, a proposed framework has been modelled in the paper x. The proposed algorithm can be used in dynamic environments, and local and global search can be performed simultaneously in the fog environment. The proposed method can be applied to any topology with a high convergence speed. With this method, it is possible to make maximum use of the available capacity of fog nodes in the lower layers and close to the Internet of Things layer, and it is possible to achieve the minimum delay and reduce the execution time of tuples and network consumption
The main contribution of this article is as follows:
· Designing a framework for fuzzy clustering of services based on service quality criteria.
· Providing a new approach for optimal service placement according to service quality criteria.
· Ability to implement the proposed method for homogeneous and heterogeneous topology.
· Validation of the proposed algorithm regarding service execution delay criteria, tuple executiondelay, and network usage reduction.
This paper is further organized as follows: Section 2 provides a summary of related studies, and Section 3 provides concepts related to fuzzy clustering of services, module/service placement problems, learning automata, distributed learning automata, and the evaluated criteria given in the optimal placement of services. The proposed method is explained in Section 4. In section 5, the simulation results and their analysis are given. Finally, Section 6 includes conclusions and future directions.
2. Related Works
This section summarizes several studies related to fuzzy clustering strategies of services and their optimal placement in the fog environment. These studies are motivated by fuzzy system clustering and optimization goals such as minimizing delay or improving service quality. The work related to the fuzzy clustering of services has been done in this article. Most of the studies about optimization have been done in the first article of this research, and here, they are listed in a categorized manner to complete the scope of the proposed algorithm.
A. Several articles of the work done about fuzzy clustering of systems are summarized below:
In[4], the authors address some common challenges in the Internet of Things, such as managing large volumes of data and the need for real-time processing, with the possibility of more efficient and accurate data clustering. This is particularly important for IoT applications where data classification is fundamental to decision-making processes, such as smart cities, healthcare monitoring systems, and industrial automation.
In[5], the researchers propose an innovative algorithmic solution that concurrently optimizes for latency, bandwidth, throughput, cost, and energy consumption to make deployment decisions. They incorporate a Pareto optimization technique, which allows stakeholders to understand the trade-offs and make informed choices about their deployment strategies.
In [6], the authors present an innovative mechanism for embedding Internet of Things (IoT) services in a fog computing environment that prioritizes Quality of Service (quality of service). Acknowledging the importance of meeting quality of service criteria such as latency, throughput, and reliability, the authors have proposed a new service placement strategy using an open-source development model.
In [7],a set of developed algorithms for managing the deployment process is described. These algorithms consider the different QoS requirements of different IoT applications and balance these requirements against the current capabilities and load on cloud and fog resources. Key to this process is the dynamic assessment of network conditions, user demands, and service importance to ensure that QoS objectives are consistently met.
In[8], various algorithms for service placement and resource management, which are designed to maintain quality of service standards, have been discussed. These algorithms focus on minimizing latency, maximizing bandwidth, and ensuring reliability and fault tolerance in IoT services.
The model proposed in[9]considers different quality of service requirements in the context of IoT, such as ensuring low latency, high throughput, and fixed network stability. It features a new architectural solution that uses fog nodes—gateways, routers, or other edge devices—to distribute the computing load between the cloud and end devices. For this, it uses an adaptive mechanism that can dynamically evaluate the service demands of IoT applications in real-time and align them with the capabilities of fog nodes. For example, an intelligent traffic system requires immediate data processing for effective traffic control, which this model prioritizes with efficient use of edge computing resources.
The authors in [10]propose a new approach that combines fuzzy logic with meta-heuristic algorithms for resource provisioning. Fuzzy logic is applied to provide a more flexible decision-making process that can handle the imprecision and uncertainty inherent in cloud environments. It adjusts resource provisioning more subtly than binary logic, which is either too aggressive or too conservative. In this article, fuzzy clustering is used to classify the demand for input resources into different fuzzy categories, and a meta-heuristic algorithm optimizes the allocation of resources in each cluster.
In[11], fuzzy clustering can be used to improve data analysis, resource allocation, and load balancing by assigning workloads to the most appropriate computing layers (cloud canter or edge devices in the fog) and managing inherent uncertainty and variability. The performance and capacity of these resources have been investigated.
In [12], a fuzzy approach for deploying IoT applications in cloud computing environments better aligns with real-world deployment scenarios' dynamic and complex nature and outperforms rigid, rule-based systems.
B. Here, based on the optimization strategies used, a classification of advanced studies is presented, which are (i) mathematical optimization, (ii) heuristic techniques, (iii) meta-heuristics, (iv) machine learning, and (v) Other materials and methods.
Mathematical optimization techniques
Mathematical optimization is finding the best value for an objective function in a permissible set, calculated as the maximum or minimum value based on some criteria. In this method, unlike the complex problem of module placement, more minor problems can be solved because examining the entire solution space in complex problems requires high execution time. Different mathematical optimization models that have been used in fog computing can be called integer linear programming[13], mixed integer linear programming[14], and non-linear integer programming methods [15, 16] which are done as discrete and continuous optimization. Mathematicians have long used this method to solve optimization problems in all sciences, including computers and engineering.
Heuristic techniques
The module placement problem is computationally very complex due to the dynamic nature of the fog infrastructure, and analyzing the entire solution space can be more practical. In this case, heuristic techniques are often used to arrive at the answer. Heuristic techniques use information from previous experiences with similar problems to solve problems. Heuristic techniques include rules that make it easy to implement a practical solution to complex problems but have no guarantee of performance[3, 14].
Metaheuristic techniques
Today, more meta-heuristic methods are used to solve complex and challenging problems. These methods are inspired by nature and are high-level techniques for modeling and optimization. Meta-heuristic methods are optimized by selecting random solutions and acting as a black box. Effective and efficient exploration of the search space avoids local optimization due to the stochastic nature of the method. It improves better solutions in a reasonable amount of time through an iterative search process[17-19].
Machine learning techniques
In several cases, machine learning techniques have been used to solve the problem of placing modules. This method uses data to improve performance among a set of tasks. Based on sample data (training data), it makes a model for decision-making and necessary predictions without explicit planning. Machine learning algorithms have been used in various cases, such as speech recognition, health care[20], machine vision, etc. Developing conventional algorithms to perform the required tasks is impossible and difficult.
Other techniques
Several other strategies have also been reviewed in the literature. A new method called multi-fog placement (MFP) has been introduced [21]to place resources in the Internet of Things systems in the fog environment. In this paper, the authors have used multi-region fog architecture, including several fog nodes, to reduce delay and energy consumption. Comprehensive studies on service placement algorithms have been done[22-26].
3. Preliminaries
This section describes the basic elements underlying the challenge of fuzzy clustering of services/modules and their optimal placement, the principles of machine learning, and the framework of distributed learning machines.
3-1- Fuzzy clustering of services
The concept of fuzzy clustering of Internet of Things (IoT) users’ service quality criteria using Fuzzy C-Means (FCM) in a fog network environment entail creating groups (clusters) of IoT service quality experiences and preferences that are not sharply defined but overlap. This approach recognizes the subjective and varied nature of user experiences in IoT applications and the importance of latency-sensitive and context-aware processing provided by fog networking. Here is a summary of how FCM applies to IoT quality of service metrics in a fog network deployment:
Ø Quality of Service Data Collection:
This involves collecting various quality of service metrics from IoT devices spread throughout the cloud network. These metrics can include response time, availability, reliability, latency, and others, which may vary in importance depending on the specific IoT context and application.
Ø Application of FCM for Clustering:
Deploy the FCM algorithm to analyze the service quality data. Since FCM allows for fuzzy membership, each IoT user or device can belong to multiple clusters that represent different service quality profiles or experiences.
ü Initialization: Choose the number of clusters and initialize the cluster centres.
ü Membership Assignment: Compute the membership degree of each IoT user’s service quality data for each cluster.
ü Centroid Update: Update the cluster centroids based on the calculated membership degrees and the service quality data.
ü Iterative Process: Iterate the assignment and update steps until the centroids stabilize within a small tolerance limit.
Ø Interpretation of Clusters:
Assess the resulting clusters to understand different categories or levels of service quality experienced by users across the fog network. It can be insightful to identify clusters that reflect high satisfaction, moderate satisfaction, and low satisfaction, for example.
Ø Action based on Cluster Analysis:
Utilize the insights from cluster analysis to optimize resource distribution, improve service delivery, and forecast future demands or the need for infrastructure adjustments in the fog network.By using FCM, the fog network can reliably interpret the nuanced, user-reported experiences of service quality, accommodating the inherently imprecise and overlapping evaluation that different IoT users might have. Furthermore, the localized data analytics capability of fog computing allows for real-time or near-real-time clustering and analysis, whichis crucial for promptquality of service adjustments and enhancements in IoT systems.
3-2- Module Placement ProblemDefinition
Suppose an array of IoT applications for processing as
defined. representing a collection of m modules, as
These modules are mandated to execute within the virtualized spheres of either the cloud or the fog on demand from a user. The optimal placement of each module unto an appropriate fog node is contingent upon a specific cost metric. Modules are characterized by the Equation (1).
| (1) |
(2) |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(3) |
|
D |
(4) |
| (5) |
| (6) |
| (7) |
| (8) |
| (9) |
Tuple Cup Execution Delay=
| (10) |
Network usage= Latency*TupleNwSize | (11) |
In equation (11), Latency indicates the sending delay of each node in the fog network, and TupleNwSize indicates the file size of each sent tuple.
4. The Proposed DLA-SPSQ Algorithm
The proposed Distributed Learning Automata-Service Placement based Service Quality (DLA-SPSQ) method is performed in two steps, which are:
1. Fuzzy clustering of services
2. Optimum placement of services based on distributed learning automata
Fuzzy clustering of services is done by FCS Algorithm and optimal placement of services is done based on distributed learning automata by DLA-FMP method, each of the methods are explained in order below.
4-1- Fuzzy clustering of services (FCS)
Web service quality of service (QoS) is essential to the overall user experience. This includes response time, availability, reliability, and latency. Due to the wide variation and uncertainty in these parameters, the fuzzy logic approach is often used. Fuzzy logic enables more flexible and realistic modeling of complex systems by handling fuzzy and ambiguous data. Fuzzy-based clustering is a classification method in machine learning where data elements are grouped based on their similarity. In the QoS of web services, fuzzy-based clustering can separate services into different quality levels or groups based on specific QoS characteristics. This allows easy management and prioritization of services.
Fuzzy-based QoS clustering of web services has been widely used and researched. Several models and techniques have been proposed to improve service selection, matching, and composition in web services. Continued development in this area promises more efficient and user-centric web services.
AlgorithmFCS |
1. Load dataset. 2. Remove extraneous data from dataset. 3. fuzzy clustering. 4. Calculate below the Evaluation criteria of clustering for validating cluster quality. A. PC (Partition Coefficient) B. CE (Classification Entropy) C. XB (Xie-Beni Index) D. avgSilhouette 5. Determining the priority of clusters for placing services according to the XB values of each cluster and the average value of clustering quality criteria in each cluster. |
Each of the steps of the FCS algorithm is explained in order below.
§ Load dataset
In this section, the method of loading datasets in different formats for fuzzy clustering of web services requested by Internet of Things users to run in the fog network by the Load dataset algorithm is explained in two modes.
Algorithm Load dataset |
Input:your dataset 1. Load datasetfrom mat file: // Path and file name with extensionmat. path='D:\aaaFuzzy110\fuzzy classification\datasetName.mat' Data=load(path); 2. Load datasetfrom xlsx file: / Path and file name with extensionxlsx. file Path = 'C:\Users\Home\Desktop\ xlsxFileName.xlsx' Data = xlsread(filePath); |
§ Remove extraneous data from dataset.
Outliers can significantly bias clustering results because they may be inappropriately attributed to the degree of membership in a cluster. To remove outliers, you should consider preprocessing your data.
While MATLAB does not have a built-in function specifically to detect and remove outliers for direct FCM, it is certainly possible to combine several steps and techniques to detect outliers before performing FCM. Use statistics, including:
1) Standard deviation method: If the data is normally distributed, about 68% of the data values fall within one standard deviation of the mean and 95% fall within two standard deviations. Data points that lie beyond a certain threshold may be considered outliers.
2) Interquartile range (IQR): The spread of the middle 50% of values. Anything more than 1.5 times the IQR above the third quartile and below the first quartile can be considered an outlier.
3) Standard Deviation Method: If data is normally distributed, then around 68% of data values will lie within one standard deviation of the mean, and 95% within two standard deviations.
4) Boxplot Analysis: Using boxplots can help visualize potential outliers.
5) Proximity Based Methods: Such as DBSCAN, where data points that do not fall within a cluster are considered outliers.
This section explains how to remove outliers from a data set using the IQR method by the remove outlier’s algorithm.
Algorithm remove outliers |
Input: dataset Output: filteredData % Compute the lower and upper bounds for each feature Q1 = quantile (dataset, 0.25); Q3 = quantile (dataset, 0.75); IQR = Q3 - Q1; lowerBound = Q1 - 1.5 * IQR; upperBound = Q3 + 1.5 * IQR; % Initialize a logical index vector assuming all values are not outliers nonOutlierIdx = true (size (dataset, 1), 1); % Check for outliers in each feature dimension for i = 1: size (Data.data10, 2) nonOutlierIdx = nonOutlierIdx& ... (dataset (: i) >lowerBound(i)) & ... (dataset (: i) <upperBound(i)); end % Use the nonOutlierIdx to filter the non-outliers filteredData = dataset (nonOutlierIdx, :); |
The standard methods of outlier detection might incorrectly remove non-outliers, especially when the data is not normally distributed or when the “outliers” actually represent valuable extremes that are of interest.
FCM is less sensitive to outliers than hard clustering methods because it assigns a degree of belonging to each cluster rather than absolute membership. But the presence of outliers can still affect the centroids and therefore the results of the clustering process.
§ Fuzzy clustering
The FCM is a soft clustering method that allows a single web service to belong to multiple clusters to varying degrees. This characteristic is particularly beneficial in fog environments where web services exhibit varying quality-of-service (QoS) attributes and may not fit strictly into a single category. For instance, a video streaming service might rank highly in bandwidth but lower in response time, fitting into different clusters for different QoS assessments. By applying FCM, fog nodes can categorize services into clusters based on criteria like latency, bandwidth, reliability, and throughput.
This section explains how to use the FCM (Fuzzy C-Means) function for fuzzy clustering of web services based on service quality criteria using a fuzzy clustering algorithm.
Algorithm fuzzy clustering | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Input: dataset, number of clusters Output:clusters, U,centers X= dataset [centers, U] = fcm (X,numberofclusters) maxU=max(U); // U is the membership matrix from fcm // Identifies data points that are most strongly associated with each cluster.
//In this step, a subset of the dataset is created.
§ Calculate Evaluation criteria of clustering for validating cluster quality Calculating cluster validity indices is an essential step in evaluating the performance of a clustering algorithm in MATLAB. Cluster validity indices can help assess the quality of cluster formation—for example, how distinct they are, how dense they are, and how well they fit the underlying data distribution. For fuzzy clustering, such as that performed by the FCM (Fuzzy C-Means Clustering) function in MATLAB, standard validity indices are: PC (Partition Coefficient) This method is specific to fuzzy clustering. The PC is calculated for different numbers ofclusters, and a higher value indicates a better clustering structure.It can be calculated using equation 12.
where U is the membership matrix from FCM, and X is dataset.
CE (Classification Entropy) Evaluates the distribution of membership values across clusters. Lower values are generally better, indicating a more defined partition.It can be calculated using equation 13.
XB (Xie-Beni Index) Provides a ratio of compactness and separation of clusters; a lower value of the Xie-Beni index indicates a better partition due to compact and well-separated clusters. FCM algorithm can be run for different numbers of clusters and XB index can be calculated for each partition. The number of clusters with the lowest XB index can be considered as optimal clustering, which can be calculated using the Xie-Beni Index algorithm.
§ Silhouette Coefficient
Calculating the silhouette coefficient in fuzzy clustering, especially in Fuzzy C-Means (FCM), can be tricky since each data point has a degree of belonging to every cluster, not just a single one. The silhouette coefficient measures how similar a point is to its own cluster compared to other clusters, which is straightforward in hard clustering methods. Still, for fuzzy clustering, one must first determine the degree to which a data point is assigned to its clusters. Here's how to calculate the silhouette coefficient for a clustered dataset, which the FCM function in MATLAB can calculate. crispy the Clusters: Although in FCM, each data point has a membership degree to each cluster, to calculate the silhouette coefficient we need a “hard” assignment. Assign each data point to the cluster for which it has the highest membership value. Calculate a(i)Within-ClusterDissimilarity: For each data point i, calculate the average distance from i to all other points in its assigned cluster. Calculate b(i)Between-Cluster Dissimilarity: For the same data point i, calculate the average distance from i to all points in the next nearest cluster that it is not assigned to. One way to define the “next nearest” cluster could be finding the cluster for which the average distance to all its points is minimal, excluding the cluster to which i is assigned. Compute the Silhouette Value: The silhouette value s(i) for each data point is calculated byequation 14:
Here, a(i) represents the average distance from i to all other points in its own cluster, and b(i) represents the smallest average distance from i to points in any other cluster that i is not a part of. Average Silhouette Coefficient: To find the overall silhouette coefficient for the dataset, average s(i) over all data points i. In MATLAB, the silhouette algorithm is designed for hard clustering outputs. It is necessary to rewrite the existing function to implement the silhouette coefficient in fuzzy mode. It is explained here under the Silhouette Coefficient Algorithm.
This simplified algorithm does not handle some cases (such as when a_i is zero), so this must be modified for the specific application and data set. 4-2- DLA-FMP Algorithm After the data set's clustering, each cluster's services are optimally placed in a distributed learning automata system according to the DLA-FMP algorithm[37]. With the optimal placement performed by the Distributed Learning Automata – FogModule/Service Placemen(DLA-FMP) algorithm, it is possible to significantly reduce the delay in the execution of services in clusters with higher priority and respond to the requested users' services who have paid more money at a suitable time. Provide higher quality services to increase user satis faction. The general steps of the DLA-FMP algorithm are illustrated by the diagram presented in Figure 3. This section describes the main concepts of the algorithm proposed in article x. The DLA-FMP algorithm's working method is that the required parameters are first defined and then quantified. In the next step, a fog topology is created using the iFogSim tool after the fuzzy clustering service. To perform optimal placement, a distributed learning automata is mapped on the defined fog network so that each of the fog nodes in the fog network corresponds to a learning automaton.
Fig. 3. DLA-FMP algorithm steps diagram
The proposed algorithm for solving the module placement problem uses three main phases in each iteration: Phase 1: Module placement, Phase 2: Learning process, and Phase 3: Cost function evaluation phase. These three phases are explained below: Phase1-Module Placement: In this phase, each application is placed in a module in one of the fog nodes, starting from the edge-level fog nodes. Each edge-level automaton chooses one action from its set of actions to place each module. After selecting the action, the capacity of the fog node corresponding to the selected action is checked using Equation (15).
To remove outlier data from the data set, the algorithm (remove outliers) mentioned in section 4-1 is used; also, for easy work, the fuzzy k-means method can be used. The calculation results of the PC, CE andavgSilhouetteof clustering evaluation criterion for validating the quality of the clusters are given in Table 2.According to the need of the problem and the acceptable values for the evaluation criteria, clustering with three clusters has been chosen in this research work (row 2 of Table 2).
Table 2. Selected clustering from clustering evaluation criterion
The calculation results of the XB clustering evaluation criterion for validating the quality of the clusters are given in Table 3.
Table 3. Selected clustering from XB criteria
In this research work, the priority of the clusters can be determined according to the lowest amount of response time, delay, reliability, XB criterion and the highest amount of availability.
Table 4.Selected cluster from the average value of QoS criteria in each cluster
In Table 4, the lowest average result for the evaluation criteria of response time, reliability, delay, XB and the highest average availability are obtained for cluster 2. Therefore, with certainty, the first priority can be assigned to cluster 2. (lighted with yellow color). According to the values obtained for other clusters, clusters 1 and 3 are placed in the second and third priorities, respectively.
5-2- Simulation and evaluation of the proposed method In these stages, the DLA-FMP method has been used to calculate AppLoopDelay, Tuplecupexecutiondelay, and Networkusage criteria in high-priority clusters of different sizes, and the results of the proposed DLA-FMP method have been evaluated and compared in two modes of clustering and without clustering of services.
5-2-1- Simulation Environment The iFogSim simulator tool and Java programming language have been used to simulate the proposed method. The specifications of the system used are given in Table 5. The iFogSim simulator uses a tree structure to generate fog topology. Since the proposed fog topology structure is a graph, the iFogSim simulator has been developed to simulate the proposed method so that any graph can be defined and created.
Table 5. Specifications of the simulation system
5-2-2- Parameter Setting The proposed method considers the reward (a) and penalty (r) parameters of 0.3 and 0.003, respectively. The values assigned to their parameters in related articles have been used in implementing the compared algorithms.
5-2-3- Fog Device Characteristic In the simulation of the proposed method, a heterogeneous topology with 63 fog nodes, which has 32 edge nodes and is shown as
Table 6. Topology with 63 fog nodes
|