Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279)
DOI: 10.1109/real.1998.739768
|View full text |Cite
|
Sign up to set email alerts
|

Efficient object sharing in quantum-based real-time systems

Abstract: We consider the problem of implementing shared objects in uniprocessor and multiprocessor real-time systems in which tasks are executed using a scheduling quantum. In most quantum-based systems, the size of the quantum is quite large in comparison to the length of an object call. As a result, most object calls can be expected to execute without preemption. A good object-sharing scheme should optimize for this expected case, while achieving low overhead when preemptions do occur. In this paper, we present sever… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
18
0

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 23 publications
(18 citation statements)
references
References 27 publications
0
18
0
Order By: Relevance
“…To avoid long non-preemptable sections, prior work has explored the design and implementation of preemptable spin locks [3,12,19], where busy-waiting jobs can be preempted at any time and only the actual critical sections are executed non-preemptably. The primary benefit of preemptable spinning is that the maximum non-preemptable section length is independent of the number of processors (which, given rising core counts, is highly desirable), albeit at the cost of increased worst-case blocking, which arises because preempted jobs must "reissue" their lock requests after a preemption (e.g., in FIFO-ordered spin locks, preempted jobs must re-queue again at the end of the queue [3,12]). While preemptable spinning may be unavoidable in demanding latencysensitive applications, no analysis of the associated increase in blocking has been proposed to date, which renders such locks unsafe in the context of predictable hard real-time systems.…”
Section: A Motivation: Spin Locks In Theory and Practicementioning
confidence: 99%
“…To avoid long non-preemptable sections, prior work has explored the design and implementation of preemptable spin locks [3,12,19], where busy-waiting jobs can be preempted at any time and only the actual critical sections are executed non-preemptably. The primary benefit of preemptable spinning is that the maximum non-preemptable section length is independent of the number of processors (which, given rising core counts, is highly desirable), albeit at the cost of increased worst-case blocking, which arises because preempted jobs must "reissue" their lock requests after a preemption (e.g., in FIFO-ordered spin locks, preempted jobs must re-queue again at the end of the queue [3,12]). While preemptable spinning may be unavoidable in demanding latencysensitive applications, no analysis of the associated increase in blocking has been proposed to date, which renders such locks unsafe in the context of predictable hard real-time systems.…”
Section: A Motivation: Spin Locks In Theory and Practicementioning
confidence: 99%
“…Under clustered scheduling [4,17], processors are grouped into m c non-overlapping sets (or clusters) of c processors each, where C k denotes the k th cluster. We require uniform cluster sizes and for simplicity assume that m is an integer multiple of c. 2 Each task is statically assigned to a cluster; we let C(T i ) denote the cluster to which task T i has been assigned. Partitioned (c = 1) and global (c = m) scheduling are special cases of clustered scheduling.…”
Section: Background and Definitionsmentioning
confidence: 99%
“…Unfortunately, non-preemptive spinlocks can cause unacceptable delays for latency-sensitive workloads because tasks may remain non-preemptive for prolonged times. While it is possible to reduce the negative effects by allowing spinning tasks to remain preemptive (e.g., see [2,20,35]), critical sections are still executed non-preemptively in such spinlocks and thus have a major impact on latency, not unlike the priority-boosting of critical sections under the MPCP.…”
Section: Introductionmentioning
confidence: 99%
“…In [9], Anderson et al defined quantum-based scheduling as follows: "Under quantum-based scheduling, processor time is allocated to tasks in discrete time units called quanta. When a processor is allocated to some task, that task is guaranteed to execute without preemption for q time units, where q is the length of the quantum, or until it terminates, whichever comes first."…”
Section: Introductionmentioning
confidence: 99%
“…When a processor is allocated to some task, that task is guaranteed to execute without preemption for q time units, where q is the length of the quantum, or until it terminates, whichever comes first." Quantum-based scheduling was applied to dynamic priority scheduling for efficient object sharing [9], flow protection in communication [10], and reduction of the scheduling overhead [11].…”
Section: Introductionmentioning
confidence: 99%