Many computational problems involve combining information from many elements in a collection: summing and counting, parsing, filtering, limiting and faceting, finding distributions and covariance matrices, and so on. Where the collection can be divided into chunks, we can dramatically improve performance through parallelization.
Kyle Kingsbury offers an overview of Tesser, a Clojure library for writing commutative, parallel folds that can be chained and composed into complex single-pass reductions that are dramatically faster on multicore systems and can be transparently distributed over Hadoop.
Kyle Kingsbury, aka Aphyr, is a computer safety researcher and independent consultant. He’s the author of the Riemann monitoring system, the Clojure from the Ground Up introduction to programming, and the Jepsen series on distributed systems correctness. He grills databases in the American Midwest.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com