The subgraph enumeration problem asks us to find all subgraphs of a target graph that are isomorphic to a given pattern graph. Determining whether even one such isomorphic subgraph exists is NP-complete---and therefore finding all such subgraphs (if they exist) is a time-consuming task. Subgraph enumeration has applications in many fields, including biochemistry and social networks, and interestingly the fastest algorithms for solving the problem for biochemical inputs are sequential. Since they depend on depth-first tree traversal, an efficient parallelization is far from trivial. Nevertheless, since important applications produce data sets with increasing difficulty, parallelism seems beneficial. We thus present here a shared-memory parallelization of the state-of-the-art subgraph enumeration algorithms RI and RI-DS (a variant of RI for dense graphs) by Bonnici et al. [BMC Bioinformatics, 2013]. Our strategy uses work stealing and our implementation demonstrates a significant speedup on real-world biochemical data---despite a highly irregular data access pattern. We also improve RI-DS by pruning the search space better; this further improves the empirical running times compared to the already highly tuned RI-DS.
翻译:子图查点问题要求我们找到一个目标图的所有子集,这些子集与给定的图型图不同形态。 确定一个目标图的子集,即使有一个这样的无形态子集是否存在,也是NP的完整,因此发现所有这些子集(如果存在的话)是一项耗时的任务。 子图查点在许多领域都有应用,包括生物化学和社会网络,令人感兴趣的是,解决生物化学投入问题最快的算法是相继的。 由于它们依赖于深度第一树跨行,有效的平行化远不是微不足道的。 然而,由于重要的应用生成数据集难度越来越大,平行化似乎是有益的。 因此,我们在这里展示了邦尼奇等人(BMMC BioInformats,2013年)对最新子集查点算法RI和RI-DS(密度图的RI变式)的共同模拟平行平行化。 我们的战略是利用工作窃取和我们的执行方式在现实世界生物化学数据搜索平台上大大加快速度。 我们还通过一种极不规律的数据访问模式改进了空间- 改进了空间- 数据检索系统,并改进了空间- 改进了空间- 比较空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了空间- 改进了这一 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了 改进了