Principles of ParallelismCovers the basics of parallelism, including physical examples, historical context, multicore era, and parallel collections in Scala.
Implementing CombinersCovers the implementation of combiners in parallel programming in Scala, including efficient combine methods and set data structures.
Parallel Programming ICovers the basics of parallel programming, including concurrency, forms of parallelism, synchronization, and programming models like PThreads and OpenMP.
Parallel Scan LeftIntroduces parallel scan left in Scala, covering its properties, sequential solutions, and efficient parallel computation techniques.
Purely Functional Priority QueueCovers optimal purely functional priority queues, Scala implementation, Stainless integration, operations properties, and binomial queues.
Fold Reduce OperationsExplores fold (reduce) operations in parallel programming using Scala, covering associative operations, expression trees, parallel reduction, and array reduction.
Speculative Query ParallelizationExplores accelerating complex analytics through speculation, parallelizing queries, handling mispredictions, and transitioning to speculative plans.
Parallel Programming: FundamentalsCovers the basics of parallel programming, including exploiting parallelism in algorithms and the importance of avoiding race conditions.