Weld 使用 Rust 语言编写,可以使用 LLVM 编译器框架,为整个数据分析工作流生成高效的并行运行的代码。CSAIL 曾开发出了几个将速度推向极限的大数据加速项目,比如 Milk 和 Tapir。
这个小组声称 Weld 是一种面向数据分析的通用运行时环境,它拿来现代数据处理堆栈几个分离的部分后,可以步调一致地优化它们。每一个部分快速运行,但是“跨不同功能的数据移动可能占了执行时间的大部分。”
换句话说,管道花在将数据在各部分之间来回移动上的时间超过了花在实际处理数据上的时间。Weld 创建了一种每个库都可以接入的运行时环境,提供了一种通用方法,可以跨管道运行需要并行化和优化的关键数据。
诸多框架本身并不为运行时环境生成代码。相反,它们通过 API 来调用 Weld,该 API 描述了处理哪种类型的工作。然后,Weld 使用 LLVM 生成可自动包括优化机制(比如多线程处理)或面向高速向量运算的英特尔 AV2 处理器扩展的代码。
当前的性能指标
部分内容摘自云头条