Cloud computing has grown to become a popular distributed computing service offered by commercial providers. More recently, Edge and Fog computing resources have emerged on the wide-area network as part of Internet of Things (IoT) deployments. These three resource abstraction layers are complementary, and provide distinctive benefits. Scheduling applications on clouds has been an active area of research, with workflow and dataflow models serving as a flexible abstraction to specify applications for execution. However, the application programming and scheduling models for edge and fog are still maturing, and can benefit from learnings on cloud resources. At the same time, there is also value in using these resources cohesively for application execution. In this article, we present a taxonomy of concepts essential for specifying and solving the problem of scheduling applications on edge, for and cloud computing resources. We first characterize the resource capabilities and limitations of these infrastructure, and design a taxonomy of application models, Quality of Service (QoS) constraints and goals, and scheduling techniques, based on a literature review. We also tabulate key research prototypes and papers using this taxonomy. This survey benefits developers and researchers on these distributed resources in designing and categorizing their applications, selecting the relevant computing abstraction(s), and developing or selecting the appropriate scheduling algorithm. It also highlights gaps in literature where open problems remain.
@cite_90: Workflow application can be executed in cloud computing environments in utility-based fashion. In our paper, we first give a survey of cloud workflow application and present the cloud-based workflow architecture for Smart City. Then a variety of workflow scheduling algorithms are reviewed. The purpose of this paper is to making taxonomy for workflow management and scheduling in cloud environment, and also applying this cloud-based workflow architecture to Smart City environments, further presenting several research challenges in this area.
@cite_154: Cloud computing has become an increasingly important research topic given the strong evolution and migration of many network services to such computational environment. The problem that arises is related with efficiency management and utilization of the large amounts of computing resources. This paper begins with a brief retrospect of traditional scheduling, followed by a detailed review of metaheuristic algorithms for solving the scheduling problems by placing them in a unified framework. Armed with these two technologies, this paper surveys the most recent literature about metaheuristic scheduling solutions for cloud. In addition to applications using metaheuristics, some important issues and open questions are presented for the reference of future researches on scheduling for cloud.
Similarly, @cite_90 offers a brief summary of workflows and their objective criteria for scheduling on the cloud, and review literature on scheduling algorithms to achieve the same. Others have surveyed for scheduling workflows on the cloud @cite_154 . These techniques include hill climbing, simulated annealing, tabu search, GA, PSO and ACO, and these have been used to generate a schedule for workflows on clouds. While these surveys consider multiple classes of scheduling algorithm and system characteristics that lie at the intersection of several dimensions we introduce, they do not offer a taxonomy of the dimensions themselves which is essential for a rigorous analysis of this space. Edge and fog resources which have gained prominence off-late are omitted as well.