Habanero-Java (HJ) is a pedagogic parallel programming model being developed at Rice University. HJ-lib is the new library implementation of HJ that can be used with any standard Java 8 implementation. HJ integrates a wide range of parallel programming constructs (e.g., async tasks, futures, data-driven tasks, fo rall, barriers, phasers, transactions, actors) in a single programming model that enables unique combinations of these constructs (e.g., nested combinations of task and actor parallelism). The orthogonal classes of parallel constructs enables programmers with a basic knowledge of Java to get started quickly with expressing a wide range of parallel patterns. HJ is capable of expressing many different forms of parallel patterns including data parallelism, pipeline parallelism, stream parallelism, loop parallelism, and divide-and-conquer parallelism.
...