Heterogeneous Active Messages (HAM) - Implementing Lightweight Remote Procedure Calls in C plus

被引:0
作者
Noack, Matthias [1 ]
机构
[1] Zuse Inst Berlin, Berlin, Germany
来源
PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19) | 2019年
关键词
D O I
10.1145/3318170.3318195
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We present HAM (Heterogeneous Active Messages), a C++-only active messaging solution for heterogeneous distributed systems. Combined with a communication protocol, HAM can be used as a generic Remote Procedure Call (RPC) mechanism. It has been used in HAM-Offload to implement a low-overhead offloading framework for inter- and intra-node offloading between different architectures including accelerators like the Intel Xeon Phi x100 series and the NEC SX-Aurora TSUBASA Vector Engine. HAM uses template meta-programming to implicitly generate active message types and their corresponding handler functions. Heterogeneity is enabled by providing an efficient address translation mechanism between the individual handler code addresses of processes running different binaries on different architectures, as well a hooks to inject serialisation and deserialisation code on a per-type basis. Implementing such a solution in modern C++ sheds some light on the shortcomings and grey areas of the C++ standard when it comes to distributed and heterogeneous environments.
引用
收藏
页数:8
相关论文
共 19 条
[1]   Parallel Programming with Migratable Objects: Charm plus plus in Practice [J].
Acun, Bilge ;
Gupta, Abhishek ;
Jain, Nikhil ;
Langer, Akhil ;
Menon, Harshitha ;
Mikida, Eric ;
Ni, Xiang ;
Robson, Michael ;
Sun, Yanhua ;
Totoni, Ehsan ;
Wesolowski, Lukasz ;
Kale, Laxmikant .
SC14: INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2014, :647-658
[2]  
[Anonymous], 2018, OPENMP APPL PROGR IN
[3]  
Chen C, 2018, 2018 IEEE 3RD INTERNATIONAL CONFERENCE ON IMAGE, VISION AND COMPUTING (ICIVC), P894, DOI 10.1109/ICIVC.2018.8492841
[4]   Partitioned Global Address Space Languages [J].
De Wael, Mattias ;
Marr, Stefan ;
De Fraine, Bruno ;
Van Cutsem, Tom ;
De Meuter, Wolfgang .
ACM COMPUTING SURVEYS, 2015, 47 (04)
[5]  
Deppisch Daniel, 2018, THESIS HUMBOLDT U BE
[6]  
Intel Corporation, IT C ABI
[7]  
Jeffers J., 2013, Intel Xeon Phi coprocessor high-performance programming
[8]   ParalleX: An Advanced Parallel Execution Model for Scaling-Impaired Applications [J].
Kaiser, Hartmut ;
Brodowicz, Maciej ;
Sterling, Thomas .
2009 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS (ICPPW 2009), 2009, :394-401
[9]  
Lu H.J., K1OM ARCHITECTURE PR
[10]   Xeon Phi Acceleration of Domain Decomposition Iterations via Heterogeneous Active Messages [J].
Maly, Lukas ;
Zapletal, Jan ;
Merta, Michal ;
Cermak, Martin .
INTERNATIONAL CONFERENCE OF NUMERICAL ANALYSIS AND APPLIED MATHEMATICS (ICNAAM 2017), 2018, 1978