  Jet is an open-source, high-performance, distributed stream processor built
at Hazelcast during the last five years. Jet was engineered with millisecond
latency on the 99.99th percentile as its primary design goal. Originally Jet's
purpose was to be an execution engine that performs complex business logic on
top of streams generated by Hazelcast's In-memory Data Grid (IMDG): a set of
high-performance, in-memory, partitioned and replicated data structures. With
time, Jet evolved into a full-fledged, scale-out stream processor that can
handle out-of-order streams and exactly-once processing guarantees. Jet's
end-to-end latency lies in the order of milliseconds, and its throughput in the
order of millions of events per CPU-core. This paper presents main design
decisions we made in order to maximize the performance per CPU-core, alongside
lessons learned, and an empirical performance evaluation.
