License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.OPODIS.2016.17
URN: urn:nbn:de:0030-drops-70867
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2017/7086/
Go to the corresponding LIPIcs Volume Portal


Chang, Yen-Jung ; Garg, Vijay K.

Predicate Detection for Parallel Computations with Locking Constraints

pdf-format:
LIPIcs-OPODIS-2016-17.pdf (1.0 MB)


Abstract

The happened-before model (or the poset model) has been widely used for modeling the computations (execution traces) of parallel programs and detecting predicates (user-specified conditions). This model captures potential causality as well as locking constraints among the executed events of computations using Lamport's happened-before relation. The detection of a predicate in a computation is performed by checking if the predicate could become true in any reachable global state of the computation. In this paper, we argue that locking constraints are fundamentally different from potential causality. Hence, a poset is not an appropriate model for debugging purposes when the computations contain locking constraints. We present a model called Locking Poset, or a Loset, that generalizes the poset model for locking constraints. Just as a poset captures possibly an exponential number of total orders, a loset captures possibly an exponential number of posets. Therefore, detecting a predicate in a loset is equivalent to detecting the predicate in all corresponding posets. Since determining if a global state is reachable in a computation is a fundamental problem for detecting predicates, this paper first studies the reachability problem in the loset model. We show that the problem is NP-complete. Afterwards, we introduce a subset of reachable global states called lock-free feasible global states such that we can check whether a global state is lock-free feasible in polynomial time. Moreover, we show that lock-free feasible global states can act as "reset" points for reachability and be used to drastically reduce the time for determining the reachability of other global states. We also introduce strongly feasible global states that contain all reachable global states and show that the strong feasibility of a global state can be checked in polynomial time. We show that strong feasibility provides an effective approximation of reachability for many practical applications.

BibTeX - Entry

@InProceedings{chang_et_al:LIPIcs:2017:7086,
  author =	{Yen-Jung Chang and Vijay K. Garg},
  title =	{{Predicate Detection for Parallel Computations with Locking Constraints}},
  booktitle =	{20th International Conference on Principles of Distributed Systems (OPODIS 2016)},
  pages =	{17:1--17:17},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-031-6},
  ISSN =	{1868-8969},
  year =	{2017},
  volume =	{70},
  editor =	{Panagiota Fatourou and Ernesto Jim{\'e}nez and Fernando Pedone},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2017/7086},
  URN =		{urn:nbn:de:0030-drops-70867},
  doi =		{10.4230/LIPIcs.OPODIS.2016.17},
  annote =	{Keywords: predicate detection, parallel computations, reachable global states, locking constraints, happened-before relation}
}

Keywords: predicate detection, parallel computations, reachable global states, locking constraints, happened-before relation
Collection: 20th International Conference on Principles of Distributed Systems (OPODIS 2016)
Issue Date: 2017
Date of publication: 06.04.2017


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI