Glossary · Term

ZMQ

← all terms

Definition

Plain language

A common software library that lets the different parts of a program talk to each other over messages.

As stated in the literature

ZeroMQ — a high-performance asynchronous messaging library used for inter-component communication; in the GPU-optimization case study, repeated apparent deadlocks in the ZMQ layer turned out to be symptoms of a deeper GPU-fault root cause.

Why it matters: It simplifies getting separate program components to talk, though a stall in this messaging layer can be a misleading symptom of a deeper problem elsewhere.

For example, one part of a program can drop a message into a queue and another part picks it up and acts on it, without the two parts having to wait on each other directly.

Heard on the show

“And all three crashes looked identical — they all looked like a deadlock in the messaging layer, this library called ZMQ that the components use to talk to each other.”
Episode 139 — When Optimizing One GPU Kernel Quietly Breaks the Whole System

Mentioned in 1 episode

  1. 139
    When Optimizing One GPU Kernel Quietly Breaks the Whole System

Related terms