Abstract
Embedded multicore processors running hard real-time applications such as engine control programs require an appropriate scheduling routine to meet the real-time deadline constraints. These applications typically consist of various conditional branches which change the flow of the program and the task executions based on sensors inputs and vehicle status information. Conventionally, dynamic on-line scheduling was the only option for such applications that have unpredictable runtime behaviors. However, techniques for compilers and schedulers allow static off-line scheduling to be applied to engine control programs by utilizing execution profile feedback methods to feed task execution time information to the compiler. This paper is the first to compare dynamic scheduling and static scheduling schemes through the OSCAR multi-grain automatic parallelizing compiler and its overheads on an actual engine control program using an embedded multicore processor implemented on an FPGA. Evaluations and analysis on the engine control program indicate promising results for static scheduling, recording a 2.53\(\times \) speedup on 4 cores compared to single core execution. In contrast, speedup on dynamic scheduling with 4 cores was only 0.86x compared to sequential execution. The evaluation shows that static scheduling with execution profile feedback methods is an effective tool for real hard-real time control applications that have task granularity that is too fine for dynamic scheduling on embedded multicore processors.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM (JACM) 20(1), 46–61 (1973)
Han, C.-C., Shin, K.G., Jian, W.: A fault-tolerant scheduling algorithm for real-time periodic tasks with possible software faults. IEEE Trans. Comput. 52(3), 362–372 (2003)
Kalogeraki, V., Melliar-Smith, P.M., Moser, L.E.: Dynamic scheduling for soft real-time distributed object systems. In: Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607). IEEE (2000)
Fohler, G.: Joint scheduling of distributed complex periodic and hard aperiodic tasks in statically scheduled systems. In: Proceedings 16th IEEE Real-Time Systems Symposium. IEEE (1995)
Baskaran, M.M., et al.: Compiler-assisted dynamic scheduling for effective parallelization of loop nests on multicore processors. ACM SIGPLAN Not. 44(4), 219–228 (2009)
Gregg, C., et al.: Dynamic heterogeneous scheduling decisions using historical runtime data” In: Workshop on Applications for Multi-and Many-Core Processors (A4MMC) (2011)
Hamidzadeh, B., Atif, Y., Lilja, D.J.: Dynamic scheduling techniques for heterogeneous computing systems. Concurr. Pract. Exp. 7(7), 633–652 (1995)
Anson, H.T., et al.: Dynamic scheduling Monte-Carlo framework for multi-accelerator heterogeneous clusters. In: 2010 International Conference on Field-Programmable Technology. IEEE (2010)
Kasahara, H., Narita, S.: Practical multiprocessor scheduling algorithms for efficient parallel processing. IEEE Trans. Comput. 11, 1023–1029 (1984)
Kasahara, H., et al.: A multigrain parallelizing compilation scheme for OSCAR (optimally scheduled advanced multiprocessor). In: International Workshop on Languages and Compilers for Parallel Computing (1991)
Kimura, K., Kasahara, H.: Near fine grain parallel processing using static scheduling on single chip multiprocessors. In: Innovative Architecture for Future Generation High-Performance Processors and Systems (Cat. No. PR00650). IEEE (1999)
Kasahara, H., Honda, H., Narita, S.: Parallel processing of near fine grain tasks using static scheduling on OSCAR (optimally scheduled advanced multiprocessor). In: Supercomputing 1990: Proceedings of the 1990 ACM/IEEE Conference on Supercomputing. IEEE (1990)
Kasahara, H., Honda, H., Mogi, A., Ogura, A., Fujiwara, K., Narita, S.: A multi-grain parallelizing compilation scheme for OSCAR (optimally scheduled advanced multiprocessor). In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds.) LCPC 1991. LNCS, vol. 589, pp. 283–297. Springer, Heidelberg (1992). https://doi.org/10.1007/BFb0038671
Umeda, D., et al.: Automatic parallelization of hand written automotive engine control codes using OSCAR compiler. In: 17th Workshop on Compilers for Parallel Computing (CPC2013) (2013)
https://www.renesas.com/en-in/products/microcontrollers-microprocessors/v850/v850e2mx/v850e2mx4.html
Yoshida, A., Koshizuka, K., Kasahara, H.: Data-localization for Fortran macro-dataflow computation using partial static task assignment. In: Proceedings of the 10th International Conference on Supercomputing. ACM (1996)
Acknowledgments
The authors wish to thank Mr. Hirokazu Komori of Denso Corporation for his cooperation and support for the evaluation application.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Oki, Y., Mikami, H., Nishida, H., Umeda, D., Kimura, K., Kasahara, H. (2021). Performance of Static and Dynamic Task Scheduling for Real-Time Engine Control System on Embedded Multicore Processor. In: Pande, S., Sarkar, V. (eds) Languages and Compilers for Parallel Computing. LCPC 2019. Lecture Notes in Computer Science(), vol 11998. Springer, Cham. https://doi.org/10.1007/978-3-030-72789-5_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-72789-5_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-72788-8
Online ISBN: 978-3-030-72789-5
eBook Packages: Computer ScienceComputer Science (R0)