Abstract

We present a criterion for checking local and global deadlock freedom of finite state systems expressed in BIP: a component-based framework for constructing complex distributed systems. Our criterion is evaluated by model-checking a set of subsystems of the overall large system. If satisfied in small subsystems, it implies deadlock-freedom of the overall system. If not satisfied, then we re-evaluate over larger subsystems, which improves the accuracy of the check. When the subsystem being checked becomes the entire system, our criterion becomes complete for deadlock-freedom. Hence our criterion only fails to decide deadlock freedom because of computational limitations: state-space explosion sets in when the subsystems become too large. Our method thus combines the possibility of fast response together with theoretical completeness. Other criteria for deadlock freedom, in contrast, are incomplete in principle, and so may fail to decide deadlock freedom even if unlimited computational resources are available. Also, our criterion certifies freedom from local deadlock, in which a subsystem is deadlocked while the rest of the system executes. Other criteria only certify freedom from global deadlock. We present experimental results for dining philosophers and for a multi-token-based resource allocation system, which subsumes several data arbiters and schedulers, including Milner’s token-based scheduler.

Highlights

  • Deadlock freedom is a crucial property of concurrent and distributed systems

  • Local and global deadlock: our method shows that no subset of processes can be deadlocked, i.e., absence of both local and global deadlock

  • Check works for realistic formalism: by applying the approach to BIP, we provide an efficient deadlock-freedom check within a formalism from which efficient distributed implementations can be generated [15]

Read more

Summary

INTRODUCTION

Deadlock freedom is a crucial property of concurrent and distributed systems. With increasing system complexity, the challenge of assuring deadlock freedom and other correctness properties becomes even greater. In BIP, the enablement of a port depends only on the local state of a component. An atomic component Bi = (Qi , Pi , →i ) enables a port pi ∈ Pi in state si iff si →pi i. To avoid pathological cases of deadlock due solely to a single component refusing to enable any interaction at all, we assume that every component always enables at least one interaction This means that there is no local state with zero transitions, and every port labeling a transition is part of at least one interaction. Bn ) be a composite component with transition system (Q, γ , →), and let Q0 ⊆ Q be a set of initial states. Grab disappears as its ports do not belong to the subcomponent

CHARACTERIZING DEADLOCK-FREEDOM
Wait-for graphs
Supercycles and deadlock-freedom
Subsystems and Supercycles
GLOBAL SUPERCYCLES
Structural properties of supercycles
Assume scyc
A global AND-OR condition for deadlock-freedom
A global linear condition for deadlock-freedom
LOCAL SUPERCYCLES
Projection onto subsystems
Fixpoint characterization of local supercycles in a subsystem
A local AND-OR condition for deadlock-freedom
A local linear condition for deadlock-freedom
1: Let π arbitrary wait-for path
IMPLEMENTATION AND EXPERIMENTS
Implementation of the AND-OR condition LALT
Tool-set
10.1 Discussion
10.2 Further work

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.