ActivePointers

Author:

Shahar Sagi1,Bergman Shai1,Silberstein Mark1

Affiliation:

1. Technion - Israel Institute of Technology

Abstract

Modern discrete GPUs have been the processors of choice for accelerating compute-intensive applications, but using them in largescale data processing is extremely challenging. Unfortunately, they do not provide important I/O abstractions long established in the CPU context, such as memory mapped files, which shield programmers from the complexity of buffer and I/O device management. However, implementing these abstractions on GPUs poses a problem: the limited GPU virtual memory system provides no address space management and page fault handling mechanisms to GPU developers, and does not allow modifications to memory mappings for running GPU programs. We implement ActivePointers, a software address translation layer and paging system that introduces native support for page faults and virtual address space management to GPU programs, and enables the implementation of fully functional memory mapped files on commodity GPUs. Files mapped into GPU memory are accessed using active pointers, which behave like regular pointers but access the GPU page cache under the hood, and trigger page faults which are handled on the GPU. We design and evaluate a number of novel mechanisms, including a translation cache in hardware registers and translation aggregation for deadlock-free page fault handling of threads in a single warp. We extensively evaluate ActivePointers on commodity NVIDIA GPUs using microbenchmarks, and also implement a complex image processing application that constructs a photo collage from a subset of 10 million images stored in a 40GB file. The GPU implementation maps the entire file into GPU memory and accesses it via active pointers. The use of active pointers adds only up to 1% to the application's runtime, while enabling speedups of up to 3.9x over a combined CPU+GPU implementation and 2.6x over a 12-core CPU-only implementation which uses AVX vector instructions.

Publisher

Association for Computing Machinery (ACM)

Reference37 articles.

1. Intel Software Guard Extensions Programming Reference. https://software. intel.com/sites/default/files/managed/48/88/329298-002.pdf;Accessed,2016

2. Page Placement Strategies for GPUs within Heterogeneous Memory Systems

Cited by 4 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. An Automatic Assessment and Optimization Algorithm for English Translation Software Combining Deep Learning and Natural Language Processing;2024 International Conference on Electrical Drives, Power Electronics & Engineering (EDPEE);2024-02-27

2. English Intelligent Translation Software Framework Based on data Analysis Algorithm;2023 International Conference on Integrated Intelligence and Communication Systems (ICIICS);2023-11-24

3. Design of English Translation Software Based on Improved GLR Algorithm;2023 International Conference on Networking, Informatics and Computing (ICNETIC);2023-05

4. XeFlow: Streamlining Inter-Processor Pipeline Execution for the Discrete CPU-GPU Platform;IEEE Transactions on Computers;2020-06-01

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3