0% found this document useful (0 votes)
40 views8 pages

My Paper

Uploaded by

Erika Latollari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views8 pages

My Paper

Uploaded by

Erika Latollari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Process Scheduling Algorithms: A Comprehensive

Review and Comparative Analysis of Today's


Leading Approaches
Erika Latollari
Informatics Engineering Department,
Faculty of Information Technology
Polytechnic University of Tirana
Tirana, Albania
[email protected]

Abstract— Scheduling algorithms are an essential allowing higher-priority processes to interrupt lower-priority
component of modern operating systems, responsible for ones. This approach can result in shorter wait times for all
allocating CPU time and other system resources to multiple processes, but it can also be more complex to implement and
processes concurrently. Over the years, various scheduling may result in lower overall system throughput [2][3].
algorithms have been developed to optimize system
performance and resource utilization in different scenarios. Other factors that are commonly considered in
This review paper provides an overview of the most common scheduling algorithms include response time, which is the
scheduling algorithms in use today, including First-Come, time it takes for a process to start executing after it is
First-Served (FCFS), Shortest Job First (SJF), Priority submitted to the system, and turnaround time, which is the
Scheduling and Round Robin (RR). Additionally, we explore total time it takes for a process to complete execution.
some of the emerging trends in scheduling algorithms, Additionally, various scheduling algorithms have been
including Dynamic Scheduling, Real time Scheduling, Machine developed that attempt to optimize for other factors, such as
Learning-Based Scheduling and Energy-Efficient Scheduling. minimizing the number of context switches or maximizing
We also examine the advantages and disadvantages of each the utilization of I/O devices [4].
scheduling algorithm and highlight their applicability in
different use cases. This review paper aims to provide a In this paper, we will review various types of scheduling
comprehensive understanding of scheduling algorithms in algorithms, their properties, and their applications in
operating systems and their impact on system performance, different environments. We will explore the advantages and
scalability, and energy efficiency. disadvantages of different scheduling algorithms, as well as
their impact on system performance and efficiency. By
Keywords— FCFS, SJF, Priority Scheduling, RR, Dynamic understanding the trade-offs and limitations of different
Scheduling, Real Time Scheduling, Machine Learning-Based scheduling algorithms, we can gain a deeper appreciation for
Scheduling, Energy-Efficient Scheduling. the complexity of operating system design and better
understand the ways in which scheduling algorithms impact
I. INTRODUCTION the overall performance of computer systems.
Scheduling algorithms are a fundamental aspect of One of the latest trends in process scheduling algorithms
modern operating systems, responsible for managing and is the use of machine learning techniques [5] to optimize
allocating system resources among multiple processes. Of all scheduling decisions. These techniques involve training a
the resources available in a computer system, the CPU is model on historical data and using it to make predictions
typically the most important, and scheduling algorithms play about which processes should be executed next. Machine
a crucial role in maximizing its utilization, efficiency, and learning algorithms can take into account a wide range of
responsiveness [1]. factors, such as the current state of the system, the priority of
The goal of scheduling algorithms is to ensure that all different processes, and the historical performance of
processes receive a fair share of CPU time, while also different scheduling decisions, to make more accurate
maximizing the overall throughput of the system. In general, predictions about which processes should be executed.
scheduling algorithms can be classified as either preemptive Another trend in process scheduling algorithms is the use
or non-preemptive. In a preemptive algorithm, the CPU can of real-time scheduling. Real-time scheduling [6] involves
be taken away from a running process if a higher-priority ensuring that critical tasks are executed on time, even in the
process arrives, while in a non-preemptive algorithm, a presence of competing non-critical tasks. This is particularly
running process must complete before another process can be important in systems such as autonomous vehicles or
scheduled. industrial control systems, where delays or missed deadlines
Non-preemptive scheduling algorithms generally follow can have serious consequences.
the First Come First Serve (FCFS) rule, meaning that Another emerging trend in process scheduling is the use
processes are executed in the order in which they arrive. of dynamic scheduling algorithms that can adapt to changing
While this approach can be fair, it can also result in long wait conditions in real-time. Dynamic scheduling algorithms can
times for shorter processes that may be blocked by longer adjust the scheduling priorities of different processes based
processes. However, non-preemptive scheduling algorithms on the current workload and system resources, to optimize
can be useful in certain environments where fairness is a system performance [7].
higher priority than efficiency [2].
In addition, there is increasing interest in developing
Preemptive scheduling algorithms, on the other hand, are energy-aware scheduling algorithms that can reduce the
designed to maximize the efficiency of the system by
energy consumption of computing systems [8]. These lower overall system performance and
algorithms take into account the power consumption of efficiency.
different processes and the hardware resources required to
execute them, and make scheduling decisions that minimize
energy consumption without sacrificing system performance.  Long waiting times: Another potential
disadvantage of FCFS is that processes that
II. THE MOST COMMON SCHEDULING ALGORITHMS IN USE arrive later may have to wait a long time before
TODAY they are executed. This can result in high
average waiting times, which can be a problem
A. First Come First Serve in applications where timely processing is
First-Come, First-Serve (FCFS) is a scheduling algorithm important.
used in operating systems and computer networks to manage  No consideration for process priority: FCFS
the execution of processes or tasks. In FCFS, the processes does not take into account the priority of
are executed in the order in which they arrive, with the first processes, which can be a problem in
process that arrives being the first one to be executed, applications where some processes are more
followed by the second process, and so on. important than others. For example, in a real-
The FCFS algorithm is simple and easy to implement, time system, a process that is critical for system
and it ensures that no process is kept waiting indefinitely. performance may be delayed by lower priority
However, it can lead to long waiting times for processes that processes [9].
arrive later, especially if the first process that arrives is a
long-running one. B. Shortest Job First
SJF is a scheduling algorithm that is used in computer
To implement FCFS, the operating system maintains a
operating systems to manage the execution of processes. It is
queue of processes that are waiting to be executed. When a
a non-preemptive scheduling algorithm, which means that
new process arrives, it is added to the end of the queue. The
once a process has started executing, it will continue to run
operating system then selects the first process in the queue
until it completes, or until it blocks for some reason (such as
and executes it. When the first process completes, the
waiting for input/output or waiting for another process to
operating system selects the next process in the queue and
complete) [12].
executes it, and so on [10].
The basic idea behind SJF scheduling is to always
One variant of FCFS is the preemptive FCFS algorithm,
schedule the shortest job first. This is based on the
where a process can be preempted by a higher-priority
assumption that shorter jobs will complete faster, and that
process that arrives later. In this variant, the operating system
this will lead to a better overall performance of the system in
checks for the arrival of new processes and compares their
terms of turnaround time (i.e., the time it takes for a process
priorities with the currently executing process. If a higher-
to complete from start to finish).
priority process arrives, it is executed instead of the currently
executing process [11]. There are two variations of SJF scheduling: preemptive
and non-preemptive. Preemptive SJF scheduling allows a
1) Advantages running process to be preempted (i.e., stopped) if a shorter
process arrives and needs to run. Non-preemptive SJF
 Simplicity: FCFS is a straightforward algorithm scheduling does not allow preemption, so a running process
that requires minimal computational resources. will continue until it completes, regardless of whether a
It is easy to implement, making it an attractive shorter process arrives or not [13].
choice for simple scheduling systems.
1) Advantages
 Fairness: FCFS is a fair scheduling policy, as it
ensures that all processes are executed in the  It can lead to faster turnaround times for processes,
order in which they arrive. This means that no which can improve the overall performance of the
process is given priority over another, which can system.
be important in certain applications.
 It is relatively easy to implement.
 No starvation: The FCFS algorithm guarantees
that no process is left waiting indefinitely. Since  It can be more fair than other scheduling
all processes are executed in the order they algorithms, as shorter processes will always get
arrive, there is no risk of a process being priority.
delayed indefinitely due to other processes
being given priority. 2) Disadvantages

2) Disadvantages  It requires knowledge of the length of each process


before it starts executing, which may not always be
 Poor utilization of resources: One disadvantage possible or practical.
of FCFS is that it can lead to poor utilization of
resources. If a long-running process is executed  It may lead to starvation (i.e., a process may never
first, it can hold up the CPU, preventing other get a chance to run) for longer processes if a steady
processes from being executed. This can lead to stream of shorter processes keep arriving [14].
To implement SJF scheduling, the system must maintain 1) Advantages
a ready queue of processes waiting to be executed [16].
Whenever a process completes or becomes blocked, the  Easy to use scheduling method.
scheduler selects the shortest job from the ready queue and
assigns it to the CPU for execution. If multiple jobs have the  Processes are executed on the basis of priority so
same shortest length, the scheduler may use additional high priority does not need to wait for long which
criteria, such as the arrival time of the process, to break the saves time.
tie.  This method provides a good mechanism where the
In summary, SJF scheduling is a non-preemptive relative important of each process may be precisely
scheduling algorithm that prioritizes the shortest job first. It defined.
can lead to faster turnaround times for processes, but it
 Suitable for applications with fluctuating time and
requires knowledge of the length of each process before it
resource requirements.
starts executing, which may not always be possible or
practical [15]. 2) Disadvantages

C. Priority scheduling  If the system eventually crashes, all low priority


processes get lost.
 If high priority processes take lots of CPU time,
then the lower priority processes may starve and
will be postponed for an indefinite time.
 This scheduling algorithm may leave some low
priority processes waiting indefinitely.
 A process will be blocked when it is ready to run
but has to wait for the CPU because some other
Fig. 1. The classification of processes in Priority Scheduling process is running currently.
 If a new higher priority process keeps on coming in
Priority scheduling is a process scheduling algorithm that the ready queue, then the process which is in the
assigns a priority value to each process and selects the
waiting state may need to wait for a long duration
process with the highest priority for execution, fig 1. The
of time [20].
higher the priority of a process, the sooner it will be
executed. The priority of a process can be based on various
factors such as memory requirements, time requirements, D. Round Robin scheduling
and the importance of the task.
Processes with higher priority are given preference over Round Robin (RR) scheduling is a preemptive scheduling
processes with lower priority, and processes with equal algorithm used in computer systems to allocate CPU time to
priority are scheduled on a round-robin or first-come-first- processes. In RR scheduling, each process is given a fixed
serve (FCFS) basis. The goal of priority scheduling is to time quantum or time slice, after which it is preempted and
minimize the average waiting time and response time of placed at the back of the queue. The next process in the
processes by giving preference to important or time-critical queue is then executed for the same amount of time, and the
tasks [17] [18]. process continues in a circular manner.
Priority scheduling can be categorized into two main
types: Preemptive Scheduling and Non-Preemptive The RR scheduling algorithm [22] is given by
Scheduling. In Preemptive Scheduling, each task is assigned following steps:
a priority, and the CPU is allocated to the task with the
highest priority. If a higher-priority task arrives while a  The scheduler maintains a queue of ready
lower-priority task is already executing, the lower-priority processes and a list of blocked and swapped out processes.
task is preempted and put on hold until the higher-priority  The Process Control Block of newly created
task finishes its execution. process is added to end of ready queue. The
On the other hand, Non-Preemptive Scheduling is a Process Control Block of terminating process is
scheduling method where the CPU is allocated to a process, removed from the scheduling data structures.
and the process continues to use the CPU until it finishes its  The scheduler always selects the Process Control
execution or releases the CPU voluntarily by blocking or Block from the head of the ready queue. This is a
waiting for I/O. Unlike Preemptive Scheduling, Non- disadvantage since all processes are basically
Preemptive Scheduling does not require special hardware given the same priority. Round robin also favors
such as a timer, making it suitable for various hardware the process with short CPU burst and penalizes
platforms. In both types of Priority Scheduling, tasks are long ones [23].
assigned priorities based on their relative importance, and the  When a running process finishes its time slice, it is
goal is to minimize the average waiting time and response moved to end of ready queue. A time slice [24] is
time of processes [19] [21].
an amount of time that each process spends on the
processor per iteration of the Round Robin
algorithm. All processes are executed in a first
come first serve manner but are preempted after a  Context Switches
time slice. The process will either finish in the When the time slice of the task ends and the task is still
time slice given or the process will be returned to executing on the processor the scheduler forcibly preempts
the tail of the ready queue and return to the the tasks on the processor and stores the task context in
processor at a later time. stack or registers and allocates the processor to the next task
 The event handler performs the following actions: in the ready queue [26]. This action which is performed by
a) When a process makes an input -output request the scheduler is called as context switch. Context switch
or swapped out, its Process Control Block is leads to the wastage of time, memory and leads to scheduler
removed from ready queue to blocked/swapped overhead.
out list [25].
b) When input-output operation awaited by a  Low throughput
process finishes or process is swapped in its Throughput is defined as number of process completed per
Process Control Block is removed from time unit. If round robin is implemented in soft real time
blocked/swapped list to end of ready queue. systems throughput will be low which leads to severe
degradation of system performance. If the number of
1) Advantages context switches is lower, then the throughput will be high.
Context switch and throughput are inversely proportional to
 Fairness: Round Robin Scheduling ensures fairness each other [27].
among all processes. Each process gets an equal
amount of CPU time, and no process is starved of III. NEW APPROACHES
CPU time for an extended period.
A. Machine Learning-Based Scheduling
 Response Time: Round Robin Scheduling ensures With the rapid development in data science, machine
that each process gets a quick response time, even learning has become a widely used technique in many areas,
such as computer science, electrical engineering,
for long-running processes. This is because each
manufacturing, and transportation [28]. As a classical
process gets a time slice, and it is guaranteed to get
combinatorial optimization problem, scheduling is known for
CPU time within that time slice. its practical value and non-deterministic polynomial-time
(NP) hardness. Since machine learning could serve to make
 Throughput: Round Robin Scheduling has good complex algorithms concise and efficient, more studies [29]
throughput because it allows multiple processes to tend to tackle the scheduling problems with machine
be executed simultaneously. It can handle both learning-based methods in recent years. Many scholars are
CPU-bound and I/O-bound processes efficiently. interested in studying the combination of the two, and put
forward some practical cases. Machine learning-based
 Predictability: Round Robin Scheduling is methods could be classified into many categories, the best
predictable because it assigns a fixed time slice to known of which are reinforcement learning, random forests,
each process. This makes it easy to estimate the and neural networks. The scopes and application areas of
total time a process will take to complete. these algorithms are different, so are their strong suits and
disadvantages when combined with scheduling.
 Low Latency: Round Robin Scheduling has low 1) Researches from different authors
latency because it preempts processes after a fixed
time slice, which ensures that each process gets a The CPU scheduler has the prime duty to keep busy the
chance to execute within a short time frame. CPU all the time. Researchers have proposed many
algorithms for improving CPU scheduling which maximizes
Overall, Round Robin Scheduling is a good scheduling the resource utilization effectively. Negi et al. proposed a
algorithm for systems where multiple processes need to be machine learning algorithm to calculate best predicted burst
executed simultaneously and fairness, predictability, and time by doing analysis of static and dynamic attributes of
low latency are critical requirements [25]. processes for improving a Linux scheduling algorithm [30].
These authors found the decision tree algorithm most
appropriate for his problem. They achieved around 91%
2) Disadvantages accuracy by modifying the Linux kernel scheduler that
allows customized time slice scheduling. This approach
 Larger waiting time and Response time minimized the context switching between processes which
In round robin architecture the time which process spends in wastes CPU utilization.
the ready queue waiting for the processor to get executed is
known as waiting time and the time when the process takes Naila et al. suggested Bayesian decision theory as a
to complete its job and exit from the task is called as classifier for scheduling the processes in the ready queue
turnaround time. Larger waiting and response time are [31]. These authors divided the processes into useful/non
clearly a drawback in round robin architecture as it leads to useful categories depending upon static and dynamic
degradation of system performance. properties of the processed data. The proposed model
achieved 96% accuracy but the accuracy varied time by time
depending upon the data and the model did not contain any
security features which prevents the user from writing their After that, the dataset was analyzed and divided into training
own program. and testing sets.
2. Attributes filtering/selecting: feature selection techniques
Helmy et al. proposed a machine learning based approach to were applied to select the most significant attributes by
estimate CPU burst time in computational grids [32]. These applying feature selection technique.
authors chose 16 attributes of the processes as feature sets 3. Generating the model: in this step ML techniques namely
and then applied K Nearest Neighbor, Support Vector SMOReg, MLP, Decision tree (REPtree) and K-NN were
Machine (SVM), Artificial Neural Network (ANN) and applied to generate the model using the training dataset.
decision tree methods for the calculation of burst time. They 4. Evaluating the model: in this step, the testing dataset was
achieved around 94% to 97% accuracy using these used to evaluate the generated model, in the previous step.
algorithms but KNN gave the best results. This study shows The performance of the generated model 4 was then
that there is a linear relationship of CPU burst time and evaluated in terms of Correlation Coefficient (CC) and
process attributes. The work used feature selection Relative Absolute Error (RAE).
techniques and got better results with reduced features in 5. Predicting the CPU burst time of the process: the
terms of computational time and memory space. Ojha et al. generated model was used to predict the CPU burst
proposed a machine leaning module to reduce the number of time of a new process in the input queue.
preemptions by predicting a better time slice for a process 6. The process with its predicted CPU burst length is sent
[33]. They used an adaptive reinforcement learning to the ready queue to be scheduled.
algorithm and static knowledge. The proposed work gave
better throughput time and saved CPU cycles.

