我要评分
获取效率
正确性
完整性
易理解

Operator Acceleration

OmniOperator provides fixed interfaces for distributed tasks. You can submit an SQL task to a Spark cluster. The cluster management node distributes the task to multiple compute nodes as subtasks for execution. OmniOperator is invoked by user code in a single task independently and does not interact with other subtasks. Figure 1 shows its architecture.

Figure 1 Software architecture of OmniOperator

Functions of this feature:

  • Implements the high-performance OmniOperator using native code. It fully exploits the computing capabilities of hardware, especially the heterogeneous computing power. Compared with Java and Scala operators, OmniOperator greatly improves the performance of the compute engine.
  • Provides an efficient data organization mode. It defines a column-oriented storage mode independent of languages and uses off-heap memory to implement OmniVec, which can read data with zero copy. There is no serialization overhead, so that users can process data in the memory more efficiently.