中科驭数的CONFLUX®-2200D S 大数据计算加速DPU卡可以实现列式计算,而且HADOS平台支持C++语言,所以可以直接剖析Velox的向量化参数。对于列式存储的数据,颠末对数据类型的简单处理之后,可以直接交给DPU执行计算使命,免除了数据行列转换的性能丧失,同时也降低了DPU计算资源集成的运维难度,大大提高了Velox异构开发的效率。
4.2.2 算子卸载
以我们实现卸载的Filter算子为例,对于cast(A as bigint)>1这一具体的表达式,来探究如何实现”>”这一二元运算符的卸载。
Filter算子的Operator中会使用有一个 std::unique_ptr<ExprSet> exprs_的变量,用来执行过滤和投影的计算。ExprSet是Filter算子计算的核心,其本质是一颗表达式树。cast(A as bigint)>1的表达式树以及表达式树的静态节点类型如下: