OmniOperator算子加速特性
介绍OmniOperator算子加速特性架构。
OmniOperator算子加速特性是一种采用Native Code(C/C++)实现大数据SQL算子来提高查询性能的特性,通过列式存储和向量化执行技术,同时利用鲲鹏加速库,提升算子的执行效率,从而提升查询引擎的查询性能。该特性提供固定接口供用户分布式任务调用。支持用户将SQL任务提交给Spark集群,集群管理节点进行任务分配,分发多个子任务到对应的多个计算节点执行。
OmniOperator算子加速仅在单个任务中被用户代码调用,不涉及与其他子任务交互。OmniOperator算子加速架构如图1所示。
OmniOperator算子加速特性:
- 实现了高性能算子。充分利用硬件尤其是异构算力的计算能力,使用Native Code实现了Omni算子,相对于原始的Java算子和Scala算子,Omni算子极大地提升了计算引擎的性能。
- 实现了高效数据组织方式。定义了一种与语言无关的列式内存格式,使用堆外内存实现了OmniVec,它可以支持零副本读取数据,且没有序列化开销,使用者能够更高效地处理内存中的数据。
父主题: 关键特性