Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems 2009
DOI: 10.1145/1620405.1620416
|View full text |Cite
|
Sign up to set email alerts
|

Avoiding unbounded priority inversion in barrier protocols using gang priority management

Abstract: Large real-time software systems such as real-time Java virtual machines often use barrier protocols, which work for a dynamically varying number of threads without using centralized locking. Such barrier protocols, however, still suffer from priority inversion similar to centralized locking. We introduce gang priority management as a generic solution for avoiding unbounded priority inversion in barrier protocols. Our approach is either kernel-assisted (for efficiency) or library-based (for portability) but in… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2012
2012
2018
2018

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(2 citation statements)
references
References 35 publications
0
2
0
Order By: Relevance
“…Assume that tasks are dependent upon events of other tasks, such as a high priority parent process that is waiting for a signal of termination from a low priority child process or a high priority Java thread that is waiting for a low priority thread to reach a barrier for garbage collection [15]. If the child process or the low priority Java thread is continuously preempted by independently executing, intermediate priority entities, it will indefinitely block the high priority entities.…”
Section: Scheduling and Blockingmentioning
confidence: 99%
See 1 more Smart Citation
“…Assume that tasks are dependent upon events of other tasks, such as a high priority parent process that is waiting for a signal of termination from a low priority child process or a high priority Java thread that is waiting for a low priority thread to reach a barrier for garbage collection [15]. If the child process or the low priority Java thread is continuously preempted by independently executing, intermediate priority entities, it will indefinitely block the high priority entities.…”
Section: Scheduling and Blockingmentioning
confidence: 99%
“…In preemptive real-time systems, gang members are assigned affinities to different processors so that they execute in parallel whenever possible. The scheduler also chooses a gang priority to assign to all members of the same cooperating group [15]. Tasks that share resources, on the other hand, are assigned affinities to the same processor to limit competition over resources, with systems using priority scheduling and priority inheritance to control scheduling order at the processor.…”
Section: Fungible Resourcesmentioning
confidence: 99%