Article Preview
Top1. Introduction
Fog computing (Ghobaei-Arani, et al., 2019; Bellendorf and Mann, 2020; Alemneh, et al., 2020; Li, 2020; Shen, et al., 2020; Das, et al., 2020) is a promising approach that brings cloud computing, storage, and networking services closer to the end-user. This technology benefiting many industries such as manufacturing, e-health, education, oil and gas, smart cities, smart homes, and smart grids. It processes data as well as real-time applications at the edge to reduce latency, however, it is higher in cloud computing (Abdulkareem, 2019; Zheng, et al., 2019; Kim, et al., 2020; Khayer, et al., 2020) since it requires high bandwidth and remote processing. Even cloud and fog offer similar resources and services, fog computing is characterized by low latency with wider dispersed and geographically distributed nodes.
In a fog computing environment, resource selection strategy becomes a complex task due to the heterogeneous resources, dynamic nature of resources, and other environmental requirements (Nguyen, et al., 2019) as well. Moreover, it is an extremely challenging task when user expectations are contradictory and application requirements are expanded. The various fog resource allocation and scheduling solutions can only be more practicable if they are tested using an appropriate task model. So, building an appropriate task model in a fog computing environment has been a major concern and needs to be addressed. Resource allocation and selection in a fog environment fall under the class of Multi-Criteria Decision Making (MCDM) problems (Chen, et al., 2019; Jie, et al., 2019; Li, et al., 2019; Abedin, et al., 2019). In several fog applications and storing data services, the complicated work can be partitioned into several cooperative subtasks with complicated relations and communications, such as interdependencies, concurrency, conflicts, and substitution, among others. Furthermore, price cost and execution time are important to these subtasks. In addition, fog computing infrastructure requires extensive research to solve many challenges such as QoS, efficient resource utilization, deadlock, task scheduling, and dynamic resource management (Hu and Li, 2009; Chen, et al., 2019). In contrast, optimization methods are good for minimizing the total execution time of a task and also solve the other existing challenges.