An Evolutionary Approach for the Hierarchical Scheduling of Safety- and Security-Critical Multicore Architectures
Abstract
:1. Introduction
2. Related Works
2.1. Hierarchical Scheduling
2.2. Scheduling with Genetic Algorithms
3. Hierarchical Scheduling Framework
System Model Definition
Algorithm 1 Pseudocode of RMA Schedule Feasibility | |
1. | Sort taskset Γ in priority order (lowest period is highest priority) |
2. | Start with = Ci |
3. | Loop over each task and test for convergence using Equation (2) (ergo , , , … ) |
4. | If > Ti, no task response time can be computed for task i. Tasks will not converge Schedule is unfeasible. Break and quit |
5. | Else, if = , is the response time for task i. Tasks will converge. Schedule is feasible. Break and continue for all tasks in taskset |
Algorithm 2 Pseudocode of SCS Schedule Feasibility | |
1. | Sort partition set Π in priority order (lowest period is highest priority) |
2. | Compute the major frame M using lowest common multiple (l cm) of partition periods |
3. | M = l cm(Ti) πi in Π |
4. | Find the upper and lower bounds of all partitions such that: |
5. | πi in Π compute (i = Min(Ti); i < max(Ci); i++) |
6. | if (M % i == 0) Fi ← i |
7. | Fi in F find πi |
8. | partition’s Ti in Π compute |
9. | if (2*Fi − gcd(Fi, Ti) <= Ti) |
10. | return pass |
11. | else return fail |
4. Genetic Algorithm Scheduling Approach
4.1. Chromosomal Encoding Method
4.2. The Objective Function
5. Evaluation Methodology
5.1. Data Generation
5.2. Heuristic Comparision
- First fit (FF): Of the available bins, allocate the item into the bin it fits into first. If no available bin exits, create a new one.
- Next fit (NF): Allocate the item into the current bin. If it does not fit, open a new bin. Never cycle through already opened bins.
- Worst fit (WF): Search the available bins and allocate the next item into the emptiest bin. If two bins tie, select the first available emptiest bin. If the item does not fit into any available bin, open a new bin.
- Best fit (BF): Of the available bins, search through and place the next item into that bin which will leave the least room left over after the item is placed in the bin. If the item does not fit in any bin, open a new bin.
5.3. Performance Measures
- Mean squared error (MSE): the average squared loss
- Total core count (TCC): total number of cores consumed
6. Results and Discussion
6.1. Experimental Arrangement
- Tasks are considered periodic and independent;
- Task periods and execution cost are known a priori;
- The guest operating systems use fixed-priority preemptive rate monotonic scheduling;
- The partitions scheduler uses static cyclic scheduling.
6.2. Simulation Results
6.3. Results Summary
7. Conclusions and Future Research
Author Contributions
Funding
Conflicts of Interest
References
- Burns, A.; Davis, R.I. A Survey of Research into Mixed Criticality Systems. ACM Comput. Surv. 2018, 50, 1–37. [Google Scholar] [CrossRef] [Green Version]
- Parkinson, P. Safety, Security and Multicore. Adv. Syst. Saf. 2010, 10, 215–232. [Google Scholar] [CrossRef]
- Tămaş-Selicean, D.; Pop, P. Design Optimization of Mixed-Criticality Real-Time Embedded Systems. Trans. Embed. Comput. Syst. 2015, 14. [Google Scholar] [CrossRef]
- Fu, N.; Shan, L.; Du, C.; Liu, Z.; Peng, H. Modeling and Verification of ARINC 653 Hierarchical Preemptive Scheduling. Int. Arab J. Inf. Technol. 2019, 17, 99–106. [Google Scholar] [CrossRef]
- Gaska, T.; Werner, B.; Flagg, D. Applying Virtualization to Avionics Systems—The Integration Challenges. In Proceedings of the 2010 IEEE/AIAA 29th Digital Avionics Systems Conference (DASC), Salt Lake City, UT, USA, 3–7 October 2010; pp. 5.E.1-1–5.E.1-19. [Google Scholar]
- Kotha, S.; Nasser, F. Virtualization-Enabled Industrial Grade Software Platforms [Industry Forum]. IEEE Ind. Electron. Mag. 2008, 2, 7–9. [Google Scholar] [CrossRef]
- Main, C. Virtualization on Multicore for Industrial Real-Time Operating Systems [From Mind to Market]. IEEE Ind. Electron. Mag. 2010, 4, 4–6. [Google Scholar] [CrossRef]
- Leroux, P.N.; Craig, R. Easing the Transition to Multi-Core Processors. Inf. Q. 2006, 4, 38–43. [Google Scholar]
- Kleidermacher, D. Hypervisors Thrive with Power Architecture; Power Integrations, Inc.: San Jose, CA, USA, 2009; Available online: http://www.techdesign-forum.com/practice/technique/hypervisors-and-the-power-architecture/ (accessed on 3 September 2020).
- Oshana, R. DSP Software Development Techniques for Embedded and Real-Time Systems; Newnes: Oxford, UK, 2006; p. 608. [Google Scholar]
- Brandenburg, B.B. Scheduling and Locking in Multiprocessor Real-Time Operating Systems. Ph.D. Thesis, University of North Carolina at Chapel Hill, Chapel Hill, NC, USA, 2011. [Google Scholar]
- Liu, C.L.; Layland, J.W. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. J. ACM 1973, 20. [Google Scholar] [CrossRef]
- Dhall, S.K.; Liu, C.L. On a Real-Time Scheduling Problem. Oper. Res. 1978, 26, 127–140. [Google Scholar] [CrossRef]
- Garey, M.R.; Johnson, D.S. Computers and Intractability; W H Freeman & Company: New York, NY, USA, 1979. [Google Scholar]
- Monnier, Y.; Beauvais, J.P.; Deplanche, A.M. A genetic algorithm for scheduling tasks in a real-time distributed system. In Proceedings of the 24th EUROMICRO Conference (Cat. No. 98EX204), Vasteras, Sweden, 27 August 1998; pp. 708–714. [Google Scholar]
- Lipari, G.; Bini, E. Resource partitioning among real-time applications. In Proceedings of the 15th Euromicro Conference on Real-Time Systems 2003, Porto, Portugal, 2–4 July 2013; pp. 151–158. [Google Scholar]
- Regehr, J.; Reid, A.; Webb, K.; Parker, M.; Lepreau, J. Evolving real-time systems using hierarchical scheduling and concurrency analysis. In Proceedings of the 24th Real-Time System Symposium (RTSS 2003), Cancun, Mexico, 5 December 2003; pp. 25–36. [Google Scholar]
- Regehr, J.D. Using Hierarchical Scheduling to Support Soft Real-Time Applications in General-Purpose Operating Systems. Ph.D. Thesis, University of Virginia, Charlottesville, VA, USA, May 2001. [Google Scholar]
- Lipari, G.; Bini, E. A methodology for designing hierarchical scheduling systems. J. Embed. Comput. 2005, 1, 257–269. [Google Scholar]
- Asberg, M. On Hierarchical Scheduling in VxWorks. Master’s Thesis, Department of Computer Science and Electronics, Malardalen University, Vasteras, Sweden, June 2008. [Google Scholar]
- Behnam, M.; Nolte, T.; Shin, I.; Åsberg, M.; Bril, R. Towards Hierarchical Scheduling in VxWorks. In Proceeding of the Fourth International Workshop on Operating Systems Platforms for Embedded Real-Time Applications, Prague, Czech Republic, 1 July 2008; pp. 63–72. [Google Scholar]
- Nolte, T.; Behnam, M.; Asberg, M.; Bril, R.J. Hierarchical Scheduling of Complex Embedded Real-Time Systems. Available online: https://www.researchgate.net/publication/241877785_Hierarchical_scheduling_of_complex_embedded_real-time_systems (accessed on 3 September 2020).
- Asberg, M.; Nolte, T.; Kato, S. Towards Hierarchical Scheduling In Linux/Multi-Core Platform. In Proceedings of the Factory Automation (ETFA 2010), Bilbao, Spain, 13–16 September 2010; pp. 1–4. [Google Scholar]
- Cullmann, C.; Ferdinand, C.; Gebhard, G.; Grund, D.; Maiza, C.; Reineke, J.; Triquet, B.; Wilhelm, R. Predictability considerations in the design of multi-core embedded systems. In Proceedings of the Embedded Real Time Software and Systems 2010, Touluse, France, 17–21 May 2010; pp. 36–42. [Google Scholar]
- Hilbrich, R.; Goltz, H.-J. Model-based Generation of Static Schedules for Safety Critical Multi-Core Systems in the Avionics Domain. In Proceedings of the ICSE’11: International Conference on Software Engineering Waikiki, Honolulu HI, USA, 21 May 2011; Association for Computing Machinery: New York, NY, USA, 2011; pp. 9–16. [Google Scholar]
- Xu, C.; Gamage, S.; Rao, P.N.; Kangarlou, A.; Kompella, R.R.; Xu, D. Vslicer: Latency-Aware Virtual Machine Scheduling Via Differentiated-Frequency Cpu Slicing. In HDC’12: Proceedings of the21International Symposium on High Performance Parallel and Distributed Computing, Delft, The Netherlands, June 2012; Association for Computing Macinery: New York, NY, USA, 2012; pp. 3–14. [Google Scholar] [CrossRef]
- Nemati, F.; Kraft, J.; Nolte, T. Towards Migrating Legacy Real-Time Systems to Multi-Core Platforms. In Proceedings of the Emerging Technologies and Factory Automation (IEEE 2008), Hamburg, Germany, 15–18 September 2008; pp. 717–720. [Google Scholar]
- Nemati, F.; Kraft, J.; Nolte, T. A Framework for Real-Time Systems Migration to Multi-Cores. Available online: https://www.researchgate.net/publication/241877785_Hierarchical_scheduling_of_complex_embedded_real-time_systems (accessed on 3 September 2020).
- Nemati, F.; Behnam, M.; Nolte, T. Efficiently migrating real-time systems to multi-cores. In Proceedings of the Conference on Emerging Technologies & Factory Automation (2009 IEEE), Mallorca, Spain, 22–25 September 2009. [Google Scholar]
- Kwon, Y.; Kim, C.; Maeng, S.; Huh, J. Virtualizing Performance Asymmetric Multi-Core Systems. In Proceedings of the 38th Annual International Symposium Computer Architecture (ISCA 2011), San Jose, CA, USA, 4–8 June 2011; pp. 45–56. [Google Scholar]
- Masrur, A.; Pfeuffer, T.; Geier, M.; Drossler, S.; Chakraborty, S. Designing VM schedulers for embedded real-time applications. In Proceedings of the 2011 Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), Taipei, Taiwan, 9–14 October 2011; pp. 29–38. [Google Scholar] [CrossRef]
- Brownlee, J. Clever Algorithms; Lulu Press Inc.: Morissville, NC, USA, 2011; p. 438. [Google Scholar]
- Holland, J.H. Adaptation in Natural and Artificial Systems; MIT Press: Cambridge, MA, USA, 1975. [Google Scholar]
- Davis, L. Handbook of Genetic Algorithms; Van Nostrand Reinhold: New York, NY, USA, 1991. [Google Scholar]
- Melanie, M. An Introduction to Genetic Algorithms; MIT Press: Cambridge, MA, USA, 1999. [Google Scholar]
- Jensen, M.T. Generating robust and flexible job shop schedules using genetic algorithms. IEEE Trans. Evol. Comput. 2003, 7, 275–288. [Google Scholar] [CrossRef]
- Chryssolouris, G.; Subramaniam, V. Dynamic scheduling of manufacturing job shops using genetic algorithms. J. Intell. Manuf. 2001, 12, 281–293. [Google Scholar] [CrossRef]
- Wall, M.B. A Genetic Algorithm for Resource-Constrained Scheduling. Ph.D. Thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, 1996. [Google Scholar]
- Pezzella, F.; Morganti, G.; Ciaschetti, G. A genetic algorithm for the Flexible Job-shop Scheduling Problem. Comput. Oper. Res. 2008, 35, 3202–3212. [Google Scholar] [CrossRef]
- Mo, Z.; Wu, G.; He, Y.; Liu, H. Quantum Genetic Algorithm for Scheduling Jobs on Computational Grids. In Proceedings of the 2010 International Conference on Measuring Technology and Mechatronics Automation (ICMTMA), Changsha City, China, 13–14 March 2010; pp. 964–967. [Google Scholar]
- Nguyen, S.; Zhang, M.; Johnston, M.; Tan, K.C. Automatic Design of Scheduling Policies for Dynamic Multi-objective Job Shop Scheduling via Cooperative Coevolution Genetic Programming. IEEE Trans. Evol. Comput. 2014, 18, 193–208. [Google Scholar] [CrossRef]
- Montana, D.; Brinn, M.; Moore, S.; Bidwell, G. Genetic algorithms for complex, real-time scheduling. In Proceedings of the (SMC 98 Conference Proceedings) 1998 IEEE International Conference on Systems, Man and Cybernetics, San Diego, CA, USA, 14 October 1998; pp. 2213–2218. [Google Scholar]
- Mahmood, A. A Hybrid Genetic Algorithm for Task Scheduling in Multiprocessor Real-Time Systems. Stud. Inform. Control 2000, 9, 207–218. [Google Scholar]
- Oh, J.; Wu, C. Genetic-algorithm-based real-time task scheduling with multiple goals. J. Syst. Softw. 2004, 71. [Google Scholar] [CrossRef]
- Miryani, M.R.; Naghibzadeh, M. Hard Real-Time Multiobjective Scheduling in Heterogeneous Systems Using Genetic Algorithms. Comput. Conf. 2009, 437–445. [Google Scholar] [CrossRef]
- Page, A.J.; Naughton, T.J. Dynamic Task Scheduling using Genetic Algorithms for Heterogeneous Distributed Computing. In Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium, Denver, CO, USA, 4–8 April 2005; pp. 189–189a. [Google Scholar]
- Carretero, J.; Xhafa, F. Genetic algorithm based schedulers for grid computing systems. Int. J. Innov. Comput. 2007, 3, 5. [Google Scholar]
- Yoo, M.; Gen, M. Scheduling algorithm for real-time tasks using multiobjective hybrid genetic algorithm in heterogeneous multiprocessors system. Comput. Oper. Res. 2007, 34, 3084–3098. [Google Scholar] [CrossRef]
- Rahmani, A.M.; Vahedi, M.A. A novel Task Scheduling in Multiprocessor Systems with Genetic Algorithm by using elitism stepping method. In Proceedings of the International Conference of Service Operations and Logistics, and Informations (IEEE 2008), Beijing, China, 12–15 October 2008. [Google Scholar]
- Kang, Y.; Zhang, Z.; Chen, P. An Activity-Based Genetic Algorithm Approach to Multiprocessor Scheduling. In Proceedings of the 2011 Seventh International Conference on Natural Computation (ICNC), Shanghai, China, 26–28 July 2011; pp. 1048–1052. [Google Scholar]
- Kaur, R.; Singh, G. Genetic Algorithm Solution for Scheduling Jobs In Multiprocessor Environment. In Proceedings of the 2012 Annual IEEE India Conference (INDICON), Kochi, India, 7–9 December 2012; pp. 968–973. [Google Scholar]
- Montana, D.J.; Bidwell, G.; Moore, S. Using genetic algorithms for complex, real-time scheduling applications. NOMS 1998, 1, 245–248. [Google Scholar] [CrossRef]
- Yepez, J.; Guardia, J.; Velasco, M.; Ayza, J.; Castane, R.; Marti, P.; Fuertes, J.M. CICLIC: A Tool to Generate Feasible Cyclic Schedules. In Proceedings of the 2006 IEEE International Workshop on Factory Communication Systems, Torino, Italy, 28–30 June 2006; pp. 399–404. [Google Scholar]
- Gracioli, G.; Fröhlich, A.A. CAP: Color-aware task partitioning for multicore real-time applications. ETFA 2014, 1–8. [Google Scholar] [CrossRef]
- Davis, R.I.; Burns, A. Priority Assignment for Global Fixed Priority Pre-Emptive Scheduling in Multiprocessor Real-Time Systems. Symposium 2009, 398–409. [Google Scholar] [CrossRef] [Green Version]
- Shehzad, M.N.; Deplanche, A.M.; Trinquet, Y. Efficient data generation for the testing of real-time multiprocessor scheduling algorithms. Prz. Elektrotechniczny 2014, 90. [Google Scholar] [CrossRef]
- Craveiro, J.P.G.C. Real-Time Scheduling in Multicore: Time-and Space-Partitioned Architectures. Ph.D. Thesis, Universidade De Lisboa, Lisbon, Portugal, 2014. [Google Scholar]
- Schreiber, E.L.; Korf, R.E. Improved Bin Completion for Optimal Bin Packing and Number Partitioning. In Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence, Beijing, China, 3–9 August 2013; pp. 651–658. [Google Scholar]
- Belwal, C.; Cheng, A.M.K. Generating Bounded Task Periods for Experimental Schedulability Analysis. In Proceedings of the 2011 IFIP 9th International Conference on Embedded and Ubiquitous Computing (EUC), Melbourne, VIC, Australia, 24–26 October 2011; pp. 249–254. [Google Scholar]
- Niz, D.d.; Rajkumar, R. Partitioning bin-packing algorithms for distributed real-time systems. IJES 2006, 2, 196–208. [Google Scholar] [CrossRef] [Green Version]
10–100 | 10–200 | 10–500 | 10–1000 | |||||
---|---|---|---|---|---|---|---|---|
MSE | Cores | MSE | Cores | MSE | Cores | MSE | Cores | |
GA | 1.9 | 6 | 2.7 | 6 | 2.6 | 6 | 2.8 | 6 |
BFD | 6.3 | 6 | 6.2 | 6 | 7.3 | 6 | 7.9 | 6 |
FFD | 6.2 | 6 | 6.5 | 6 | 8.0 | 6 | 7.9 | 6 |
FF | 5.9 | 6 | 6.8 | 6 | 7.4 | 6 | 9.6 | 6 |
BF | 5.6 | 6 | 6.5 | 6 | 6.6 | 6 | 8.2 | 6 |
© 2020 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 (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Woolley, B.; Mengel, S.; Ertas, A. An Evolutionary Approach for the Hierarchical Scheduling of Safety- and Security-Critical Multicore Architectures. Computers 2020, 9, 71. https://doi.org/10.3390/computers9030071
Woolley B, Mengel S, Ertas A. An Evolutionary Approach for the Hierarchical Scheduling of Safety- and Security-Critical Multicore Architectures. Computers. 2020; 9(3):71. https://doi.org/10.3390/computers9030071
Chicago/Turabian StyleWoolley, Brandon, Susan Mengel, and Atila Ertas. 2020. "An Evolutionary Approach for the Hierarchical Scheduling of Safety- and Security-Critical Multicore Architectures" Computers 9, no. 3: 71. https://doi.org/10.3390/computers9030071
APA StyleWoolley, B., Mengel, S., & Ertas, A. (2020). An Evolutionary Approach for the Hierarchical Scheduling of Safety- and Security-Critical Multicore Architectures. Computers, 9(3), 71. https://doi.org/10.3390/computers9030071