共享内存架构下的图同构算法实现
1. 引言
如今,高性能计算架构多种多样,如多核 CPU 和众核 GPU。在处理海量数据时,众多技术和科研项目高度依赖高速计算机系统或超级计算机。
图同构问题在计算科学、模式识别、计算机视觉、生物信息学、数据挖掘和网络应用等领域被广泛研究。传统的图同构算法时间复杂度为 O(NIM),其中 N 是数据库中模型图的总数,M 是模型图中的最大节点数,I 是输入图的节点总数。随着图中节点数量的增加,传统方法往往难以检测图同构。而利用欧几里得向量技术,计算时间可降至 O(NI)。
本文旨在开发一种基于欧几里得向量概念的算法,更高效地测试有向图和无向图的同构性,减少输入图与数据库中数千个图进行匹配时所需的搜索时间。若忽略预处理时间,与传统算法和新提出的顺序算法相比,整体计算时间更短。
使用 SIMD 架构和并行编程语言(如 OpenMP)在共享内存架构上并行处理数千个节点的图。基于决策树的图同构方法需计算 n! 个节点排列(n 为图中节点总数),对于大型图,计算 n! 排列所需的时间和存储决策树的空间复杂度都呈指数级增长。因此,开发快速并行算法以降低时空复杂度成为研究的动力。近年来,多核处理器技术的发展为研究人员提供了广阔的空间,促使他们利用并行算法技术开发新算法。本研究聚焦于多核计算机系统,特别是节点数在 100 到 5000 之间的各类图,因为在多核系统中,核心间通信时间会影响整体计算效率。
主要目标如下:
1. 利用 OpenMP 在多核架构上实际实现并行图同构算法,并取得有效结果。
2. 证明基于欧几里得向量的图同构算法在多核处理器上具有内在并行性,能取得比顺序实现更好的实验结果。
超级会员免费看
订阅专栏 解锁全文
6024

被折叠的 条评论
为什么被折叠?



