# A Greedy Scheduling Approach for Peripheral Mobile Intelligent Systems

^{*}

## Abstract

**:**

## 1. Introduction

- Deterministic scheduling: the data defining the problem are known in advance;
- Stochastic scheduling: all or most of the parameters that describe the problem are random variables over known distributions;
- Online scheduling: all or some of the parameters describing the model are known only at the time the decision has been made.

## 2. Related Works

- The first level is the set of tasks (cloudlets) to be executed;
- The second level is the process of appropriately allocating resources to tasks to optimize the use of these resources with respect to the makespan or overall completion times;
- The third level is the use of a set of virtual machines (VMs) to perform tasks.

- Heuristic techniques can be divided into two subcategories. The first one is a traditional technique for scheduling various tasks, such as FCFS, round robin (RR), and SJF. This approach is simple and imperative, but it always approaches the local optima [33]. The second category uses a random sample to find the optimal or near-optimal solution. Some of its techniques are Min-Min, Max-Min, improved Max-Min [34], and Min-Min based on priorities. These techniques generate better results than traditional approaches [35];
- Metaheuristic algorithms generally have functionalities that are like aspects of biological science. They are classified into three categories: (1) metaheuristics, such as genetic and transgenic algorithms, based on gene transfer; (2) metaheuristics based on insect behaviors and their interactions, such as ant colony optimization, the firefly algorithm, bee marriage optimization algorithm, and bee colony algorithm; and (3) metaheuristics based on aspects of biological life, such as the tabu search algorithm, simulated annealing algorithm, optimization algorithm for particle swarms, and artificial immune system [36].

## 3. Greedy Approach

## 4. Scheduling Algorithms in Peripheral Autonomous Mobile and Pervasive Systems

#### 4.1. Autonomous Mobile and Pervasive Architecture at the Periphery

#### 4.2. Scheduling Algorithms Based on a Greedy Approach

- The Min-Min algorithm selects the smaller tasks, with respect to processing time, to be executed first on the appropriate devices [61];
- The LCFP algorithm chooses the longest cloudlet or task to be executed on the fastest processing element;
- The SCFP algorithm directs the shortest cloudlet or tasks to the fastest processing element.

#### 4.2.1. Problem Modeling

Algorithm 1 CalculatingScores (d) |

Begin |

get factor capacity values of d; |

$ValScore=ValBattery\ast PrcBattery+ValStok\ast PrcStoke+ValBandwidth\ast PrcBandwidth+ValRam\ast PrcRam+ValCPU\ast PrcCPU$; |

return $ValScore$; |

End |

Algorithm 2 DeviceHasExecutionTime (TaskTime, DeviceTime) |

Begin |

Boolean B = False; |

Double β such that 0.85 ≤ β ≤ 0.92; |

If TaskTime ≤ β*DeviceTime |

B = True; |

End if |

Return B; |

End |

#### 4.2.2. Proposed Greedy Algorithm

- Algorithm 1: CalculatingScores;
- Algorithm 2: DeviceHasExecutionTime;
- Algorithm 3: AllocatingDeviceToTask.

Algorithm 3 AllocatingDeviceToTask (task, SubGroupDevice) |

Boolean B = false; |

Double Dim, DeviceTime, TaskExecutionTime; |

Begin |

Dim ⃪ length (SubGroupDevice); |

For i ⃪ 0 to Dim-1 Do |

Get DeviceTime of $devic{e}_{i}$; |

Get TaskExecutionTime of task; |

If DeviceHasExecutionTime (task, $devic{e}_{i}$) == True |

Assign $devic{e}_{i}$ to task; |

B = True; |

DeviceTime = DeviceTime – TaskExecutionTime; |

Set DeviceTime to $devic{e}_{i}$; |

Sort SubGroupDevice; |

End If |

End For |

Return B; |

End |

Algorithm 4 SchedulingThroughAnalogousSubgroups |

Integer isdone = 0, lg, j; |

String task; |

CalculatingScores (LD), CalculatingScores (MD), CalculatingScores (SD); |

while isdone < 3 |

Part I while LT ≠ Ø Go |

lg ⃪ length (LT); |

For j == 0, j < lg Do |

$\mathbf{If}\mathrm{AllocatingDeviceToTask}(tas{k}_{j},\mathrm{LD})==\mathrm{True}$ |

$\mathrm{Remove}tas{k}_{j}\mathrm{from}\mathrm{LT};$ |

End If |

End For |

If LT == Ø |

isdone++; |

End If |

End While |

Part II while MT ≠ Ø Go |

lg ⃪ length (MT); |

For j == 0, j < lg Do |

$\mathbf{If}\mathrm{AllocatingDeviceToTask}(tas{k}_{j},\mathrm{MD})==\mathrm{True}$ |

$\mathrm{Remove}tas{k}_{j}\mathrm{from}\mathrm{MT};$ |

Else |

$\mathbf{If}\mathrm{AllocatingDeviceToTask}(tas{k}_{j},\mathrm{LD})==\mathrm{True}$ |

$\mathrm{Remove}tas{k}_{j}\mathrm{from}\mathrm{MT};$ |

End If |

End For |

If MT == Ø |

isdone++; |

End If |

End While |

Part III while ST ≠ Ø Go |

lg ⃪ length (ST); |

For j == 0, j < lg Do |

$\mathbf{If}\mathrm{AllocatingDeviceToTask}(tas{k}_{j}.,\mathrm{SD})==\mathrm{True}$ |

$\mathbf{}\mathrm{Remove}tas{k}_{j}\mathrm{from}\mathrm{ST};$ |

Else |

$\mathbf{If}\mathrm{AllocatingDeviceToTask}(tas{k}_{j},\mathrm{MD})==\mathrm{True}$ |

$\mathrm{Remove}tas{k}_{j}\mathrm{from}\mathrm{ST};$ |

Else |

$\mathbf{If}\mathrm{AllocatingDeviceToTask}(tas{k}_{j},\mathrm{LD})==\mathrm{True}$ |

$\mathrm{Remove}tas{k}_{j}\mathrm{from}\mathrm{ST};$ |

End If |

End If |

End For |

If ST == Ø |

isdone++; |

End If |

End While |

End While |

#### 4.2.3. Operating Mechanism

## 5. Simulation

- The overall completion time, known as the makespan M ($\mathrm{M}=\mathrm{m}\mathrm{a}\mathrm{x}\left({C}_{i}:i=1,\dots ,m\right)$, where ${C}_{i}$ denotes the completion time of device $i$;
- The standard deviation SD (SD = $\sqrt{\frac{1}{m}{\displaystyle \sum}_{i=1}^{m}{\left({C}_{i}-M\right)}^{2}}$);
- The absolute difference AD between the maximum completion time M ($\mathrm{M}=\mathrm{m}\mathrm{a}\mathrm{x}\left({C}_{i}:i=1,\dots ,m\right)$) and the minimum completion time L ($\mathrm{L}=\mathrm{m}\mathrm{i}\mathrm{n}\left({C}_{i}:i=1,\dots ,m\right)$) (i.e., AD = |M-L|).

^{®}Core™ i7 processor, x64-based processor, Windows 10 Pro 64-bit OS, 2.3 GHz CPU, and 16 GB of RAM. Figure 4 presents the graphical interface for the simulation.

## 6. Conclusions and Future Works

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Conflicts of Interest

## References

- Rayes, A.; Salam, S. Internet of Things from Hype to Reality—The Road to Digitization; Springer International Publishing: New York, NY, USA, 2016. [Google Scholar] [CrossRef]
- Makori, E.O. Promoting innovation and application of internet of things in academic and research information organizations. Libr. Rev.
**2017**, 66, 655–678. [Google Scholar] [CrossRef] - Fadlallah, G.; Mcheick, H.; Rebaine, D.; Adda, M. Towards Mobile Collaborative Autonomous Networks Using Peer-to-Peer Communication. In Proceedings of the ICSENT 2018: 7th International Conference on Software Engineering and New Technologies, Hammamet, Tunisie, 26–28 December 2018; pp. 1–8. [Google Scholar] [CrossRef]
- Ghosh, A.; Chakraborty, D.; Law, A. Artificial Intelligence in Internet of Things. CAAI Trans. Intell. Technol.
**2018**, 3, 208–218. [Google Scholar] [CrossRef] - Prabhu, C.S.R. Overview—Puting and Internet-of-Things (IOT). EAI Endorsed Trans. Cloud Syst.
**2017**, 3, 154378. [Google Scholar] [CrossRef] [Green Version] - Wang, T.; Wei, X.; Tang, C.; Fan, J. Efficient multi-tasks scheduling algorithm in mobile cloud computing with time constraints. Peer-to-Peer Netw. Appl.
**2018**, 11, 793–807. [Google Scholar] [CrossRef] - Lim, J.; Lee, D. A load balancing algorithm for mobile devices in edge cloud computing environments. Electronics
**2020**, 9, 686. [Google Scholar] [CrossRef] - Arun, C.; Prabu, K. Load Balancing In Mobile Cloud Computing A Review. Int. J. Comput. Sci. Eng.
**2018**, 6, 460–465. [Google Scholar] [CrossRef] - Xianglin, W. Application Scheduling in Mobile Cloud Computing with Load Balancing. J. Appl. Math.
**2013**, 2013, 409539. [Google Scholar] [CrossRef] [Green Version] - Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms, 3rd ed.; MIT Press: Cambridge, MA, USA, 2009. [Google Scholar]
- Fadlallah, G.; Rebaine, D.; Mcheick, H. Scheduling problems from workshop to collaborative mobile computing: A state of the art. Int. J. Comput. Sci. Inf. Secur.
**2018**, 16, 47–69. [Google Scholar] - Černý, P.; Clarke, E.M.; Henzinger, T.A.; Radhakrishna, A.; Ryzhyk, L.; Samanta, R.; Tarrach, T. From non-preemptive to preemptive scheduling using synchronization synthesis. Formal methods. System Design
**2017**, 50, 97–139. [Google Scholar] [CrossRef] [Green Version] - Hosein, P.; Boodhoo, S. Event Scheduling with Soft Constraints and On-Demand Re-Optimization. In Proceedings of the 2016 IEEE International Conference on Knowledge Engineering and Applications (ICKEA), Singapore, 28–30 September 2016; pp. 62–66. [Google Scholar] [CrossRef]
- Weaver, P. A Brief History of Sheduling—Back to the Future. In Proceedings of the myPrimavera Conference, Canberra, Australia, 4–6 April 2006; pp. 1–24. [Google Scholar]
- Levy, F.K.; Thompson, G.L.; Wiest, J.D. ABCs of the Critical Path Method. Harv. Bus. Rev.
**1963**, 42, 98–108. [Google Scholar] - Suresh, P.; Daniel, J.V.; Parthasarathy, V.; Aswathy, R.H. A State of the Art Review on the Internet of Things (IoT) History, Technology and Fields of Deployment. In Proceedings of the 2014 International Conference on Science Engineering and Management Research (ICSEMR), Chennai, India, 27–29 November 2014; pp. 1–8. [Google Scholar]
- Rahbari, D.; Nickray, M. Low-latency and energy-efficient scheduling in fog-based IoT applications. Turk. J. Electr. Eng. Comput. Sci.
**2019**, 27, 1406–1427. [Google Scholar] [CrossRef] [Green Version] - Zhang, W.; Wen, Y.; Wu, D.O. Collaborative task execution in mobile cloud computing under a stochastic wireless channel. IEEE Trans. Wirel. Commun.
**2015**, 14, 81–93. [Google Scholar] [CrossRef] - Coulouris, G.; Dollimore, J.; Kindberg, T.; Blair, G. Distributed Systems: Concepts and Design, 5th ed.; Addison Wesley: Boston, MA, USA, 2012. [Google Scholar]
- Wang, C.M.; Hong, S.F.; Wang, S.T.; Chen, H.C. A Dual-Mode Exerciser for a Collaborative Computing Environment. In Proceedings of the 11th Asia-Pacific Software Engineering Conference, Busan, Korea, 30 November–3 December 2004; pp. 240–248. [Google Scholar]
- Mishra, S.; Mathur, N. Load Balancing Optimization in LTE/LTEA Cellular Networks: A Review. arXiv
**2014**, arXiv:1412.7273. [Google Scholar] - Pycom LoPy4 Development Board Datasheet. Available online: https://docs.pycom.io/datasheets/development/lopy4 (accessed on 31 January 2021).
- Bianco, G.M.; Mejia-Aguilar, A.; Marrocco, G. Radio Wave Propagation of LoRa Systems in Mountains for Search and Rescue Operations. In Proceedings of the 2020 XXXIIIrd General Assembly and Scientific Symposium of the International Union of Radio Science, Rome, Italy, 29 August–5 September 2020; pp. 1–3. [Google Scholar] [CrossRef]
- Lou, Y.; Chen, J.; Zhang, L.; Hao, D. A Survey on Regression Test-Case Prioritization. Adv. Comput.
**2019**, 113, 1–46. [Google Scholar] - Logistic Application of Greedy Algorithms, Vargo, January 2, 2013. Available online: https://vargosolutions.com/logistic-application-greedy-algorithms/ (accessed on 10 January 2021).
- Le, J. Greedy Algorithm and Dynamic Programming. Expertfy. November 5, 2018. Available online: https://www.experfy.com/blog/bigdata-cloud/greedy-algorithm-dynamic-programming/ (accessed on 10 January 2021).
- Malik, B.H.; Amir, M.; Mazhar, B.; Ali, S.; Jalil, R.; Khalid, J. Comparison of Task Scheduling Algorithms in Cloud Environment. Int. J. Adv. Comput. Sci. Appl.
**2018**, 9. [Google Scholar] [CrossRef] [Green Version] - Zhuravlev, S.; Saez, J.C.; Blagodurov, S.; Fedorova, A.; Prieto, M. Survey of energy-cognizant scheduling techniques. IEEE Trans. Parallel Distrib. Syst.
**2013**, 24, 1447–1464. [Google Scholar] [CrossRef] - Brucker, P. Scheduling Algorithms, 4th ed.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 1–367. ISBN 978-3-540-20524-1. [Google Scholar]
- Le, H.A.; Bui, A.T.; Truong, N.T. An approach to modelling and estimating power consumption of mobile applications. Mob. Netw. Appl.
**2019**, 24, 124–133. [Google Scholar] [CrossRef] - Aladwani, T. Types of Task Scheduling Algorithms in Cloud Computing Environment, Scheduling Problems—New Applications and Trends; da Rosa Righi, R., Ed.; IntechOpen: London, UK, 2020; pp. 1–12. [Google Scholar]
- Sharma, N.; Tyagi, S.; Atri, S. A Survey on Heuristic Approach for Task Scheduling in Cloud Computing. Int. J. Adv. Res. Comput. Sci.
**2017**, 8, 1089–1092. [Google Scholar] - Shimpy, E.; Sidhu, M.J. Different Scheduling Algorithms in Different Cloud Environment. Int. J. Adv. Res. Comput. Commun. Eng.
**2014**, 3, 8003–8006. [Google Scholar] - Bhoi, U.; Ramanuj, P.N. Enhanced Max-min Task Scheduling Algorithm in Cloud Computing. Int. J. Appl. Innov. Eng. Manag.
**2013**, 2, 259–264. [Google Scholar] - Raj, R.J.S.; Prasad, S.V.M. Survey on Variants of Heuristic Algorithms for Scheduling Workflow of Tasks. In Proceedings of the International Conference on Circuit, Power and Computing Technologies [ICCPCT], Nagercoil, India, 18–19 March 2016; pp. 1–4. [Google Scholar]
- Ruiz-Vanoye, J.A.; Díaz-Parra, O. Similarities between meta-heuristics algorithms and the science of life. J. Cent. Eur. J. Oper. Res.
**2011**, 19, 445–466. [Google Scholar] [CrossRef] - Sindhu, S.; Mukherjee, S. Efficient Task Scheduling Algorithms for Cloud Computing Environment. In High Performance Architecture and Grid Computing; Springer: Berlin/Heidelberg, Germany, 2011; Volume 169, pp. 79–83. [Google Scholar]
- Kaur, R.; Patra, P.K. Resource Allocation with improved MinMin Algorithm. Int. J. Comput. Appl.
**2013**, 76, 61–67. [Google Scholar] - Santhosh, B.; Manjaiah, D.H. An Improved Task Scheduling Algorithm based on Max-min for Cloud Computing. Int. J. Innov. Res. Comput. Commun. Eng.
**2014**, 2, 84–88. [Google Scholar] - Etminani, K.; Naghibzadeh, M. A Min-Min Max-Min Selective Algorithm for Grid Task Scheduling. In Proceedings of the 2007 3rd IEEE/IFIP International Conference in Central Asia on Internet, Tashkent, Uzbekistan, 26–28 September 2007; pp. 1–7. [Google Scholar]
- Mittal, S.; Katal, A. An Optimized Task Scheduling Algorithm in Cloud Computing. In Proceedings of the IEEE 6th International Conference on Advanced Computing (IACC), Bhimavaram, India, 27–28 February 2016; pp. 197–202. [Google Scholar]
- Razaque, A.; Vennapusa, N.R.; Soni, N.; Janapati, G.S.; Vangala, K.R. Task Scheduling in Cloud Computing. In Proceedings of the 2016 IEEE Long Island Systems, Applications and Technology Conference (LISAT), Farmingdale, NY, USA, 29 April 2016. [Google Scholar]
- Rimal, B.P.; Maier, M. Workflow scheduling in multi-tenant cloud computing environments. IEEE Trans. Parallel Distrib. Syst.
**2017**, 28, 290–304. [Google Scholar] [CrossRef] - Wu, X.; Deng, M.; Zhang, R.; Zeng, B.; Zhou, S. A task Scheduling Algorithm Based on QoS-driven in Cloud Computing. Procedia Comput. Sci.
**2013**, 17, 1162–1169. [Google Scholar] [CrossRef] [Green Version] - Lantharthong, T.; Rugthaicharoencheep, N. Network Reconfiguration for Load Balancing in Distribution System with Distributed Generation and Capacitor Placement. World Acad. Sci. Eng. Technol. Int. J. Electr. Comput. Eng.
**2012**, 6, 396–401. [Google Scholar] - Bansal, N.; Awasthi, A.; Bansal, S. Task Scheduling Algorithms with Multiple Factor in Cloud Computing Environment. In Information Systems Design and Intelligent Applications; Springer: New Delhi, India, 2016; Volume 433, pp. 619–627. [Google Scholar]
- Sherin, B.C.; Mary Anita, E.A. A Survey of Scheduling Algorithms for Wireless Ad-hoc Networks. Int. J. Adv. Sci. Eng.
**2018**, 4, 776–787. [Google Scholar] [CrossRef] - Enzai, N.I.M.; Anwar, F.; Mahmoud, O. Evaluation study of QoS-enabled AODV. In Proceedings of the International Conference on Computer and Communication Engineering, Kuala Lumpur, Malaysia, 13–15 May 2008; pp. 1254–1259. [Google Scholar]
- Kurose, J.F.; Ross, K.W. Computer Networking a Top Down Approach Featuring the Internet, 2nd ed.; Addison Wesley: Boston, MA, USA, 2004. [Google Scholar]
- DeVore, R.A.; Temlyakov, V.N. Some remarks on greedy algorithms. Adv. Comput. Math.
**1996**, 5, 173–187. [Google Scholar] [CrossRef] - Ayanzadeh, R.; Halem, M.; Dorband, J.; Finin, T. Quantum-assisted greedy algorithms. arXiv
**2019**, arXiv:1912.02362. [Google Scholar] - Mazouzi, H.; Achir, N.; Boussetta, K. DM2-ECOP: An Efficient Computation Offloading Policy for Multi-user Multi-cloudlet Mobile Edge Computing Environment. ACM Trans. Internet Technol.
**2019**, 19, 1–24. [Google Scholar] [CrossRef] - Huang, W.; Kitchaev, D.A.; Dacek, S.; Rong, Z.; Urban, A.; Cao, S.; Luo, C.; Ceder, G. Finding and proving the exact ground state of a generalized Ising model by convex optimization and MAX-SAT. Phys. Rev. B
**2016**, 94, 134424. [Google Scholar] [CrossRef] [Green Version] - Durmus, B.; Guneri, O.; Incekirik, A. Comparison of Classic and Greedy Heuristic Algorithm Results in Integer Programming: Knapsack Problems. Mugla J. Sci. Technol.
**2019**, 5, 34–42. [Google Scholar] [CrossRef] [Green Version] - Zhou, Y.; Chen, X.; Zhou, G. An Improved Monkey Algorithm for a 0-1 Knapsack Problem. Appl. Soft Comput.
**2016**, 38, 817–830. [Google Scholar] [CrossRef] [Green Version] - Pinedo, M. Offline Deterministic Scheduling, Stochastic Scheduling, and Online Deterministic Scheduling: A Comparative Overview. In Handbook of Scheduling; Leung, J.Y.-T., Ed.; Chapman & Hall/CRC: London, UK, 2004. [Google Scholar]
- Curtis, S.A. The classification of greedy algorithms. Sci. Comput. Program.
**2003**, 49, 125–157. [Google Scholar] [CrossRef] [Green Version] - Sahni, S.; Horowitz, E. Fundamentals of Computer Algorithms; Computer Science Series; W. H. Freeman and Company: New York, NY, USA, 1984. [Google Scholar]
- Chen, Y.; Yang, S.; Hwang, J.; Wu, M. An Energy-Efficient Scheduling Algorithm for Real-Time Machine-to-Machine (M2M) Data Reporting. In Proceedings of the IEEE Global Communications Conference, Austin, TX, USA, 8–12 December 2014; pp. 4442–4447. [Google Scholar]
- Sheikh, S.; Nagaraju, A. A Comparative Study of Task Scheduling and Load Balancing Techniques with MCT using ETC on Computational Grids. Indian J. Sci. Technol.
**2017**, 10, 1–14. [Google Scholar] [CrossRef] - Sharma, N.; Tyagi, S.; Atri, S. A Comparative Analysis of Min-Min and Max-Min Algorithms based on the Makespan Parameter. Int. J. Adv. Res. Comput. Sci.
**2017**, 8, 1038–1041. [Google Scholar] - Ahmed, E.; Naveed, A.; Ab Hamid, S.H.; Gani, A.; Salah, K. Formal analysis of seamless application execution in mobile cloud computing. J. Supercomput.
**2017**, 73, 4466–4492. [Google Scholar] [CrossRef] - Xie, G.; Xiao, X.; Peng, H.; Li, R.; Li, K. A Survey of Low-Energy Parallel Scheduling Algorithms. IEEE Trans. Sustain. Comput.
**2021**. [Google Scholar] [CrossRef] - Mahafzah, B.A.; Jabri, R.; Murad, O. Multithreaded scheduling for program segments based on chemical reaction optimizer. Soft Comput.
**2021**, 25, 2741–2766. [Google Scholar] [CrossRef] - Skjellum, A.; Rüfenacht, M.; Sultana, N.; Schafer, D.; Laguna, I.; Mohror, K. ExaMPI: A Modern Design and Implementation to Accelerate Message Passing Interface Innovation. In High Performance Computing. CARLA 2019. Communications in Computer and Information Science; Crespo-Mariño, J., Meneses-Rojas, E., Eds.; Springer: Cham, Switzerland, 2020; Volume 1087. [Google Scholar] [CrossRef]

Categories of Scheduling Algorithms | Description |
---|---|

Immediate scheduling | Direct scheduling of new tasks upon their arrival on VMs. |

Batch scheduling of tasks | The tasks are pregrouped into batches before they are sent. |

Static scheduling | The strategies of scheduling within this environment are usually based on information known beforehand about the system’s global state. |

Dynamic scheduling | Does not require current information about the global state of the system. In dynamic scheduling, tasks are distributed in terms of the capacity of the available VMs. |

Preemptive scheduling | Portions of a task executed on a resource are resumed later on the same or another resource. |

Non-preemptive scheduling | Requires processing the entire task without interruption until its completion on the same resource. |

Class | Algorithm | Description |
---|---|---|

CaSMA | CaSMA concentrates on the awareness and coordination of the end-to-end channel condition to reduce the accumulation of packets in the network and avoid congestion by increasing the number of completely served packets. | |

Channel-aware scheduling | Channel-aware AOMDV | It uses a preemptive handoff technique. In addition, it uses the non-fade duration to select the path during the route. Each node contains a table, which gives the information about the signal strength of the previously received packet. |

PALM | Power-aware link maintenance is based on an ad hoc on-demand distance vector routing algorithm and is responsible for power control with route maintenance. It establishes the routing mechanism in MANETs (Mobile ad hoc networks). |

Class | Subclass | Algorithm | Description |
---|---|---|---|

Packet scheduling | Existing techniques | FIFO | In first-in, first-out, all packets are inserted into a single queue and processed in the order of their arrival. The delay is directly proportional to the length of the queue. |

Priority queuing | Packets are categorized and then grouped into queues with different priorities. Whereas high-priority packets are first processed, low-priority packets are likely to be dropped. | ||

WFQ | In the weighted fair queuing, packets are scheduled with bandwidth requirements and placed in the respective queues. Packets with a smaller end time are chosen as the next packet for transmission. | ||

CBWFQ | Class-based weighted fair queuing extends the WFQ functionality and supports user-defined traffic classes. CBWFQ services the class queue fairly based on the weight assigned to the queued packets. | ||

WHS | Weighted-hop scheduling gives high priority to data packets with only a few remaining hops to pass. A weighted round robin scheduler is used instead of static priority to give a chance to all service classes. | ||

WDS | The weighted distance scheduling algorithm considers the physical distance using a GPSR, where each data packet contains the destination address. | ||

RR | The round robin scheduling algorithm preserves the per-flow queues. It provides equal service opportunity among flows. | ||

Greedy scheduling | Each node redirects its own packet before forwarding the other nodes’ packets, which are processed based on FIFO scheduling. | ||

LLQ | Low-latency queuing has a single strict priority queue for placing separate traffic classes in. This queue allows traffic-sensitive delay treatment before processing other queues. All other queues are regulated by the (percentage of) bandwidth. |

Algorithm Category | Algorithm Name | Category Description |
---|---|---|

Classical algorithms (exact solution algorithms) | Rounding and graphical method, cutting plane, branch-bound, Balas, Lagrange, branch and cut, Benders decomposition method, and all-integer integer programming. | These algorithms are known in the literature as exact solution algorithms. Their drawback is often their high computational cost. However, they are effective for small and medium instances. |

Metaheuristic algorithms | Steepest descent, Dantzig and Ramser’s method, and tabu search, genetic, simulated annealing, ant colony, artificial bee colony, particle swarm optimization, and artificial neural networks. | These methods provide solutions close to the optimal one. They can solve a large variety of problems. They are conceptually simple. They can be flexed and adapted according to the problem under study. For example, in genetic algorithms, an analogy is developed between an individual in a population and a solution of a problem in the global solution space. In addition, the simulated annealing method is inspired by the process used in metallurgy to cool down steel. Likewise, particle swarm optimization is a cooperative, population-based global search swarm intelligent metaheuristic and population-based stochastic optimization technique, which is used in solving multimodal continuous optimization problems. Moreover, the tabu search algorithm selects a new search movement in such a way that temporally forbids the evaluation of previous solutions [11]. |

Greedy algorithms | Greedy algorithms are approaches or techniques in which we consider only one choice at each stage. Their strategy is to seek the best for the current state. It is known in the literature that they may produce optimal global solutions. We may cite the Dijkstra, Kruskal, Prim and Huffman algorithms [58]. | They are the most-used algorithms in everyday life. They tackle problems with a given objective function; their strategy is to select each stage variable that has the most benefit. They are quite easy to apply and implement, the computational costs are quite low, and they can be applied to all kinds of problems. |

Task | ${\mathit{t}}_{1}$ | ${\mathit{t}}_{2}$ | ${\mathit{t}}_{3}.$ | ${\mathit{t}}_{4}$ | ${\mathit{t}}_{5}$ | - | - | - | ${\mathit{t}}_{\mathit{n}}$ |
---|---|---|---|---|---|---|---|---|---|

$dd{t}_{j}$ | 4 | 2 | 6 | 8 | 10 | - | - | - | 5 |

$fd{t}_{j}$. | 5 | 8 | 3 | 11 | 9 | - | - | - | 13 |

Device | ${d}_{1}$ | ${d}_{2}$ | ${d}_{3}$ | ${d}_{4}$ | ${d}_{5}$ | - | - | - | ${d}_{m}$ |

$ft{d}_{i}$ | 3 | 5 | 14 | 12 | 15 | - | - | - | 9 |

Variable | Explanation |
---|---|

ValBattery | Battery energy |

ValStok | Storage capacity |

ValBandwidth | Bandwidth |

ValRam | RAM capacity |

ValCPU | CPU capacity |

ValScore | Score Value |

TaskTime | Task execution time |

DeviceTime | Available device execution time |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Fadlallah, G.; Rebaine, D.; Mcheick, H.
A Greedy Scheduling Approach for Peripheral Mobile Intelligent Systems. *IoT* **2021**, *2*, 249-274.
https://doi.org/10.3390/iot2020014

**AMA Style**

Fadlallah G, Rebaine D, Mcheick H.
A Greedy Scheduling Approach for Peripheral Mobile Intelligent Systems. *IoT*. 2021; 2(2):249-274.
https://doi.org/10.3390/iot2020014

**Chicago/Turabian Style**

Fadlallah, Ghassan, Djamal Rebaine, and Hamid Mcheick.
2021. "A Greedy Scheduling Approach for Peripheral Mobile Intelligent Systems" *IoT* 2, no. 2: 249-274.
https://doi.org/10.3390/iot2020014