Temporal motif mining is the task of finding the occurrences of subgraph patterns within a large input temporal graph that obey the specified structural and temporal constraints. Despite its utility in several critical application domains that demand high performance (e.g., detecting fraud in financial transaction graphs), the performance of existing software is limited on commercial hardware platforms, in that it runs for tens of hours. This paper presents Everest - a system that efficiently maps the workload of mining (supports both enumeration and counting) temporal motifs to the highly parallel GPU architecture. In particular, using an input temporal graph and a more expressive user-defined temporal motif query definition compared to prior works, Everest generates an execution plan and runtime primitives that optimize the workload execution by exploiting the high compute throughput of a GPU. Everest generates motif-specific mining code to reduce long-latency memory accesses and frequent thread divergence operations. Everest incorporates novel low-cost runtime mechanisms to enable load balancing to improve GPU hardware utilization. To support large graphs that do not fit on GPU memory, Everest also supports multi-GPU execution by intelligently partitioning the edge list that prevents inter-GPU communication. Everest hides the implementation complexity of presented optimizations away from the targeted system user for better usability. Our evaluation shows that, using proposed optimizations, Everest improves the performance of a baseline GPU implementation by 19x, on average.
翻译:时序子图挖掘是从大规模输入时序图中找出符合指定结构与时间约束的子图模式出现频次的任务。尽管该技术在多个需要高性能的关键应用领域(如金融交易图中的欺诈检测)具有重要价值,现有软件在商用硬件平台上的性能极为有限,往往需要运行数十小时。本文提出《珠穆朗玛》(Everest)系统——该系统将时序子图挖掘(支持枚举与计数两种模式)高效映射至高度并行的GPU架构。具体而言,通过输入时序图及比前人工作更具表达力的用户自定义时序子图查询定义,Everest生成执行计划与运行时原语,利用GPU的高计算吞吐量优化工作负载执行。Everest生成针对特定子图的挖掘代码,以减少长延迟内存访问与频繁的线程分支操作。该系统采用新颖的低开销运行时机制实现负载均衡,从而提升GPU硬件利用率。为支持无法适配GPU内存的大规模图,Everest通过智能划分边列表避免GPU间通信,实现多GPU执行。通过将所提优化机制的实现复杂性彻底隐藏,Everest提升了目标系统用户的使用便捷性。评估表明,采用所提优化后,Everest将基线GPU实现的性能平均提升了19倍。