(External) Oleg Kiselyov: Fun with monoids, or map-reduce


Details
I would like to invite everyone in the HaskellerZ Meetup to the following guest lecture given by Prof. Oleg Kiselyov for my Software Engineering class at the OST. Please note that the lecture is at 10:10 in the morning.
Abstract:
Querying and accumulation - looking through data and collecting the findings - are the fundamentals of data analytics. In this lecture we look at querying and accumulation as a *reduction* with an associative combining operation that also has a neutral element - in other words, as a monoid reduction, or map-reduce.
Unlike an accumulating for-loop or fold, reduce does not commit us to a particular evaluation strategy. It can be performed sequentially, embarrassingly parallel, or in a tree-like fashion. Like the Σ notation in Math, it specifies what should be summed up, but not how or in which sequence. The popularity of Google MapReduce showed that indeed a lot of data processing can be done as monoid reduction.
Although every SQL query and aggregation/accumulation can be
represented, in principle, as reduce (especially in a higher-order language), doing so efficiently (overall constant space, and constant time per element) is quite non-trivial. We take on this challenge in the lecture. As a reward, we see what are normally thought of as inherently sequential algorithms being executed embarrassingly in parallel.
Venue: OST / Campus Rapperswil / Lecture Hall 3.113
Time: Tuesday, September 23 2025, 10:10-11:50 am CEST
Speaker: Prof. Oleg Kiselyov, Tohoku University, Japan
Oleg Kiselyov has been programming and doing research for 45 years, in various languages and in various organizations and companies. Further details about his interests and work can be found on his personal website https://okmij.org/ftp/

(External) Oleg Kiselyov: Fun with monoids, or map-reduce