~/talk

Concurrent Stream Processing

Talkat Clojure/conj 2011 · 2011-11-10..11-12· [concurrency, software-architecture]
links:none on file
slides:none on file

A production concurrent data-stream engine for database federation processes many streams that are too large for memory by compiling S-expression stream expressions into node-and-pipe graphs executed on a Java fork/join pool. Operators include pmap+, parallel reduce, chunking, re-chunking and join/let semantics; the system swaps to memory‑mapped buffered pipes under low-heap conditions, propagates exceptions to the top, supports cancellation and debugging, and offers alternate compilers (to Clojure seqs or node/pipe trees) used in Revelytics’ shipped product.

AI-written summary · about

  1. 0:00Start
  2. 16:14Direction of Data Flow
  3. 19:42Processor
  4. 21:25Cancellations / Timeouts
  5. 22:24Compiling Stream Expressions
  6. 23:11Stream Operators Operators for taking parts of streams.
  7. 23:21Stream "let" Operators
  8. 24:52Stream "Chunk" Operators Chunk operators allow operations on chunks
  9. 29:29Inside the Stream Expression Compiler
  10. 30:28Compiler Implemented via eval
  11. 34:09Code Generation
  12. 35:42Distributed Stream Processing
  13. 36:04Related Clojure Links
  14. 39:09Efficient Use of Worker Threads
  15. 40:27Exception Handling
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.