Principles of ParallelismCovers the basics of parallelism, including physical examples, historical context, multicore era, and parallel collections in Scala.
Parallel Scan LeftIntroduces parallel scan left in Scala, covering its properties, sequential solutions, and efficient parallel computation techniques.
Fold Reduce OperationsExplores fold (reduce) operations in parallel programming using Scala, covering associative operations, expression trees, parallel reduction, and array reduction.
Parallel Programming: FundamentalsCovers the basics of parallel programming, including exploiting parallelism in algorithms and the importance of avoiding race conditions.
Benchmarking Parallel ProgramsCovers testing, benchmarking, performance factors, measurement methodologies, ScalaMeter, JVM warmup, and configuration in parallel programming.
Translation of forExplains the translation of for-expressions in Scala using map, flatmap, and filter functions, with examples and a discussion on its generalization to different types.
Implementing CombinersCovers the implementation of combiners in parallel programming in Scala, including efficient combine methods and set data structures.