Busy wait analysis

Johann Blieberger, bernd Burgstaller, Bernhard Scholz

Research output: Contribution to journalArticle

1 Citation (Scopus)

Abstract

A busy wait loop is a loop which repeatedly checks whether an event occurs. Busy wait loops for process synchronization and communication are considered bad practice because (1) system failures may occur due to race conditions and (2) system resources are wasted by busy wait loops. In general finding a busy wait loop is an undecidable problem. To get a handle on the problem, we introduce a decidable predicate for loops that will spot most important classes of busy waiting although false alarms may occur. The loop predicate for detecting busy wait loops is based on control flow graph properties (such as loops) and program analysis techniques.

Original languageEnglish
Pages (from-to)142-152
Number of pages11
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume2655
Publication statusPublished - 2003 Dec 1

Fingerprint

Hazards and race conditions
Flow graphs
Synchronization
Communication
Predicate
Flow Graphs
Program Analysis
False Alarm

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

@article{6fa960edde0549488a88c312e34ef0a6,
title = "Busy wait analysis",
abstract = "A busy wait loop is a loop which repeatedly checks whether an event occurs. Busy wait loops for process synchronization and communication are considered bad practice because (1) system failures may occur due to race conditions and (2) system resources are wasted by busy wait loops. In general finding a busy wait loop is an undecidable problem. To get a handle on the problem, we introduce a decidable predicate for loops that will spot most important classes of busy waiting although false alarms may occur. The loop predicate for detecting busy wait loops is based on control flow graph properties (such as loops) and program analysis techniques.",
author = "Johann Blieberger and bernd Burgstaller and Bernhard Scholz",
year = "2003",
month = "12",
day = "1",
language = "English",
volume = "2655",
pages = "142--152",
journal = "Lecture Notes in Computer Science",
issn = "0302-9743",
publisher = "Springer Verlag",

}

Busy wait analysis. / Blieberger, Johann; Burgstaller, bernd; Scholz, Bernhard.

In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 2655, 01.12.2003, p. 142-152.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Busy wait analysis

AU - Blieberger, Johann

AU - Burgstaller, bernd

AU - Scholz, Bernhard

PY - 2003/12/1

Y1 - 2003/12/1

N2 - A busy wait loop is a loop which repeatedly checks whether an event occurs. Busy wait loops for process synchronization and communication are considered bad practice because (1) system failures may occur due to race conditions and (2) system resources are wasted by busy wait loops. In general finding a busy wait loop is an undecidable problem. To get a handle on the problem, we introduce a decidable predicate for loops that will spot most important classes of busy waiting although false alarms may occur. The loop predicate for detecting busy wait loops is based on control flow graph properties (such as loops) and program analysis techniques.

AB - A busy wait loop is a loop which repeatedly checks whether an event occurs. Busy wait loops for process synchronization and communication are considered bad practice because (1) system failures may occur due to race conditions and (2) system resources are wasted by busy wait loops. In general finding a busy wait loop is an undecidable problem. To get a handle on the problem, we introduce a decidable predicate for loops that will spot most important classes of busy waiting although false alarms may occur. The loop predicate for detecting busy wait loops is based on control flow graph properties (such as loops) and program analysis techniques.

UR - http://www.scopus.com/inward/record.url?scp=35248848333&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=35248848333&partnerID=8YFLogxK

M3 - Article

VL - 2655

SP - 142

EP - 152

JO - Lecture Notes in Computer Science

JF - Lecture Notes in Computer Science

SN - 0302-9743

ER -