A Survey of Tasks Scheduling Algorithms in Distributed Computing Systems

A Survey of Tasks Scheduling Algorithms in Distributed Computing Systems

Nutan Kumari Chauhan, Harendra Kumar
Copyright: © 2021 |Pages: 12
DOI: 10.4018/978-1-7998-3479-3.ch018
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Distributed computing system (DCS) is a very popular field of computer science. DCS consists of various computers (processors) located at possibly different sites and connected by a communication link in such a manner that it appears as one system to the user. Tasks scheduling is a very interesting field of research in DCS. The main objectives of tasks scheduling problems are load balancing of processors, maximization of system reliability, minimizing the system cost, and minimizing the response time. Obviously, it is very complicated to satisfy all of the above objectives simultaneously. So, most of the researchers have solved the tasks scheduling problem with one or more objectives. The purpose of this chapter is to produce an overview of much (certainly not all) of tasks scheduling algorithms. The chapter is covering the little much valuable survey, tasks scheduling strategies, and different approaches used for tasks scheduling with one or more objectives.
Chapter Preview
Top

Introduction

There are various causes for using DCS. The nature of equipment may involve the utilization of a communication network which connected by some computers: for eg, data created in one site and needed in another site. There are various cases in which only one computer is required, but DCS is very helpful for practical causes. For eg., it may be extra cost-efficient to get the inclined level of performance by applying cluster of numerous low-end computers, in similarity with only high-end computer. DCS has no single point of failure, so it can offer additional reliability than a non-distributed system. DCS may be simple to expand and run than a uni-processor system. DCS have used in a large scale due to several characteristics such as communication, computational speedup, fault tolerance, increased throughput, resource sharing etc.

Tasks scheduling is very important phase in DCS, mainly it is assigning of tasks onto processors as a manner so that some efficiency actions are optimized. An effective tasks scheduling policy avoid too much inter-tasks communication and utilize the precise effectiveness of the processors. It is extremely important step in exploiting the capacity of system and it may be done in two ways: Dynamic Scheduling and Static Scheduling. The most important plan of tasks scheduling is toward decrease the running cost of a program. The cost can be characterized by time, money or some other measure of resources usage.

In DCS, resources of system can be split by users at different sites through the communication link. However in proper utilization of total computing power of DCS, a fundamental problem arises. It may happen that a certain processor has very few workloads while another processor has more workload at a given time. It is required to distribute total workload of DCS of its overall processors. This evades under use of power and further it decreases response time for deputize at more heavily loaded processor. Generally, the form of computing power sharing with the intention of getting better performance of a DCS by rearranging the workload between the available processors called load balancing. The progress in the presentation of system through redistributing the workload among processors is the main aim of load balancing policies.

The reliability of DCS is probability that system can run the whole application successfully. If system is complex then it is very difficult to system in it’s entirely. The logical technique is applied to crumble the entire system into function entities compiled of subsystems and units. Each entity is either operational or failed. The sub-division generates the block diagram of system. Models are prepared to fit the logical arrangement and calculus of probability is applied to figure out reliability of system in terms of sub-division reliabilities. There are two types of reliabilities in DCS: first is processor-related reliability, for example reliability of resources and reliability of computation; another is the path / link-related reliability, for example reliability of communication paths between allocated processors.

The processing of a program is of two types: serial processing or parallel processing.

Difference between serial processing and parallel processing are given in the following table-1:

Table 1.
Difference between serial and parallel processing
S. No.Serial ProcessingParallel Processing
1.There exist several tasks and processors even although only single task is active on a processor at a given timeMore than one task of the program may execute concurrently for various periods during the lifetime of a program
2.The main concern in a serial processing of programs is variability or non-uniformity of computation requirements and the overhead of communicationThe main concern of parallel processing is to reduce the total time of the program by running different parts of the program
3.The challenge of distributed processing lies in matching requirements against resources without incurring excessive communication overheadIn parallel processing, arranging the order of execution of the various tasks on the processors is a major problem
4.Generally, serial processing is used for long distanceGenerally, parallel processing is used for short distance

Key Terms in this Chapter

Honeybee Mating Optimization: Search algorithm based on swarm approach to optimization.

Genetic Algorithm: An algorithm that mimics the genetic concepts of natural selection, combination, selection, and inheritance.

Communication Network: Prototype of paths in which information flows in the organization.

Tasks Scheduling: Method by which work is assigned to resources that complete the work.

Load Balancing: Distribution of workloads across multiple computing resources.

Particle Swarm Optimization: Computational method that optimizes a problem by iteratively trying to improve a solution with regard to a given measure of quality.

Response Time: Total amount of time it takes to respond to a request for service.

Neural Network: Set of algorithms, modelled loosely after the human brain, that is designed to recognize patterns.

System Reliability: Describes the ability of a system to function under stated conditions for a given period of time.

Execution Time: Time spent by the system executing that task, including the executing running time or system service on its behalf.

Communication Time: In which all users can exchange information instantly or with negligible latency.

Complete Chapter List

Search this Book:
Reset