RT Conference Proceedings
SR 00
ID 10.1007/978-3-540-89740-8_4
A1 Méndez-Lojo, Mario
A1 Lhoták, Ondrej
A1 Hermenegildo, Manuel V.
T1 Efficient Set Sharing Using ZBDDs
YR 2008
FD 31/07/2008-02/08/2008
AB Set sharing is an abstract domain in which each concrete object is represented by the set of local variables from which it might be reachable. It is a useful abstraction to detect parallelism opportunities, since it contains definite information about which variables do not share in memory, i.e., about when the memory regions reachable from those variables are disjoint. Set sharing is a more precise alternative to pair sharing, in which each domain element is a set of all pairs of local variables from which a common object may be reachable. However, the exponential complexity of some set sharing operations has limited its wider application. This work introduces an efficient implementation of the set sharing domain using Zero-suppressed Binary Decision Diagrams (ZBDDs). Because ZBDDs were designed to represent sets of combinations (i.e., sets of sets), they naturally represent elements of the set sharing domain. We show how to synthesize the operations needed in the set sharing transfer functions from basic ZBDD operations. For some of the operations, we devise custom ZBDD algorithms that perform better in practice. We also compare our implementation of the abstract domain with an efficient, compact, bit set-based alternative, and show that the ZBDD version scales better in terms of both memory usage and running time.
T2 21th international workshop, Languages and compilers for parallel computing, LCPC 2008
ED Edmonton, Alberta, Canadá
SN 978-3-540-89739-2
AV Published
LK https://oa.upm.es/4376/
UL http://www.cs.ualberta.ca/lcpc08/