UVMBench
收藏arXiv2020-10-21 更新2024-06-21 收录
下载链接:
https://github.com/OSU-STARLAB/UVM_benchmark
下载链接
链接失效反馈官方服务:
资源简介:
UVMBench是由俄勒冈州立大学电气工程与计算机科学学院开发的综合性UVM基准套件,包含32个来自不同应用领域的代表性基准。该数据集旨在通过统一的编程实现和多样化的内存访问模式,帮助研究人员全面评估和比较当前最先进的UVM技术。UVMBench特别增加了与机器学习相关的负载,以探索UVM在数据密集型机器学习应用中的应用潜力。数据集的创建过程涉及重新实现现有基准,并开发新的机器学习负载。UVMBench的应用领域主要集中在GPU的UVM研究,旨在解决UVM引入的性能开销问题,并探索在内存超额订阅情况下的性能表现。
UVMBench is a comprehensive UVM benchmark suite developed by the College of Engineering and Computer Science, Oregon State University, which consists of 32 representative benchmarks from diverse application domains. This dataset aims to help researchers comprehensively evaluate and compare state-of-the-art UVM technologies via unified programming implementations and diversified memory access patterns. UVMBench specifically incorporates machine learning-related workloads to explore the application potential of UVM in data-intensive machine learning applications. The creation of this dataset involves re-implementing existing benchmarks and developing new machine learning workloads. UVMBench is primarily targeted at GPU-oriented UVM research, with the goals of addressing the performance overhead introduced by UVM and investigating performance characteristics under memory oversubscription scenarios.
提供机构:
俄勒冈州立大学电气工程与计算机科学学院
创建时间:
2020-07-20
搜集汇总
数据集介绍

构建方式
在GPU统一虚拟内存研究领域,UVMBench的构建采用了系统化的方法。该套件整合了Rodinia、Parboil和Polybench等现有GPU基准测试套件,通过移除冗余工作负载并统一转换为UVM编程模型。具体而言,开发团队使用cudaMallocManaged API替换了原有的主机与设备指针,消除了显式内存管理调用,并将非UVM数据结构适配为UVM兼容格式。此外,针对机器学习应用日益增长的需求,团队新增了贝叶斯网络、卷积神经网络等代表性机器学习工作负载,并通过异步预取和数据重用优化机制,增强了基准测试的功能性与可配置性。
特点
UVMBench展现出多维度特征,使其成为UVM研究的重要工具。该套件涵盖32个基准测试,广泛覆盖机器学习、线性代数、图像处理等九个应用领域,具备高度的代表性。其内存访问模式呈现显著多样性,包括规则访问与不规则访问两类,能够全面评估不同内存管理策略。套件特别强化了对机器学习工作负载的支持,并提供了内存过订阅测试的辅助工具。与现有基准测试相比,UVMBench在真实硬件验证、机器学习负载覆盖、内存模式多样性及过订阅支持等方面均表现出更完整的特性。
使用方法
研究人员可通过多种方式利用UVMBench推进UVM相关研究。该套件提供非UVM与UVM两种版本的实现,支持直接性能对比分析。用户可通过修改Makefile中的宏定义,灵活启用或禁用异步预取优化功能,以评估预取策略的影响。通过调整内核迭代次数参数,可以模拟数据重用场景,研究重用距离对性能的作用。套件内置的Python辅助程序能够创建内存过订阅测试环境,帮助研究者分析内存容量压力下的系统行为。此外,利用NVBit等工具可深入剖析各基准测试的内存访问轨迹,为新型内存管理算法设计提供数据支撑。
背景与挑战
背景概述
在异构计算架构蓬勃发展的背景下,GPU因其大规模并行计算能力已成为加速机器学习、生物信息学等新兴工作负载的关键平台。然而,传统GPU编程模型中物理内存分离与内存超额订阅的限制,严重制约了其在数据密集型应用中的进一步利用。为应对此挑战,俄勒冈州立大学的Yongbin Gu、Wenxuan Wu等研究人员于2020年提出了UVMBench基准测试套件。该套件旨在为统一虚拟内存(UVM)这一新兴编程模型的研究提供全面评估工具,通过集成来自机器学习、线性代数等多元领域的32个代表性基准程序,并统一编程实现与多样化内存访问模式,显著推动了GPU内存管理优化技术的创新与发展。
当前挑战
UVMBench所针对的核心领域挑战在于优化UVM模型下的内存管理效率,以缓解因页面错误处理、数据迁移及PCIe带宽利用不足导致的性能开销,从而在简化编程复杂性的同时逼近甚至超越传统非UVM模型的执行效能。在构建过程中,研究团队面临多重技术挑战:其一,需将现有基准程序(如Rodinia、Parboil)重构为UVM编程模型,移除显式内存管理API并适配数据结构;其二,需引入机器学习等新兴负载以反映GPU应用趋势,同时确保算法一致性以实现公平性能对比;其三,需设计异步预取与数据重用优化机制,以实证UVM性能恢复潜力,并为架构级自动内存管理研究提供可靠实验基础。
常用场景
经典使用场景
在异构计算领域,GPU统一虚拟内存(UVM)技术通过共享CPU与GPU的虚拟地址空间,简化了内存管理并支持内存超量订阅,但伴随显著的性能开销。UVMBench作为一套综合性基准测试套件,其经典使用场景在于为UVM研究提供标准化评估平台。该套件涵盖机器学习、线性代数、图像处理等多元应用领域的32个代表性工作负载,具备统一的编程实现和多样的内存访问模式,使研究人员能够系统分析UVM在不同数据访问行为下的性能表现,从而推动内存管理优化策略的深入探索。
实际应用
在实际应用层面,UVMBench为GPU加速的大规模数据密集型任务提供了关键性能优化参考。例如,在深度学习模型训练中,UVM允许GPU在内存超量订阅环境下执行核函数,突破了传统编程模型的内存容量限制。通过该套件评估的预取与数据重用优化方案,可指导开发者在实际系统中减少页面迁移开销,提升诸如卷积神经网络、支持向量机等机器学习工作负载的执行效率。此外,其在图像处理、生物信息学等领域的基准测试,助力工业界实现更高效的GPU资源虚拟化与任务调度。
衍生相关工作
UVMBench的发布催生了多项围绕UVM优化的经典研究工作。例如,Ganguly等人基于该套件分析了硬件预取器与页面置换策略的交互影响,提出了适应不规则数据访问的页面迁移机制。Li等人则利用其多样化的内存模式,开发了面向内存超量订阅的管理框架,以缓解页面抖动问题。此外,该套件为后续研究如批处理感知的统一内存管理、直接非易失内存访问集成等提供了评估基准,推动了GPU虚拟内存体系结构从理论到实践的持续演进。
以上内容由遇见数据集搜集并总结生成



