Reverse Offload Programming on Heterogeneous Systems

To achieve high computation throughput, heterogeneous architectures utilize many special-purpose cores to work as floating point computing coprocessors. Popular programming models typically offload computing intensive operations to coprocessors and then aggregate the results. This approach results i...

Full description

Bibliographic Details
Main Authors: Cheng Chen, Wenxiang Yang, Fang Wang, Dan Zhao, Yang Liu, Liang Deng, Canqun Yang
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
MIC
Online Access:https://ieeexplore.ieee.org/document/8606083/
Description
Summary:To achieve high computation throughput, heterogeneous architectures utilize many special-purpose cores to work as floating point computing coprocessors. Popular programming models typically offload computing intensive operations to coprocessors and then aggregate the results. This approach results in the need of transferring a large amount of data via the peripheral component interconnect express (PCIe). To leverage the limited bandwidth of PCIe, we develop a reverse offload (rOffload) model that treats the autonomous Intel Many Integrated Core (MIC) coprocessor as the host processor while the CPU is treated as the coprocessor. The MICs orchestrate the computation and offload work, which cannot be accelerated on MIC, to the CPUs, thus reducing the overhead introduced by moving data among distinct memory regions. In this paper, we present an overview of rOffload, including the basic programming interface and its implementation on a CPU-MIC system. The results from benchmarking and from application experiments conducted on the Tianhe-2 supercomputer demonstrate the efficiency of our rOffload model in terms of programmability, portability, and performance.
ISSN:2169-3536