~/talk

From Concurrent to Parallel

Talkat Philly ETE 2016 · on Monday, 2016-04-11· [concurrency, java]
slides:none on file

Java SE 8 parallel streams and the fork/join runtime target data-parallel work, not IO concurrency, by using recursive divide-and-conquer on a common ForkJoinPool; benchmarks show near 8× speedup on an 8-core box for a 1,000,000-element int sum but a ~5× slowdown for boxed Integer due to poor locality. A practical rule is N×Q > 10,000 (N items × work per item) before parallelism pays, and parallelism is limited by splitting cost, merge cost, encounter-order ops, and shared mutable state.

AI-written summary · about

  1. 0:00Introduction to the talk
  2. 0:40The end of Moore's Law
  3. 2:36Challenges in using multi-cores
  4. 4:23History of Java concurrency
  5. 7:31Concurrency vs. parallelism
  6. 11:07Requirements for parallelism
  7. 13:23Exploitable parallelism
  8. 17:17Parallel decomposition patterns
  9. 23:12Divide and conquer technique
  10. 29:06Sources of parallel overhead
  11. 32:52The Fork/Join framework
  12. 34:18Introduction to Java streams
  13. 37:20Stream performance modeling
  14. 44:33Optimizing stream performance
  15. 48:57Conclusion and best practices
  16. 50:27Q&A session
~/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.