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

@article{08eec92d639a4cfba5a816af8844d1ad,
title = "Hardware locks for a real-time Java chip multiprocessor",
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.",
keywords = "Chip multiprocessor, Hardware locks, Real-time Java, Real-time systems",
author = "Str{\o}m, {Torur Biskopst{\o}} and Wolfgang Puffitsch and Martin Schoeberl",
year = "2016",
doi = "10.1002/cpe.3950",
language = "English",
volume = "29",
journal = "Concurrency and Computation: Practice & Experience",
issn = "1532-0626",
publisher = "John Wiley & Sons Ltd",
number = "6",

}

Hardware locks for a real-time Java chip multiprocessor. / Strøm, Torur Biskopstø; Puffitsch, Wolfgang; Schoeberl, Martin.

In: Concurrency and Computation: Practice & Experience, Vol. 29, No. 6, 2016.

Research output: Contribution to journalJournal articleResearchpeer-review

TY - JOUR

T1 - Hardware locks for a real-time Java chip multiprocessor

AU - Strøm, Torur Biskopstø

AU - Puffitsch, Wolfgang

AU - Schoeberl, Martin

PY - 2016

Y1 - 2016

N2 - 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.

AB - 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.

KW - Chip multiprocessor

KW - Hardware locks

KW - Real-time Java

KW - Real-time systems

U2 - 10.1002/cpe.3950

DO - 10.1002/cpe.3950

M3 - Journal article

VL - 29

JO - Concurrency and Computation: Practice & Experience

JF - Concurrency and Computation: Practice & Experience

SN - 1532-0626

IS - 6

ER -