Evaluating MSRP and MrsP with the Multiprocessor Ravenscar Profile
One of the main challenges of developing real-time systems with Ada on multiprocessor platforms is finding an appropriate scheduling policy and locking policy for shared objects. Some modifications of the standard Ceiling_Locking policy have been proposed for multiprocessor architectures, among which MSRP and MrsP have raised most interest. In this paper the possible uses of both policies in full Ada and Ravenscar programs are explored. To this purpose, classical response time analysis is extended in the paper to deal with heterogeneous access costs in multiprocessor systems. A case study has been used to validate the approach, and an extensive test bench for comparing MSRP and MrsP has been run in order to compare the schedulability properties of both methods. The conclusion is that, although MrsP provides a better overall performance, in many practical situations the simpler MSRP protocol provides comparable results when considering heterogeneous access costs, while being compatible with the Ravenscar restrictions.
KeywordsReal-time systems Multiprocessor systems Ada Ravenscar profile Schedulability analysis
The authors would like to acknowledge the fruitful discussion with Guillem Bernat who provided some initial ideas for the paper.
We would also like to acknowledge the helpful comments by anonymous reviewers, which have contributed to improve the quality of the paper.
- 1.ISO/IEC 8652:2012(E): Information Technology – Programming Languages – Ada (2012)Google Scholar
- 3.Brandenburg, B.B.: Scheduling and locking in multiprocessor real-time operating systems. Ph.D. thesis, The University of North Carolina at Chapel Hill (2011)Google Scholar
- 6.Burns, A., Wellings, A.J.: A schedulability compatible multiprocessor resource sharing protocol-MrsP. In: 2013 25th Euromicro Conference on Real-Time Systems (ECRTS), pp. 282–291. IEEE (2013)Google Scholar
- 7.Davis, R.I., Burns, A.: A survey of hard real-time scheduling algorithms and schedulability analysis techniques for multiprocessor systems. ACM Computing Surveys 43(4) (2011)Google Scholar
- 9.Gai, P., Lipari, G., Natale, M.D.: Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip. In: Proceedings of the 22nd IEEE Real-Time Systems Symposium. IEEE Computer Society (2001)Google Scholar
- 13.de la Puente, J.A., Zamorano, J., Alonso, A., Garrido, J., Salazar, E., de Miguel, M.A.: Experience in spacecraft on-board software development. Ada User J. 35(1), 55–60 (2014)Google Scholar
- 14.Rajkumar, R., Sha, L., Lehoczky, J.P.: Real-time synchronization protocols for multiprocessors. In: IEEE Real-Time Systems Symposium (1988)Google Scholar
- 15.Rajkumar, R.: Real-time synchronization protocols for shared memory multiprocessors. In: Proceedings of the 10th International Conference on Distributed Computing Systems, pp. 116–123. IEEE (1990)Google Scholar