TY - JOUR
T1 - Optimizing and parallelizing ranked enumeration
AU - Golenberg, Konstantin
AU - Kimelfeld, Benny
AU - Sagiv, Yehoshua
PY - 2011/8
Y1 - 2011/8
N2 - Lawler-Murty's procedure is a general tool for designing algorithms for enumeration problems (i.e., problems that involve the production of a large set of answers in ranked order), which naturally arise in database management. Lawler Murty's procedure is used in a variety of modern database applications; particularly in those related to keyword search over structured data. Essentially, this procedure enumerates by invoking a series of instances of an optimization problem (i.e., finding the best solution); solving the optimization problem is the only part that depends on the specific task at hand. The topic of optimizing and parallelizing Lawler-Murty's procedure is investigated. Naive parallelism can be carried out by concurrently solving independent instances of the optimization problem. This can be improved by printing the next answer, in the enumeration order, as soon as none of the concurrent instances can produce a better answer. However, this approach alone suffers from poor utilization of available threads. That leads to the idea of freezing an instance of the optimization problem. Interestingly, not only is freezing beneficial to the parallel execution of Lawler-Murty's, it also substantially reduces the running time of the serial execution. Additional improvements of the freezing technique are then developed to further enhance the utilization of threads, and they result in a significant overall speedup. The effectiveness of the proposed approach is demonstrated on keyword search over data graphs, wherein an extensive experimental study is described.
AB - Lawler-Murty's procedure is a general tool for designing algorithms for enumeration problems (i.e., problems that involve the production of a large set of answers in ranked order), which naturally arise in database management. Lawler Murty's procedure is used in a variety of modern database applications; particularly in those related to keyword search over structured data. Essentially, this procedure enumerates by invoking a series of instances of an optimization problem (i.e., finding the best solution); solving the optimization problem is the only part that depends on the specific task at hand. The topic of optimizing and parallelizing Lawler-Murty's procedure is investigated. Naive parallelism can be carried out by concurrently solving independent instances of the optimization problem. This can be improved by printing the next answer, in the enumeration order, as soon as none of the concurrent instances can produce a better answer. However, this approach alone suffers from poor utilization of available threads. That leads to the idea of freezing an instance of the optimization problem. Interestingly, not only is freezing beneficial to the parallel execution of Lawler-Murty's, it also substantially reduces the running time of the serial execution. Additional improvements of the freezing technique are then developed to further enhance the utilization of threads, and they result in a significant overall speedup. The effectiveness of the proposed approach is demonstrated on keyword search over data graphs, wherein an extensive experimental study is described.
UR - http://www.scopus.com/inward/record.url?scp=84862609705&partnerID=8YFLogxK
U2 - 10.14778/3402707.3402739
DO - 10.14778/3402707.3402739
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.conferencearticle???
AN - SCOPUS:84862609705
SN - 2150-8097
VL - 4
SP - 1028
EP - 1039
JO - Proceedings of the VLDB Endowment
JF - Proceedings of the VLDB Endowment
IS - 11
T2 - 37th International Conference on Very Large Data Bases, VLDB 2011
Y2 - 29 August 2011 through 3 September 2011
ER -