Space efficient breadth-first and level traversals of consistent global states of parallel programs

1Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Enumerating consistent global states of a computation is a fundamental problem in parallel computing with applications to debugging, testing and runtime verification of parallel programs. Breadth-first search (BFS) enumeration is especially useful for these applications as it finds an erroneous consistent global state with the least number of events possible. The total number of executed events in a global state is called its rank. BFS also allows enumeration of all global states of a given rank or within a range of ranks. If a computation on n processes has m events per process on average, then the traditional BFS (Cooper-Marzullo and its variants) requires O(mn-1/n) space in the worst case, whereas our algorithm performs the BFS requires O(m2n2) space. Thus, we reduce the space complexity for BFS enumeration of consistent global states exponentially, and give the first polynomial space algorithm for this task. In our experimental evaluation of seven benchmarks, traditional BFS fails in many cases by exhausting the 2 GB heap space allowed to the JVM. In contrast, our implementation uses less than 60 MB memory and is also faster in many cases.

Cite

CITATION STYLE

APA

Chauhan, H., & Garg, V. K. (2017). Space efficient breadth-first and level traversals of consistent global states of parallel programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10548 LNCS, pp. 138–154). Springer Verlag. https://doi.org/10.1007/978-3-319-67531-2_9

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free