Brian Goetz explores tools and techniques involved in parallelism, and how to analyze a computation for potential parallelism, with specific attention to the parallel stream library in Java 8.
Jordan Day introduces the Elixir language, its syntax and the semantics of an Elixir application, highlighting differences that make Elixir apps more reliable than those written in other languages.
Natalia Chechina outlines features of actor and functional programming models, and the reason these models attract so much interest in parallel, concurrent, and scaling world.
Crista Lopes demos writing the same program using multiple styles, showcasing the richness of human computational thought and the need to avoid being stuck with one or two styles for life.
Detlef Vollmann explores the performance and scalability issues of atomic
The authors present an approach for automatic translation of sequential, imperative code into a parallel MapReduce framework using Mold, translating Java code to run on Apache Spark.
The authors introduce Cybertron, a new tool for reducing I/O operations in data-parallel programs through a constraint-based encoding.
Dominic Robinson reflects on several concurrency models, trying to assess which is more pleasant to work with.
Angelika Langer, Klaus Kreft discuss using Streams in Java 8: what they are, parallel or sequential execution, intermediate and terminal operations, stateless operations, and fluent programming.
Sponsored by Goldman Sachs. Java 8 has Streams, Scala has parallel collections, and GS Collections has ParallelIterables. How well do they perform?
Andreas Olofsson reviews the history of processors and outlines some of the challenges ahead, introducing project Parallella meant to speed up the transition to massively parallel computing.
Damian Conway explores quantum finite state automata, the power of Maxwell's information engine, the computational expressiveness of (un)natural languages, blending them all into a parallel system.