Data pre-processing is a fundamental component in any data-driven application. With the increasing complexity of data processing operations and volume of data, Cylon, a distributed dataframe system, is developed to facilitate data processing both as a standalone application and as a library, especially for Python applications. While Cylon shows promising performance results, we experienced difficulties trying to integrate with frameworks incompatible with the traditional Message Passing Interface (MPI). While MPI implementations encompass scalable and efficient communication routines, their process launching mechanisms work well with mainstream HPC systems but are incompatible with some environments that adopt their own resource management systems. In this work, we alleviated this issue by directly integrating the Unified Communication X (UCX) framework, which supports a variety of classic HPC and non-HPC process-bootstrapping mechanisms as our communication framework. While we experimented with our methodology on Cylon, the same technique can be used to bring MPI communication to other applications that do not employ MPI's built-in process management approach.
翻译:数据预处理是任何数据驱动应用程序的一个基本组成部分。随着数据处理操作和数据量日益复杂,开发了一个分布式数据框架系统Cylon(分布式数据框架系统),以便利作为独立应用程序和图书馆的数据处理,特别是Python应用程序的数据处理。虽然Cylon展示了有希望的绩效结果,但我们在试图与与传统信息传递界面(MPI)不兼容的框架整合方面遇到了困难。虽然MPI的实施包括了可扩展的高效通信常规,但其程序启动机制与主流的HPC系统运作良好,但与采用自身资源管理系统的某些环境不相容。在这项工作中,我们通过直接整合统一通信X(UCX)框架来缓解了这一问题,该框架支持各种传统的HPC和非HPC流程启动机制,作为我们的通信框架。在尝试我们在Cylon上采用的方法时,可以使用同样的技术将MPI通信与其他不采用MPI内在程序管理方法的应用。