Sharma et al. proposed a genetic algorithm optimized


approach for CPU scheduling in an operating system [34].
The proposed algorithm optimized average waiting time for
better utilization of computer resources. Siregar et al. also
proposed a genetic round robin approach for optimizing
waiting time which leads to better CPU cycle utilization
[35].

Varshney et al. proposed an algorithm for efficient CPU


scheduling using fuzzy logic [36]. They proposed an
optimized quantum time of round robin through fuzzy logic
due to which processes have short response time and good
throughput. They compared their results with FCFS and
standard round robin and the proposed technique gave better
results due to less context switching.

Kong et al. proposed a dynamic task scheduling algorithm


named SALAF by using type I and II fuzzy logic systems
[37]. The proposed algorithm gave good results for
visualized data centers while maintaining a good responsive
performance.

2) A Machine Learning Approach by Helmy

Machine Learning (ML) algorithms can be used to select the


CPU scheduling algorithm. ML as a technique has been
used frequently in computer science and engineering fields Fig. 2. The proposed Approach [32].
that concern in constructing computer programs aiming to
improve their performance automatically with experience. It The experimental results suggest that there is a strong linear
is about learning some properties of a portion of data at relationship between the process attributes and the burst
hand called training set and using the other portion of that CPU time. The K-NN algorithm was found to perform better
dataset as testing set to test the learned properties. Four ML than other machine learning techniques in nearly all cases,
techniques named SMOReg, MLP, Decision tree (REPtree) based on evaluation metrics such as correlation coefficient
and K-NN are used in this work. The proposed approach (CC) and relative absolute error (RAE). The use of attribute
consists of six steps as shown in Fig. 2. selection techniques helped to improve the performance of
the models in terms of space and prediction time.
These steps are summarized as following: The results also indicate that the prediction of CPU-burst
1. Preparing/creating the dataset: in this step, a real grid length is more accurate for processes with historical
workload which contains process attributes is used. Then, information than for those without. This approach can be
the process attributes were represented as feature vectors. used to implement Shortest Job First (SJF) and Shortest
Remaining Time First (SRTF) scheduling algorithms in B. Energy-efficient scheduling
computer systems.
In summary, the study proposes a machine learning-based Energy-efficient scheduling is a type of scheduling that
approach for predicting burst CPU time in computer aims to minimize energy consumption while maintaining
systems, which can help improve scheduling algorithms and performance requirements. It is becoming increasingly
overall system performance [32]. important in many industries, including data centers,
transportation, and manufacturing, where energy costs are a
3) Advantages significant part of operational expenses.
Energy-efficient scheduling involves optimizing the
 Improved Efficiency: Machine learning-based allocation of resources such as processors, storage, and
scheduling can analyze large amounts of data network bandwidth to minimize energy consumption while
quickly and accurately, leading to more efficient meeting performance requirements. This can be achieved
scheduling decisions. through a variety of techniques, including task
 Better Accuracy: By analyzing historical data, consolidation, dynamic voltage and frequency scaling, and
machine learning algorithms can predict demand power-aware load balancing [38].
and resource utilization with greater accuracy,
leading to more accurate scheduling decisions. 1) The benefits of energy-efficient scheduling include:
 Cost Savings: Machine learning-based scheduling
can help reduce costs associated with overtime, idle  Cost Savings: By reducing energy consumption,
time, and underutilization of resources. companies can save on operational costs associated
 Improved Customer Service: By optimizing with energy usage.
scheduling, companies can provide better customer
service by reducing wait times and improving  Reduced Carbon Footprint: By reducing energy
response times. consumption, companies can reduce their carbon
 Customization: Machine learning-based scheduling footprint and contribute to environmental
