Skip to content

Explore solutions to reduce mp Queue overhead #4994

@leoll2

Description

@leoll2

Geti Tune pipeline workers exchange data through queues (multiprocessing.Queue). They push/pull objects of type StreamData, which is quite large because it contains frame data (np.ndarray); the size scales with the resolution of the frames.

In Python, multiprocessing.Queue serializes all objects that are put into them using pickle (source). Such operation is quite expensive for heavy objects like high-resolution images, with negative effects on the pipeline latency.

Explore alternative IPC solutions to move heavy data between processes with minimal overhead. For example:

Metadata

Metadata

Assignees

Labels

Geti Tune BackendIssues related to Geti Tune Studio backend

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions