New Hybrid Genetic Based Approach for Real-Time Scheduling of Reconfigurable Embedded Systems

New Hybrid Genetic Based Approach for Real-Time Scheduling of Reconfigurable Embedded Systems

Ibrahim Gharbi (ENSI, Manouba University, Manouba, Tunisia), Hamza Gharsellaoui (National Engineering School of Carthage (ENIC), Carthage University, Tunis, Tunisia) and Sadok Bouamama (FCIT, University of Jeddah, Jeddah, Saudi Arabia)
DOI: 10.4018/IJAPUC.2018010102


This journal article deals with the problem of real-time scheduling of operating systems (OS) tasks by a hybrid genetic-based scheduling algorithm. Indeed, most of real-time systems are framed with aid of priority-based scheduling algorithms. Nevertheless, when such a scenario is applied to save the system at the occurrence of hardware-software faults, or to improve its performance, some real-time properties can be violated at run-time. In contrast, most of the applications of real-time systems are based on timing constraints, i.e. OS tasks should be scheduled properly to finish their execution within the time specified by the real-time systems. For this reason, the authors propose in their article, a hybrid genetic-based scheduling approach that automatically checks the systems feasibility after any reconfiguration scenario was applied to an embedded system. A benchmark example is given, and the experimental results demonstrate the effectiveness of the originally proposed genetic-based scheduling approach over other such classical genetic algorithmic approaches.
Article Preview

1. Introduction

Today, real-time embedded systems are one of the major parts in our industry and are found in many diverse application areas including; automotive electronics, avionics, telecommunications, space systems, medical imaging, and consumer electronics. in industry, the development of safe distributed embedded systems is not a trivial activity because a failure can be critical for the safety of human beings (e.g., air and railway traffic control, nuclear plant control, and aircraft and car control). They have classically to satisfy functional and temporal properties according to user requirements, but their time to market should be shorter than ever (Baruah, 2004).

In all of these areas, there is rapid technological progress. The software engineering principles for embedded system should address specific constraints such as hard timing constraints, limited memory and power use, predefined hardware platform technology,

and hardware costs. Most of the applications of real-time systems are based on timing constraints. Real-time tasks should be scheduled properly using suitable scheduling algorithms to finish the execution of the tasks within the time specified by the real-time systems (Jinkyu, 2014). On the other hand, the new generations of embedded control systems are addressing new criteria such as flexibility and agility (Gharsellaoui, 2012).

For these reasons, there is a need to develop tools, methodologies in embedded software engineering and dynamic reconfigurable embedded control systems as an independent discipline. The task scheduling problem has been extensively studied for multiprocessor, grid, and distributed systems and numerous heuristics have been proposed. These algorithms for traditional distributed and parallel systems, however, cannot work well in the new cloud computing environment. This makes the problem of task-scheduling in embedded systems a promising research direction and has attracted several researchers to develop efficient heuristics. Most of the work on task allocation and scheduling in the embedded systems environment is focused on the minimization of energy consumption, makespan, and economic cost of renting virtual machines and the provision of the desired level of quality of service (QoS) (Awad, 2015). However, there is not much work that explicitly deals with the allocation and scheduling of hard real-time tasks in a cloud environment to minimize execution and communication costs. Indeed, Scheduling is a process of assigning task to a processor for execution. The main objective of scheduling is to assign processor to a task while generating an efficient makespan (Total time to complete the task list) and valid schedules. The task scheduling can be further classified into static and dynamic scheduling (George, 2015).

  • 1.

    Static Scheduling: The algorithm is also known as offline deterministic scheduler, the execution times of the task and data dependencies between them are known a prior. These types of scheduling are done during compile time therefore the run-time overhead of these schedulers are very low (George, 2015).

  • 2.

    Dynamic Scheduling: The execution times of the task and data dependencies between them are not known a prior and thus scheduling decisions and processors are allocated on run time. Dynamic scheduling thereby furnishes a faster and flexible system (George, 2015).

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 11: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 10: 4 Issues (2018): 1 Released, 3 Forthcoming
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing