I recently found out about a software library called HPX that supports writing parallel and distributed applications of any scale. It allows the user of the library (a software developer) to focus more on the tasks that need to be performed by the software and less about how these tasks can be executed efficiently given the hardware resources available. Ideally, using HPX the developer can write software that performs optimal on any hardware platform, ranging from (relatively) low-end platforms as laptops to high-end platforms like clusters and supercomputers.
More information about HPX can be found at the HPX homepage. The concepts behind the library are explained in a talk by Hartmut Kaiser (one of the people behind HPX) called “Asynchronous Computation in C++“.