**5. Conclusion**

### **5.1 Summary**

16 Will-be-set-by-IN-TECH

**QoS components** Hard disk size (KB) Memory size (KB) *RTO* 3.2 2.3 *BWP* 4.1 3.2 *RLP* 9.7 7.6 *RLP/T* 13.3 10.8

The smallest footprint of an application using a QoS scheduler comes to 52.4 KB in memory (65.2 KB on hard disk). This corresponds to the total load due to RTAI, the TCL task and the RTO scheduler. On the contrary, the greatest footprint corresponds to the RLP/T scheduler (i.e. 60.9 KB in memory and 75.3 KB on hard disk). Any QoS scheduler, including RLP/T

We conducted experiments to obtain a quantitative evaluation of the overhead led by the QoS schedulers. We measured the overhead for various numbers of tasks (5, 10, 15, 20,...) with all periods equal to 10 milliseconds. Periods are harmonic with a hyperperiod equal to 3360 timer ticks. The measurements were performed over a period of 1000 seconds on a computer system with a 400 MHz Pentium II processor with 384 Mo RAM. Figure 13 shows the resulting

The average overhead led by the QoS schedulers scales with the number of installed tasks. BWP exhibits an average execution time that is substantially higher than the RTO. This comes from the management of blue instances under BWP. The curve obtained for RLP and RLP/T mainly comes from the amount of time spent on the EDL schedule (performed only when a blue instance is released or completed). As a matter of fact, we observe that overhead is closely related to efficiency. An interesting feature of the component approach lies in that the selected scheduler can be tuned to balance performance versus complexity, and thus easily

scheduler, easily fits into the flash memory of an embedded system.

Table 2. Footprints of QoS components

Fig. 13. Dynamic overhead of the QoS schedulers

conforms to implementation requirements.

overhead.

While it is imperative that all time constraints – generally expressed in terms of deadlines – are met in hard real-time systems, firm real-time systems do not have as stringent timeliness requirements since they allow for some degree of miss ratio. Video reception and multimedia-oriented mobile applications are typical firm real-time applications that require the need for a suitable real-time scheduler which represents the central key service in any operating system. The proliferation of these applications has motivated many research efforts over the last twenty years in order to produce a scheduling framework that explicitly addresses their specific requirements and improves the global Quality of Service.

A firm real-time system is typically characterized by dynamic changes in workloads (tasks have variable actual execution times). It consequently needs a scheduler able to handle possible overload situations and to allow the system to achieve graceful degradation by skipping some tasks. The scheduler has to supply a dynamic mechanism that determines on-line the task to be shed from the system. Multimedia systems are typically systems in which performance is sensitive to the distribution of skips: if skips occur for several consecutive instances of the same task, then the system performance may be totally unacceptable leading to some form of instability. To overcome the shortcoming of the Quality of Service metrics only based on the average rate of dropped tasks, Koren and Shasha proposed the skip-over model in which a periodic task with a skip factor of *s* is allowed to have one instance skipped out of *s* consecutive instances (Koren & Shasha, 1995).

In this chapter, we have considered the skip-over model where independant tasks run periodically on a uni-processor architecture and can be preempted at any time. Additionally, they have a skip factor. We described two on-line scheduling algorithms respectively named RLP and RLP/T, the latter being based on an admission control mechanism. The results of an experimental study indicate that improvements with both RLP and RLP/T are quite significant compared with the two basic algorithms introduced by Koren and Shasha. We have integrated all the QoS schedulers presented in this chapter as software components which are part of the CLEOPATRE open-source library. We have performed their evaluation under a real-time Linux-based operating system, namely Linux/RTAI. The observed overheads and footprints enabled us to state their ability to be used even for embedded applications with severe memory and timeliness requirements.

### **5.2 Future work**

### **5.2.1 QoS and energy harvesting**

Many embedded systems work in insecure or remote sites (e.g. wireless intelligent sensors). The new generation of these systems will be smaller and more energy efficient while still offering sufficient performance. A typical example is data farming where sensors are spread over an area to supervise the environment and send collected data for further processing to a base station. Sensors are deployed and then must stay operational for a long period of time, in the range of months or even years.

