Dynamic random walks are fundamental to various graph analysis applications, offering advantages by adapting to evolving graph properties. Their runtime-dependent transition probabilities break down the pre-computation strategy that underpins most existing CPU and GPU static random walk optimizations. This leaves practitioners suffering from suboptimal frameworks and having to write hand-tuned kernels that do not adapt to workload diversity. To handle this issue, we present FlexiWalker, the first GPU framework that delivers efficient, workload-generic support for dynamic random walks. Our design-space study shows that rejection sampling and reservoir sampling are more suitable than other sampling techniques under massive parallelism. Thus, we devise (i) new high-performance kernels for them that eliminate global reductions, redundant memory accesses, and random-number generation. Given the necessity of choosing the best-fitting sampling strategy at runtime, we adopt (ii) a lightweight first-order cost model that selects the faster kernel per node at runtime. To enhance usability, we introduce (iii) a compile-time component that automatically specializes user-supplied walk logic into optimized building blocks. On various dynamic random walk workloads with real-world graphs, FlexiWalker outperforms the best published CPU/GPU baselines by geometric means of 73.44x and 5.91x, respectively, while successfully executing workloads that prior systems cannot support. We open-source FlexiWalker in https://github.com/AIS-SNU/FlexiWalker.
翻译:动态随机游走作为多种图分析应用的基础方法,通过适应不断演化的图属性而展现出优势。其依赖于运行时计算的转移概率打破了大多数现有CPU和GPU静态随机游走优化所依赖的预计算策略,导致实践者不得不使用性能欠佳的框架或编写无法适应工作负载多样性的手动调优内核。为解决此问题,我们提出了FlexiWalker——首个为动态随机游走提供高效、通用工作负载支持的GPU框架。我们的设计空间研究表明,在大规模并行环境下,拒绝采样与蓄水池采样相比其他采样技术更具适用性。因此,我们设计了(i)消除全局归约、冗余内存访问及随机数生成的新型高性能内核。鉴于需要在运行时选择最匹配的采样策略,我们采用(ii)轻量级一阶成本模型,在运行时为每个节点选择更快速的内核。为提升易用性,我们引入(iii)编译时组件,可将用户提供的游走逻辑自动特化为优化构建模块。在多种真实世界图数据的动态随机游走工作负载测试中,FlexiWalker分别以73.44倍和5.91倍的几何平均性能优势超越已发表的最佳CPU/GPU基线方案,并成功执行了先前系统无法支持的工作负载。我们已在https://github.com/AIS-SNU/FlexiWalker开源FlexiWalker。