Grappa is a modern take on software distributed shared memory (DSM) for in-memory data-intensive applications (e.g., ad-placement, social network analysis, PageRank, etc.). Grappa enables users to program a cluster as if it were a single, large, non-uniform memory access (NUMA) machine. Performance scales up even for applications that have poor locality and input-dependent load distribution. Grappa addresses deficiencies of previous DSM systems by exploiting abundant application parallelism, often delaying individual tasks to improve overall throughput. For example, Grappa moves execution to the data for improved memory bandwidth; multiplexes thousands of tasks per core to tolerate long latency operations and overlap communication and computation; and aggregates small network messages into larger packets to better utilize network bandwidth.
For more information, please visit the home page of the Grappa project: http://grappa.io