Scheduling Algorithms in Fog Computing: A Survey - Matrouk, Khaled; Alatoun, Kholoud (The International journal of networked and distributed computing (Online), 2021)
Over the last recent years, applications related to the internet of things have become the most important techniques in the world that facilitate interactions among humans and things to enhance the quality of life. So, the number of devices used in these applications will increase, leading to the creation of huge amounts of data. Cisco proposed fog computing in 2012, which located between the end-users (Internet of Things devices) and cloud computing. Fog computing is not a replacement for cloud computing, but it reduces the drawbacks of cloud computing, makes it efficient and provides storage and computing services at the edge of the internet. Resource management is the key factor that decides the performance of fog computing. Whereas scheduling plays an important role in managing resources in fog computing, task scheduling is the ability to map tasks to the appropriate resources in fog computing. The task is a small part of a work that must be performed within a specific time. Because fog computing contains heterogeneous and distributed resources, task scheduling becomes complex. Task scheduling is an NP-hard problem that needs to apply effective task scheduling strategies to reach an ideal solution. There were many proposed algorithms about scheduling in the previous years; most of them were applied in cloud computing, while the minority were applied in fog computing. This paper aims to comprehensively review and analyze the most important up-to-date scheduling algorithms in fog computing.