Weld-Project用于數(shù)據(jù)分析應(yīng)用程序的高性能運行時
Weld 使用 Rust 語言編寫,可以使用 LLVM 編譯器框架,為整個數(shù)據(jù)分析工作流生成高效的并行運行的代碼。CSAIL 曾開發(fā)出了幾個將速度推向極限的大數(shù)據(jù)加速項目,比如 Milk 和 Tapir。
這個小組聲稱 Weld 是一種面向數(shù)據(jù)分析的通用運行時環(huán)境,它拿來現(xiàn)代數(shù)據(jù)處理堆棧幾個分離的部分后,可以步調(diào)一致地優(yōu)化它們。每一個部分快速運行,但是“跨不同功能的數(shù)據(jù)移動可能占了執(zhí)行時間的大部分?!?/p>
換句話說,管道花在將數(shù)據(jù)在各部分之間來回移動上的時間超過了花在實際處理數(shù)據(jù)上的時間。Weld 創(chuàng)建了一種每個庫都可以接入的運行時環(huán)境,提供了一種通用方法,可以跨管道運行需要并行化和優(yōu)化的關(guān)鍵數(shù)據(jù)。
諸多框架本身并不為運行時環(huán)境生成代碼。相反,它們通過 API 來調(diào)用 Weld,該 API 描述了處理哪種類型的工作。然后,Weld 使用 LLVM 生成可自動包括優(yōu)化機制(比如多線程處理)或面向高速向量運算的英特爾 AV2 處理器擴展的代碼。
當前的性能指標
部分內(nèi)容摘自云頭條
評論
圖片
表情
