Internet of Things (IoT) applications are mostly time-sensitive and require reliable executions. The majority of IoT applications experience low quality of service (QoS) because of the intrinsic delay in utilizing the far-distant cloud infrastructures. To experience better QoS, fog computing as a complementary facility for cloud infrastructure is extended near the IoT devices. The bag of tasks (BoTs) IoT applications include a number of independent tasks each of which needs a certain amount of processing time so it is favorable to experience the lowest total execution time, makespan, for all applications. In addition, reliable execution guarantees the business continuity of IoT applications. Therefore, this paper presents a fog computing scheduler for the execution of BoT IoT applications in the fog platforms to minimize makespan and maximize the reliability execution at the same time. To this end, a new reliability model is presented. Then, the BoTs scheduling issue is formulated into a multi-objective discrete optimization problem with makespan and reliability optimality viewpoints. To solve this combinatorial problem, a multi-objective discrete cuckoo search algorithm (MoDCSA) is extended. The proposed MoDCSA optimization algorithm takes the benefit of several discrete operators each of which is smartly invoked. The quality of gained results from simulations of extensive scenarios verifies the effectiveness of the proposed MoDCSA scheduling algorithm which has 2.27%, 3.89%, 5.45%, 5.40%, and 4.55% improvement in terms of makespan and 1.99%, 5.11%, 6.39%, 7.95%, and 7.78% improvement in terms of reliability against MoBLA, MoGA, MoGWO, MoSA, and MoGSA comparative algorithms respectively.
Read full abstract