Hardware locks for a real-time Java chip multiprocessor

Research output: Contribution to journalJournal articleResearchpeer-review

Abstract

A software locking mechanism commonly protects shared resources for multithreaded applications. This mechanism can, especially in chip-multiprocessor systems, result in a large synchronization overhead. For real-time systems in particular, this overhead increases the worst-case execution time and may void a task set's schedulability. This paper presents 2 hardware locking mechanisms to reduce the worst-case time required to acquire and release synchronization locks. These solutions are implemented for the chip-multiprocessor version of the Java Optimized Processor. The 2 hardware locking mechanisms are compared with a software locking solution as well as the original locking system of the processor. The hardware cost and performance are evaluated for all presented locking mechanisms. The performance of the better-performing hardware locks is comparable with that of the original single global lock when contending for the same lock. When several noncontending locks are used, the hardware locks enable true concurrency for critical sections. Benchmarks show that using the hardware locks yields performance ranging from no worse than the original locks to more than twice their best performance. This improvement can allow a larger number of real-time tasks to be reliably scheduled on a multiprocessor real-time platform.
Original languageEnglish
JournalConcurrency and Computation: Practice & Experience
Volume29
Issue number6
Number of pages22
ISSN1532-0626
DOIs
Publication statusPublished - 2016

Keywords

  • Chip multiprocessor
  • Hardware locks
  • Real-time Java
  • Real-time systems

Cite this