In this paper, we present a framework for moving compute and data between processing elements in a distributed heterogeneous system. The implementation of the framework is based on the LLVM compiler toolchain combined with the UCX communication framework. The framework can generate binary machine code or LLVM bitcode for multiple CPU architectures and move the code to remote machines while dynamically optimizing and linking the code on the target platform. The remotely injected code can recursively propagate itself to other remote machines or generate new code. The goal of this paper is threefold: (a) to present an architecture and implementation of the framework that provides essential infrastructure to program a new class of disaggregated systems wherein heterogeneous programming elements such as compute nodes and data processing units (DPUs) are distributed across the system, (b) to demonstrate how the framework can be integrated with modern, high-level programming languages such as Julia, and (c) to demonstrate and evaluate a new class of eXtended Remote Direct Memory Access (X-RDMA) communication operations that are enabled by this framework. To evaluate the capabilities of the framework, we used a cluster with Fujitsu CPUs and heterogeneous cluster with Intel CPUs and BlueField-2 DPUs interconnected using high-performance RDMA fabric. We demonstrated an X-RDMA pointer chase application that outperforms an RDMA GET-based implementation by 70% and is as fast as Active Messages, but does not require function predeployment on remote platforms.
翻译:在本文件中,我们提出了一个框架,用于在分布式混杂系统中的处理元素之间移动计算和数据。框架的实施基于LLLVM编程工具链和UCX通信框架。框架可以为多个CPU架构生成二进制机器代码或LLVM位码,并将代码移至远程机器,同时动态优化和连接目标平台上的代码。遥控注入代码可以循环向其他远程机器传播,或生成新的代码。本文的目标是三重:(a) 提出一个架构和实施框架,为编程一个新的分类系统提供基本基础设施,其中将不同的编程要素,如计算节点和数据处理单位(DPUs)分布在系统内部,并可以生成二进制机器代码或LLLLVMBBBBBD), 演示如何将框架与像朱丽亚这样的现代高层次编程编程语言整合起来,以及(c) 演示和评价一个新的 eX-X-RMMA通信业务。为了评估框架的能力,我们使用一个不是FARTSU C-MA CSAR-BS-BS-BS-CUPS-CS-CFIDSDSDS IM AS AS-C-C-C-C-C-C-C-CFIFSUDRDRDSU AS-C-C-C-CFDSUDRDSDSDSU AS AS AS AS-C-C-C-C-C-C-C-C-C-CFM-C-C-C-SUDRDFSUDFDFDSDRDRDRDRD-C-SDRDRD-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-