Abstract
Background: Nowadays, there is an immense increase in the demand for high power computation of real-time workloads and the trend towards multi-core and multiprocessor CPUs. The realtime system needs to be implemented upon multiprocessor platforms.
Introduction: The nature of processors in an embedded real-time system is changing day by day. The two most significant challenges in a multiprocessor environment are scheduling and synchronization. The popularity of real-time multi-core systems has exploded in recent years, driving the rapid development of a variety of methods for multiprocessor scheduling of essential tasks; on the other hand; these systems have constraints when it comes to maintaining synchronization in order to access shared resources.
Methods: This research work presents a systematic review of different existing scheduling algorithms and synchronization protocols for shared resources in a real-time multiprocessor environment. The manuscript also presents a study based on various metrics of resource scheduling and comparison among different resource scheduling techniques.
Conclusion: The survey classifies open issues, key challenges, and likely useful research directions. Finally, we accept that there is still a lot of capacity in developing better resource management and further maintaining the overall quality. The paper considers such a future path of research in this field.
Keywords: MPRTS, WCET, migration, blocking time, synchronization, RTOS.
Graphical Abstract
[http://dx.doi.org/10.1145/3320271]
[http://dx.doi.org/10.1007/s11241-006-4961-9]
[http://dx.doi.org/10.1007/s11241-006-4961-9]
[http://dx.doi.org/10.1007/s10617-012-9090-1]
[http://dx.doi.org/10.1109/ECRTS.2015.31]
[http://dx.doi.org/10.1109/ACCESS.2020.2992868]
[http://dx.doi.org/10.1109/TII.2012.2188805]
[http://dx.doi.org/10.1109/ECRTS.2013.38]
[http://dx.doi.org/10.1109/TPDS.2005.88]
[http://dx.doi.org/10.1109/RTCSA.2007.8]
[http://dx.doi.org/10.1109/RTSS.2018.00057]
[http://dx.doi.org/10.1007/s11241-018-9316-9]
[http://dx.doi.org/10.1016/j.sysarc.2013.11.010]
[http://dx.doi.org/10.1016/j.jpdc.2009.10.003]
[http://dx.doi.org/10.1142/S0218126619300071]
[http://dx.doi.org/10.1145/1978802.1978814]
[http://dx.doi.org/10.1007/s11227-020-03145-w]
[http://dx.doi.org/10.3390/computation8020026]
[http://dx.doi.org/10.1007/s11241-012-9170-0]
[http://dx.doi.org/10.1109/ECRTS.2010.19]
[http://dx.doi.org/10.14569/IJACSA.2019.0100377]
[http://dx.doi.org/10.1051/matecconf/201925505004]
[http://dx.doi.org/10.5220/0005076202360243]
[http://dx.doi.org/10.1109/TPDS.2019.2926455]
[http://dx.doi.org/10.1109/RTSS.2016.020]
[http://dx.doi.org/10.1145/2038642.2038656]
[http://dx.doi.org/10.1145/2834848.2834874]
[http://dx.doi.org/10.1109/RTSS46320.2019.00033]
[http://dx.doi.org/10.1023/B:TIME.0000033378.56741.14]
[http://dx.doi.org/10.3390/sym12010172]
[http://dx.doi.org/10.1109/ITNEC48623.2020.9084783]
[http://dx.doi.org/10.1145/1851166.1851173]
[http://dx.doi.org/10.3390/electronics6020040]
[http://dx.doi.org/10.1007/s11241-016-9251-6]
[http://dx.doi.org/10.1109/ECRTS.2011.31]
[http://dx.doi.org/10.1007/s11241-019-09328-w]
[http://dx.doi.org/10.1145/3356401.3356404]
[http://dx.doi.org/10.1109/ECRTS.2016.29]
[http://dx.doi.org/10.1109/RTAS.2018.00027]
[http://dx.doi.org/10.1016/j.sysarc.2019.02.003]
[http://dx.doi.org/10.1109/SBESC49506.2019.9046074]
[http://dx.doi.org/10.1109/RTCSA.2012.26]
[http://dx.doi.org/10.1109/ECRTS.2012.17]
[http://dx.doi.org/10.1109/TC.2018.2889985]
[http://dx.doi.org/10.1016/j.jpdc.2011.06.003]
[http://dx.doi.org/10.1016/j.future.2015.07.008]
[http://dx.doi.org/10.1016/j.jss.2019.110449]
[http://dx.doi.org/10.1007/s10817-019-09511-5]