5 PLINQ and MapReduce: data parallelism, part 2

This chapter covers

  • Using declarative programming semantics
  • Isolating and controlling side effects
  • Implementing and using a parallel Reduce function
  • Maximizing hardware resource utilization
  • Implementing a reusable parallel MapReduce pattern

This chapter presents MapReduce, one of the most widely used functional programming patterns in software engineering. Before delving into MapReduce, we’ll analyze the declarative programming style that the functional paradigm emphasizes and enforces, using PLINQ and the idiomatic F#, PSeq. Both technologies analyze a query statement at runtime and make the best strategy decision concerning how to execute the query in accordance with available system ...

Get Concurrency in .NET now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.