Worst-Case Response Time Analysis for Periodic Programs with Nested Locks

Periodic applications include tasks that run continuously over certain intervals, which can lead to data races with concurrency.Locks have been traditionally used as a synchronization mechanism to ensure correctness.However, it is possible that a low priority task gets preempted for a high priority task while holding a lock that the high priority task requires.In safety-critical systems, this can result in undesirable situations where high priority tasks have to wait for low priority tasks to complete, violating its periodicity and priority.While prior works have proposed techniques for race detection in applications without nested locking, these techniques do not generalize to applications using nested locks.In this work, we present a worst-case response time analysis and a sound technique for static race detection in the context of periodic applications having nested locking behavior.Our algorithm offers a conservative upper bound for task response times when dealing with periodicity and addressing the complexities introduced by nested locks.Our approach improves the safety and dependability of concurrent periodic programs with nested locks.We implement our algorithm in Rust, and evaluate its performance and correctness on a set of programs.

Authors

Institutions

Publication Details

Published
2025-02-20
DOI
https://doi.org/10.1145/3717383.3717392
Primary Topic
Real-Time Systems Scheduling
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Worst-Case Response Time Analysis for Periodic Programs with Nested Locks

Abhishek Bichhawat, Harshit Mansukhbhai Ramolia, Siddhesh Sanjay Kanawade
Real-Time Systems Scheduling
article

Worst-Case Response Time Analysis for Periodic Programs with Nested Locks

Abhishek Bichhawat, Harshit Mansukhbhai Ramolia, Siddhesh Sanjay Kanawade
article en

Abstract

Periodic applications include tasks that run continuously over certain intervals, which can lead to data races with concurrency.Locks have been traditionally used as a synchronization mechanism to ensure correctness.However, it is possible that a low priority task gets preempted for a high priority task while holding a lock that the high priority task requires.In safety-critical systems, this can result in undesirable situations where high priority tasks have to wait for low priority tasks to complete, violating its periodicity and priority.While prior works have proposed techniques for race detection in applications without nested locking, these techniques do not generalize to applications using nested locks.In this work, we present a worst-case response time analysis and a sound technique for static race detection in the context of periodic applications having nested locking behavior.Our algorithm offers a conservative upper bound for task response times when dealing with periodicity and addressing the complexities introduced by nested locks.Our approach improves the safety and dependability of concurrent periodic programs with nested locks.We implement our algorithm in Rust, and evaluate its performance and correctness on a set of programs.

Indian Institute of Technology Gandhinagar (IN)
Climate action
Openalex Percentile: Top 93%
Real-Time Systems Scheduling
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.