One way to prolong the lifetime of such autonomous systems is to harvest the required energy from the environment. Energy Harvesting is defined as the process of capturing energy from one or more natural energy sources accumulating it and storing it for later use (Priya & Inman,

in the Firm Real-Time Systems 19

Quality of Service Scheduling in the Firm Real-Time Systems 209

Bernat, G. & Burns, A. (1997). Combining (n/m)-hard deadlines and dual priority scheduling,

Bernat, G., Burns, A. & Llamosi, A. (2001). Weakly-hard real-time systems, *IEEE Transactions*

Bello, L.-L. & Kim, K. (2007). Overrun handling approaches for overload-prone soft real-time

Buttazzo, G.-C. & Caccamo, M. (1999). Minimizing Aperiodic Response Times in a Firm Real-Time Environment, *IEEE Transaction on Software Engineering*, 25(1):22–32. Caccamo, M. & Buttazzo, G.-C. (1997). Exploiting skips in periodic tasks for enhancing

Caccamo, M., & Buttazzo, G.-C. (1998). Optimal Scheduling for Fault-Tolerant and

Caccamo, M., Buttazzo, G. & Sha, L. (2000). Capacity sharing for overrun control. *Proceedings of the 21st IEEE Real-Time Systems Symposium*, November 2000, Orlando (USA). Chetto, H. & Chetto, M. (1989). Some Results of the Earliest Deadline Scheduling Algorithm.

El Ghor, H., Chetto, M. & Chehade, R.-H. (2011). A real-time scheduling framework for

Hamdaoui, M. & Ramanathan, P. (1995). A Dynamic Priority Assignment Technique for

Huston, G. (2000). Quality of Service - Fact or Fiction? *The Internet Protocol Journal*, 3(1):1–40. Krings, A.W. & Azadmanesh, M.H. (1999). QoS Considerations In Real-Time Scheduling,

Koren, G. & Shasha, D. (1995). Skip-Over Algorithms and Complexity for Overloaded Systems

Liestman, A-L. & Campbell, R-H. (1986). A fault tolerant scheduling problem. *Proceedings of*

Liu, C-L. & Layland, J-W. (1973). Scheduling Algorithms for Multiprogramming in a

Marchand, A. (2006). Ordonnancement Temps Réel avec Contraintes de Qualité de Service -

Marchand, A. & Chetto, M. (2008). Quality of Service Sccheduling in Real-Time Systems. *International Journal on Computers, Communications & Control*, 3(4):354–366. Marchand, A. & Silly-Chetto, M. (2005). QoS Scheduling Components based on Firm

Marchand, A. & Silly-Chetto, M. (2006). Dynamic Real-Time Scheduling of Firm Periodic Tasks with Hard and Soft Aperiodic Tasks. *Journal of Real-Time Systems*, 32(1-2):21–47.

*Computer Systems and Applications*, January 2005, Le Caire (Egypt).

Priya, S., Inman, D.-J. (2009). *Energy Harvesting Technologies*, Springer.

*the IEEE Transaction on Software Engineering*, 12(10):1089–1095.

systems. *Advances in Engineering Software*, 38(11-12):780–794.

*IEEE Transactions on Software Engineering*, 15(10):1261–1269.

San Francisco (USA).

*on Computers*, 50(4):308-321.

December 1997, San Francisco (USA).

*Engineering Journal*, 37(4):498–510.

Liu, J.-W.-S. (2000). *Real-Time Systems*, Prentice-Hall.

1999, Ensenada (Mexico).

1995, Pisa (Italy).

20(1):46–61.

*Applications*, October 1998, Hiroshima (Japan).

*Proceedings of the 18th IEEE Real-Time Systems Symposium*, pp 46-57, December 1997,

aperiodic responsivess, *Proceedings of the 18th IEEE Real-Time Systems Symposium*,

Firm Real-Time Systems. *Proceedings of the IEEE Real-Time Computing Systems and*

embedded systems with environmental energy harvesting. *Computers & Electrical*

Streams with (m,k)-firm deadlines. *IEEE Transactions on Computers*, 44(4):1443–1451.

*Proceedings of the 2nd International Conference on Parallel Computing Systems*, August

that Allow Skips. *Proceedings of the 16th IEEE Real-Time Systems Symposium*, December

Hard Real-Time Environment. *Journal of the Association for Computing Machinery*,

De la théorie à l'intégration. *PhD Thesis*, University of Nantes (France), October 2006.

Real-Time Requirements, *Proceedings of the ACS/IEEE International Conference on*

2009). Energy harvesting from a natural source where a remote application is deployed and where energy is inexhaustible appears as an attractive alternative to inconvenient traditional batteries. Energy harvesting with solar panels is one of the most popular technologies. Nowadays, many real life applications using energy harvesting are operational. Wireless sensor network systems, including ZigBee systems, benefit from this technology.