can be tailored to specific needs, allowing sustainability.
companies to optimize scheduling based on their
unique requirements.  Improved Reliability: Energy-efficient scheduling
can improve system reliability by reducing the risk
4) Disadvantages of system failures due to overheating or other
energy-related issues.
 Data Quality: The accuracy of machine learning-
based scheduling models is highly dependent on  Better Resource Utilization: By optimizing
the quality and completeness of data. Poor quality resource allocation, energy-efficient scheduling can
data can lead to inaccurate predictions and improve resource utilization and reduce waste.
suboptimal scheduling decisions.
 Model Complexity: Machine learning models can  Improved Performance: Energy-efficient
be complex, and it may be difficult to understand scheduling can maintain or even improve
how they arrive at scheduling decisions. This can performance while reducing energy consumption.
make it challenging to identify and correct errors or
biases in the model. 2) However, there are also some challenges associated
 Limited Interpretability: Some machine learning with energy-efficient scheduling, including:
models, such as neural networks, can be difficult to
interpret. This can make it challenging to  Complexity: Energy-efficient scheduling can be
understand how the model is making scheduling complex, as it involves balancing performance
decisions and to identify the factors that are driving requirements with energy consumption.
those decisions.
 High Initial Costs: Implementing machine  Trade-offs: Energy-efficient scheduling often
learning-based scheduling requires significant involves trade-offs between energy consumption
upfront investment in terms of hardware, software, and performance. Companies must carefully
and personnel. This can be a barrier to adoption for consider these trade-offs to ensure that they are
some companies. making the best decisions for their operations.
 Risk of Automation Bias: Relying too heavily on
machine learning-based scheduling can lead to a  Lack of Standardization: There is currently a lack
loss of human judgment and intuition. This can of standardization in energy-efficient scheduling,
lead to a situation where the model is making which can make it challenging for companies to
decisions that are not in the best interest of the implement and compare different approaches.
company or its customers.
 Hardware Limitations: Some hardware may not
