架构介绍
OmniOperator算子加速特性提供统一接口,供用户在分布式任务中调用。用户可将SQL任务提交至Spark集群,由集群管理节点进行任务调度,将多个子任务分发到对应的计算节点执行。
大数据引擎通常采用Java/Scala算子,难以充分发挥CPU的计算能力。同时对异构算力的支持有限,无法有效发挥硬件的计算性能优势。OmniOperator算子加速特性通过使用Native Code,充分发挥硬件计算性能优势,尤其在异构算力场景下表现突出。
OmniOperator算子加速特性:
- 实现了高性能算子。通过使用Native Code实现Omni算子,充分挖掘硬件特别是异构算力的性能潜力,相较于传统的Java和Scala算子,提升了计算引擎的执行效率。
- 实现了高效数据组织方式。定义了一种与语言无关的列式内存格式,使用堆外内存实现了OmniVec,可以支持零副本读取数据,避免了序列化开销,从而实现更高效的数据处理能力。
OmniOperator算子加速特性仅在单个任务中被用户代码调用,不涉及与其他子任务交互。OmniOperator算子加速特性的软件架构如图1所示。
父主题: 特性介绍
