A fundamental challenge in multi- and many-core systems is the correct execution of concurrent access to shared data. A common drawback from existing synchronization mechanisms is the loss of data locality as the shared data is transferred between the accessing cores. In real-time systems, this is especially important as knowledge about data access times is crucial to establish bounds on execution times and guarantee the meeting of deadlines.We propose in this paper a refinement of our previously sketched approach of Migration-Based Synchronization (MBS) as well as its first practical implementation. The core concept of MBS is the replacement of data migration with control-flow migration to achieve synchronized memory accesses with guaranteed data locality. This leads to both shorter and more predictable execution times for critical sections. As MBS can be used as a substitute for classical locks, it can be employed in legacy applications without code alterations.We further examine how the gained data locality improves the results of worst-case timing analyses and results in tighter bounds on execution and response time. We reason about the similarity of MBS to existing synchronization approaches and how it enables us to reuse existing analysis techniques.Finally, we evaluate our prototype implementation, showing that MBS can exploit data locality with similar overheads as traditional locking mechanisms.
翻译:现有同步机制的一个共同缺点是数据丢失,因为共享数据在存取核心之间转移。在实时系统中,这一点特别重要,因为数据存取时间方面的知识对于确定执行时间的界限和保证最后期限的到来至关重要。我们在本文件中建议改进我们以前草图的基于移民的同步化(MBS)方法及其首次实际实施。MBS的核心概念是用控制流动迁移取代数据迁移,以控制流动迁移实现同步存储访问,以保证数据所在地点实现同步存储访问。这导致关键部分的执行时间缩短和更加可预测。由于MBS可以用来替代古典锁,因此可以用于遗留应用,而无需修改代码。我们进一步研究获得的数据地点如何改进最坏的个案时间分析结果,并导致执行和反应时间的更严格。我们有理由认为,MBS与现有的同步方法相似,以及它如何使我们能够重新利用现有的分析技术。最后,我们评估了我们传统的间接费用,显示MBS能够利用类似的原型数据。