A wireless sensor has timing constraints that must be satisfied and consume only as much energy as the energy harvester can collect from the environment. But the harvested energy is highly dependent on the environment and the power drained from most environmental energy sources is not constant over time. Consequently, energy consumption coming from the execution of tasks should be continuously adjusted in order to maximize the Quality of Service and not only to minimize the energy consumption. The main challenge of research is to provide an energy-aware scheduling algorithm that will schedule tasks so as to consider jointly two kinds of constraints: time (i.e. deadlines) and energy availability.

To address the above problem, we proposed in a recent paper (El Ghor et al., 2011) an efficient scheduling algorithm called EDeg which is based on both the energy stored and the energy estimated to be harvested in the future. We performed a series of experiments based on the rate of missed deadlines in order to compare EDeg with other scheduling methods. Experimental results show that EDeg significantly outperforms the classical greedy schedulers, including EDF.

We are now extending this scheduling strategy to the skip-over model. The objective is to reduce the rate of missed deadlines when the system lacks either time or energy, by taking into account skip factors. To summarize, our current work focuses on the same problem studied in this chapter but considers the specific issue of real-time energy harvesting systems.

### **5.2.2 QoS and multicore systems**

While real-time applications are becoming more and more concurrent and complex, the drive toward multicore systems seems inevitable. Multicore processors solve the problem of heat that has been slowing processor growth in the past while providing increased performance. We propose in a recent paper (Abdallah et al., 2011) to tackle the problem of distributing skippable periodic tasks over such platforms. Our contribution is twofold. First, we design a schedulability test for multicore task sets under QoS constraints. Second, based on this test, we propose new partitioned scheduling heuristics to assign tasks with QoS constraints to processors so as to minimize the number of processors used. In conclusion, this new line of investigation extends the work presented in this chapter to multicore platforms.

### **6. References**


18 Will-be-set-by-IN-TECH

2009). Energy harvesting from a natural source where a remote application is deployed and where energy is inexhaustible appears as an attractive alternative to inconvenient traditional batteries. Energy harvesting with solar panels is one of the most popular technologies. Nowadays, many real life applications using energy harvesting are operational. Wireless

A wireless sensor has timing constraints that must be satisfied and consume only as much energy as the energy harvester can collect from the environment. But the harvested energy is highly dependent on the environment and the power drained from most environmental energy sources is not constant over time. Consequently, energy consumption coming from the execution of tasks should be continuously adjusted in order to maximize the Quality of Service and not only to minimize the energy consumption. The main challenge of research is to provide an energy-aware scheduling algorithm that will schedule tasks so as to consider

To address the above problem, we proposed in a recent paper (El Ghor et al., 2011) an efficient scheduling algorithm called EDeg which is based on both the energy stored and the energy estimated to be harvested in the future. We performed a series of experiments based on the rate of missed deadlines in order to compare EDeg with other scheduling methods. Experimental results show that EDeg significantly outperforms the classical greedy

We are now extending this scheduling strategy to the skip-over model. The objective is to reduce the rate of missed deadlines when the system lacks either time or energy, by taking into account skip factors. To summarize, our current work focuses on the same problem studied in this chapter but considers the specific issue of real-time energy harvesting systems.

While real-time applications are becoming more and more concurrent and complex, the drive toward multicore systems seems inevitable. Multicore processors solve the problem of heat that has been slowing processor growth in the past while providing increased performance. We propose in a recent paper (Abdallah et al., 2011) to tackle the problem of distributing skippable periodic tasks over such platforms. Our contribution is twofold. First, we design a schedulability test for multicore task sets under QoS constraints. Second, based on this test, we propose new partitioned scheduling heuristics to assign tasks with QoS constraints to processors so as to minimize the number of processors used. In conclusion, this new line of

Abdallah, N., Queudet, A., Chetto, M. & Chehade, R.-H. (2011). Partitioned EDF Scheduling

Asiaban, S., Moghaddam, M.-E. & Abbaspour, M. (2009). A Real-Time Scheduling Algorithm

in Multicore systems with Quality of Service constraints. *Proceedings of IEEE International Conference on Electronics, Circuits, and Systems*, December 2011, Beirut

for Soft Periodic Tasks. *International Journal of Digital Content Technology and its*

investigation extends the work presented in this chapter to multicore platforms.

sensor network systems, including ZigBee systems, benefit from this technology.

jointly two kinds of constraints: time (i.e. deadlines) and energy availability.

schedulers, including EDF.

**5.2.2 QoS and multicore systems**

**6. References**

(Lebanon).

*Applications*, 3(4):100–111.


**Part 4** 

**Real World Applications** 

Racciu, G. & Mantegazza, P. (2006). RTAI User Manual 3.4 rev 0.3. URL:www.rtai.org

