International Journal of Fuzzy Logic and Intelligent Systems 2024; 24(1): 30-42
Published online March 25, 2024
https://doi.org/10.5391/IJFIS.2024.24.1.30
© The Korean Institute of Intelligent Systems
Abdul Kareem1 and Varuna Kumara2
1Department of Electronics and Communication, MIT Kundapura, Karnataka, India
2Department of AI & ML, MIT Kundapura, Karnataka, India
Correspondence to :
Varuna Kumara (vkumarg.24@gmail.com)
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted noncommercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
For a computer-based system, a set of processes must be scheduled such that every process is completed within its deadline. CPU scheduling is the process of allocating CPU among various processes in a multi-processing system. The decision to allocate the CPU to a process has to take into consideration all aspects, including its priority and execution time, as scheduling is guided by a number of factors other than the execution time or priority. It is no longer one-dimensional and has become a multidimensional problem with vagueness and uncertainties such as different CPU loading scenarios. The vagueness and uncertainties associated with the decision to allocate a CPU to a particular process can be addressed using a fuzzy logic approach. In this study, we propose a fuzzy logic-based algorithm for CPU scheduling. The proposed algorithm was compared with conventional scheduling algorithms for different CPU loading scenarios. The proposed method can schedule and execute all processes well within the deadline with a reduced average turn-around and a reduced average waiting time. From the comparison results, it is evident that the proposed algorithm outperforms conventional algorithms in terms of the average turn-around and waiting times.
Keywords: Fuzzy logic, Scheduling, Waiting time, Turn-around time
No potential conflict of interest relevant to this article was reported.
E-mail: afthabakareem@gmail.com.
E-mail: vkumarg.24@gmail.com.
International Journal of Fuzzy Logic and Intelligent Systems 2024; 24(1): 30-42
Published online March 25, 2024 https://doi.org/10.5391/IJFIS.2024.24.1.30
Copyright © The Korean Institute of Intelligent Systems.
Abdul Kareem1 and Varuna Kumara2
1Department of Electronics and Communication, MIT Kundapura, Karnataka, India
2Department of AI & ML, MIT Kundapura, Karnataka, India
Correspondence to:Varuna Kumara (vkumarg.24@gmail.com)
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted noncommercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
For a computer-based system, a set of processes must be scheduled such that every process is completed within its deadline. CPU scheduling is the process of allocating CPU among various processes in a multi-processing system. The decision to allocate the CPU to a process has to take into consideration all aspects, including its priority and execution time, as scheduling is guided by a number of factors other than the execution time or priority. It is no longer one-dimensional and has become a multidimensional problem with vagueness and uncertainties such as different CPU loading scenarios. The vagueness and uncertainties associated with the decision to allocate a CPU to a particular process can be addressed using a fuzzy logic approach. In this study, we propose a fuzzy logic-based algorithm for CPU scheduling. The proposed algorithm was compared with conventional scheduling algorithms for different CPU loading scenarios. The proposed method can schedule and execute all processes well within the deadline with a reduced average turn-around and a reduced average waiting time. From the comparison results, it is evident that the proposed algorithm outperforms conventional algorithms in terms of the average turn-around and waiting times.
Keywords: Fuzzy logic, Scheduling, Waiting time, Turn-around time
Membership functions of “Execution time.”
Membership functions of “Process priority.”
Membership functions of “CPU allocation priority.”
Output variation as a function of input parameters.
Fuzzy inference for “Priority = 0.5” and “Execution Time = 0.5.”
Variation of average waiting time for sample size of five processes.
Variation of waiting time for sample size of 10 processes.
Scheduled processes using RM policy.
Scheduled processes using EDF algorithm
Scheduled processes using LLF algorithm
Scheduled processes using the proposed algorithm.
Scheduling using RM algorithm.
Scheduling using EDF algorithm.
Scheduling using LLF algorithm.
Scheduling using proposed fuzzy algorithm.
Variation of efficiency with loading factor.
Table 1 . Average waiting time for randomly generated 5 processes.
Algorithm | Average waiting time (ms) | ||||
---|---|---|---|---|---|
Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | |
FCFS | 16.2 | 17.2 | 20.2 | 23.6 | 10.4 |
SJF | 14 | 10.8 | 11 | 21.2 | 10.4 |
PS | 19.8 | 16 | 23.4 | 25 | 19.8 |
Proposed | 17 | 11.2 | 12.6 | 23.4 | 12.6 |
Table 2 . Average waiting time for randomly generated 10 processes.
Algorithm | Average waiting time (ms) | ||||
---|---|---|---|---|---|
Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | |
FCFS | 72.3 | 84.2 | 50.8 | 62.6 | 75.8 |
SJF | 43.5 | 65.7 | 27.4 | 40.9 | 47 |
PS | 64.9 | 81.3 | 66.6 | 65.1 | 75.2 |
Proposed | 48.1 | 70.4 | 36.9 | 48.4 | 58.9 |
Table 3 . Average turn-around time for randomly generated 5 processes.
Algorithm | Average turn-around time (ms) | ||||
---|---|---|---|---|---|
Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | |
FCFS | 26.4 | 27.4 | 30.2 | 37 | 20.4 |
SJF | 24.2 | 21 | 21 | 34.6 | 20.4 |
PS | 30 | 26.2 | 33.4 | 38.4 | 29.8 |
Proposed | 27.2 | 21.4 | 22.6 | 36.8 | 22.6 |
Table 4 . Average turn-around time for randomly generated 10 processes.
Algorithm | Average turn-around time (ms) | ||||
---|---|---|---|---|---|
Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | |
FCFS | 87.1 | 104.5 | 63.2 | 76.5 | 91.8 |
SJF | 58.3 | 86 | 39.8 | 54.8 | 62.4 |
PS | 79.7 | 101.6 | 79 | 79 | 90.6 |
Proposed | 62.9 | 90.7 | 49.3 | 62.3 | 74.3 |
Table 5 . Highly loaded system with loading factor of 0.98.
Process ID | Period | Execution time |
---|---|---|
2 | 1 | |
5 | 1 | |
7 | 2 |
Table 6 . Overloaded system with loading factor of 1.33.
Process ID | Period | Execution time |
---|---|---|
P1 | 2 | 1 |
P2 | 4 | 1 |
P3 | 7 | 2 |
P4 | 10 | 3 |
Table 7 . Overloaded system with loading factor of 1.125.
Process ID | Period | Execution time |
---|---|---|
P1 | 2 | 1 |
P2 | 4 | 1 |
P3 | 8 | 3 |
Table 9 . Overloaded system with loading factor of 1.1875.
Process ID | Period | Execution time |
---|---|---|
P1 | 2 | 1 |
P2 | 4 | 1 |
P3 | 8 | 3 |
P4 | 16 | 1 |
Alhanouf Alburaikan, Hamiden Abd El-Wahed Khalifa, and Muhammad Saeed
International Journal of Fuzzy Logic and Intelligent Systems 2023; 23(3): 365-374 https://doi.org/10.5391/IJFIS.2023.23.3.365Christine Musanase, Anthony Vodacek, Damien Hanyurwimfura, Alfred Uwitonze, Aloys Fashaho, and Adrien Turamyemyirijuru
International Journal of Fuzzy Logic and Intelligent Systems 2023; 23(2): 214-228 https://doi.org/10.5391/IJFIS.2023.23.2.214Ahmed Abd El-badie Abd Allah Kamel and Faten Abd El-Sattar Zahran El-Mougi
International Journal of Fuzzy Logic and Intelligent Systems 2020; 20(4): 358-368 https://doi.org/10.5391/IJFIS.2020.20.4.358Membership functions of “Execution time.”
|@|~(^,^)~|@|Membership functions of “Process priority.”
|@|~(^,^)~|@|Membership functions of “CPU allocation priority.”
|@|~(^,^)~|@|Output variation as a function of input parameters.
|@|~(^,^)~|@|Fuzzy inference for “Priority = 0.5” and “Execution Time = 0.5.”
|@|~(^,^)~|@|Variation of average waiting time for sample size of five processes.
|@|~(^,^)~|@|Variation of waiting time for sample size of 10 processes.
|@|~(^,^)~|@|Scheduled processes using RM policy.
|@|~(^,^)~|@|Scheduled processes using EDF algorithm
|@|~(^,^)~|@|Scheduled processes using LLF algorithm
|@|~(^,^)~|@|Scheduled processes using the proposed algorithm.
|@|~(^,^)~|@|Scheduling using RM algorithm.
|@|~(^,^)~|@|Scheduling using EDF algorithm.
|@|~(^,^)~|@|Scheduling using LLF algorithm.
|@|~(^,^)~|@|Scheduling using proposed fuzzy algorithm.
|@|~(^,^)~|@|Variation of efficiency with loading factor.