support energy-efficient scheduling techniques,
which can limit their effectiveness [39] [40].
IV. CONCLUSION 2013 International Conference on Mechatronic Sciences, Electric
Engineering and Computer (MEC), 2013, pp. 951-955.
Scheduling algorithms play a crucial role in computer [12] S. Lupetti and D. Zagorodnov, "Data popularity and shortest-job-first
systems, helping to allocate resources and prioritize tasks to scheduling of network transfers," in International Conference on
optimize system performance. A variety of scheduling Digital Telecommunications, Cote d'Azur, 2006 pp. 26.
algorithms exist, ranging from simple, deterministic [13] L. Cherkasova and J. Lee. FastReplica: Efficient large file distribution
approaches to complex, adaptive algorithms that incorporate within content delivery networks. In Proceedings of the 4th USENIX
machine learning techniques. Symposium on Internet Technologies and Systems, 2003.
[14] I. Savvas, D. Tselios and M. Kechadi, "Project Portfolio: A Job
Each scheduling algorithm has its own strengths and Scheduling Approach," in 2010 International Conference on
weaknesses, and the choice of algorithm depends on the Complex, Intelligent and Software Intensive Systems, Palermo Italy,
specific requirements and constraints of the system. For 2012 pp. 847-852.
example, real-time systems may require deterministic [15] A. Goel, M. R. Henzinger, S. Plotkin, and E. Tardos. Scheduling data
transfers in a network and the set scheduling problem. In STOC ’99:
scheduling algorithms, while dynamic systems may benefit Proceedings of the thirty-first annual ACM symposium on Theory of
from adaptive algorithms that can respond to changing computing, pages 189–197, New York, NY, USA, 1999.
conditions. [16] Shah, S. N. M., Mahmood, A. K. Bin, & Oxley, A. (2009).
Hybrid Scheduling and Dual Queue Scheduling.2009 2nd IEEE
Advancements in machine learning and energy-efficient International Conference on Computer Science and Information
scheduling techniques have led to the development of new Technology.
scheduling algorithms that can further optimize system [17] Kyle Singer, Noah Goldstein, Stefan K. Muller, Kunal Agrawal, I-
performance and reduce energy consumption. However, Ting Angelina Lee, and Umut A. Acar. 2020. Priority Scheduling for
these approaches also come with their own challenges, such Interactive Applications. In Proceedings of the 32nd ACM
as data quality, model complexity, and hardware limitations. Symposium on Parallelism in Algorithms and Architectures (SPAA
'20). Association for Computing Machinery, New York, NY, USA,
Overall, scheduling algorithms continue to evolve and 465–477.
improve, driven by the increasing demands of modern [18] S. Lam and G. Xie, "Group priority scheduling" in IEEE/ACM
computer systems. As such, it is important for system Transactions on Networking, vol. 5, no. 02, pp. 205-218, 1997.
administrators and developers to stay up-to-date with the [19] S. Baruah, J. Jonsson and B. Andersson, "Static-Priority Scheduling
on Multiprocessors," in 2013 IEEE 34th Real-Time Systems
latest developments and choose the right scheduling Symposium, London, England, 2001 pp. 193.
algorithm for their specific needs. [20] H. Nirmala and H. Girijamma, "Fuzzy Priority Scheduling Algorithm
for Multiprocessor Systems," in 2017 International Conference on
REFERENCES Recent Advances in Electronics and Communication Technology
(ICRAECT), Bangalore, India, 2017 pp. 275-278.
[1] Qureshi, Imran. (2014). CPU Scheduling Algorithms: A Survey. [21] 3 R. Ha and J. W. S. Liu. Validating timing constraints in
International Journal of Advanced Networking and Applications. 5.
multiprocessor and distributed real-time systems. In Proc.of the IEEE
1968-1973. Int ’1 ConJ on Distributed Computing Systems, pages 162-171,
[2] N. Guan, G. Yu, W. Yi, Q. Deng and Z. Gu, "New Schedulability Poznan, Poland, June 1994.
Test Conditions for Non-preemptive Scheduling on Multiprocessor
[22] Chaskar, H. M., & Madhow, U. (2003). Fair scheduling with tunable
Platforms," in 2013 IEEE 34th Real-Time Systems Symposium, null, latency: A round-robin approach. IEEE/ACM Transactions on
2008 pp. 137-146 Networking, 11(4), 592–601.
[3] S. K. Baruah, “The non-preemptive scheduling of periodic tasks upon
[23] Balogh, T., Luknárová, D., & Medvecký, M. (2010). Performance of
multiprocessors,” Real-Time Syst., 2006. Round Robin-Based Queue Scheduling Algorithms. 2010 Third
[4] S. Hunold and B. Przybylski, "Teaching Complex Scheduling International Conference on Communication Theory, Reliability, and
Algorithms," in 2021 IEEE International Parallel and Distributed Quality of Service.
Processing Symposium Workshops (IPDPSW), Portland, OR, USA, [24] Stanley A.Kurzban, Thomas S. Heines, and Anthony P Sayers,
2021 pp. 321-327. “Operating Systems Principles”, pages 50-52, 370-371, Van Nostrand
[5] B. Assiri and C. Busch, "Transactional Memory Scheduling Using Reinhold Company, 1984.
Machine Learning Techniques," in 2016 24th Euromicro International [25] Luciano Lenzini, Enzo Mingozzi, and Giovanni Stea. 2006.
Conference on Parallel, Distributed, and Network-Based Processing Bandwidth and latency analysis of modified deficit round robin
(PDP), Heraklion, Crete, Greece, 2016 pp. 718-725. scheduling algorithms. In Proceedings of the 1st international
[6] F. Mallet and M. Zhang, "Work-in-Progress: From Logical Time conference on Performance evaluation methodolgies and tools
Scheduling to Real-Time Scheduling," in 2018 IEEE Real-Time (valuetools '06). Association for Computing Machinery, New York,
Systems Symposium (RTSS), Nashville, TN, USA, 2018 pp. 143-146. NY, USA, 41–es.
[7] N. Sukhija, B. Malone, S. Srivastava, I. Banicescu and F. Ciorba, [26] M. Medvecký, D. Luknárová and T. Balogh, "Performance of Round
"Portfolio-Based Selection of Robust Dynamic Loop Scheduling Robin-Based Queue Scheduling Algorithms," in 2010 Third
Algorithms Using Machine Learning," in 2014 IEEE International International Conference on Communication Theory, Reliability, and
Parallel & Distributed Processing Symposium Workshops (IPDPSW), Quality of Service, Athens, Greece, 2010 pp. 156-161.
Phoenix, AZ, USA, 2014 pp. 1638-1647. [27] B. Alam, M. Doja and R. Biswas, "Finding Time Quantum of Round
[8] Y. Changtian and Y. Jiong, "Energy-Aware Genetic Algorithms for Robin CPU Scheduling Algorithm Using Fuzzy Logic," in 2008
Task Scheduling in Cloud Computing," in 2013 8th ChinaGrid International Conference on Computer and Electrical Engineering
Annual Conference, Beijing, China China, 2012 pp. 43-48. (ICCEE), Phuket, 2008 pp. 795-798.
[9] W. Zhao and J. Stankovic, "Performance analysis of FCFS and [28] Benda, F., et al.: A machine learning approach for flow shop
improved FCFS scheduling algorithms for dynamic real-time scheduling problems with alternative resources, sequence-dependent
computer systems," in 1989 Real-Time Systems Symposium, Santa setup times, and blocking. OR Spectr. 41(4), 871– 893 (2019)
Monica, CA, USA, 1989 pp. [29] Sui, X., et al.: Virtual machine scheduling strategy based on machine
[10] W. Li and H. Shi, "Dynamic Load Balancing Algorithm Based on learning algorithms for load balancing. EURASIP J. Wirel. Commun.
FCFS," in Innovative Computing ,Information and Control, Netw. 2019(1), 160 (2019)
International Conference on, Kaohsiung, Taiwan, 2009 pp. 1528- [30] Negi, A., & Kumar, P. K., “Applying machine learning techniques to
1531. improve linux process scheduling,” in TENCON 2005-2005 IEEE
[11] C. Wang and Y. Xie, "A Study of First-Come-First-Serve Scheduling Region 10 Conference, 1 –6 (2005).
Mechanism and Its Performance Evaluation," in Proceedings of the
[31] Aslam, N., Sarwar, N., & Batool, A., “Designing a model for [37] Kong, X., Lin, C., Jiang, Y., Yan, W., & Chu, X., “Efficient dynamic
improving CPU scheduling by using machine learning,” International task scheduling in virtualized data centers with fuzzy prediction,”
Journal of Computer Science and Information Security, 14 (10), Journal of network and Computer Applications, 34 (4), 1068 –1077
(2016). (2011). https://doi.org/10.1016/j.jnca.2010.06.001
[32] Helmy, T., Al-Azani, S., & Bin-Obaidellah, O., “A machine learning- [38] J. Li, B. Guo, Y. Shen, D. Li and Y. Huang, "Low-Energy Kernel
based approach to estimate the CPU-burst time for processes in the Scheduling Approach for Energy Saving," in 2016 13th International
computational grids,” in 2015 3rd International Conference on Conference on Embedded Software and Systems (ICESS), Chengdu,
Artificial Intelligence, Modelling and Simulation (AIMS), 3 –8 China, 2016 pp. 30-35.
(2015). [39] Wanghong Yuan and Klara Nahrstedt. 2006. Energy-efficient CPU
[33] Ojha, P., Thota, S. R., Vani, M., & Tahilianni, M. P., “LEARNING scheduling for multimedia applications. ACM Trans. Comput. Syst.
SCHEDULER PARAMETERS FOR ADAPTIVE PREEMPTION,” 24, 3 (August 2006), 292–331.
https://doi.org/10.5121/csit.2015.51500 https://doi.org/10.1145/1151690.1151693
[34] Sharma, M., Sindhwani, P., & Maheshwari, V., “Genetic algorithm [40] Weiser, M., Welch, B., Demers, A., Shenker, S. (1994). Scheduling
optimal approach for scheduling processes in operating system,” for Reduced CPU Energy. In: Imielinski, T., Korth, H.F. (eds) Mobile
International Journal of Computer Science and Network Security Computing. The Kluwer International Series in Engineering and
(IJCSNS), 14 (5), 91 (2014). Computer Science, vol 353. Springer, Boston, MA.
[35] Siregar, M. U., “A new approach to CPU scheduling algorithm: https://doi.org/10.1007/978-0-585-29603-6_17
genetic round robin,” International Journal of Computer Applications,
47 (19), (2012).
[36] Varshney, P. K., Akhtar, N., & Siddiqui, M. F. H., “Efficient CPU
scheduling algorithm using fuzzy logic,” in International conference
on computer technology science, 13 –18 (2012).

You might also like