Skip to content

Executor: need multiple thread support #6319

@helinwang

Description

@helinwang

Currently our Executor implementation is single threaded: it runs the ProgramDesc (actually ProgramDescBind, unrelated detail) sequentially.

It will have severe performance problem with the ProgramDesc that contains OPs that load data from disk or send/recv OPs that reads data from the network. The I/O will block the computation that could run in parallel.

The Executor needs to be able to analyze the dependency according to ProgramDesc (or ExecutionPlan in future if this PR passes), and schedule the OPs whose dependencies are finished to the thread-pool for parallel execution.

This issue is blocked by #6317 , since the Executor needs a reliable data structure (ProgramDesc, not ProgramDescBind) to do dependency analysis.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions