Latency-Tolerant Distributed Shared Memory For Data-Intensive Applications
Institution: | University of Washington |
---|---|
Department: | |
Degree: | PhD |
Year: | 2015 |
Keywords: | graph; irregular; latency; network; programming; throughput; Computer science |
Record ID: | 2062764 |
Full text PDF: | http://hdl.handle.net/1773/27449 |
Grappa is a modern take on software distributed shared memory (DSM) for in-memory data-intensive applications. 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 application parallelism, trading off latency for throughput. We evaluate Grappa with an in-memory map/reduce framework (10x faster than Spark); a vertex-centric framework inspired by GraphLab (1.33x faster than native GraphLab); and a relational query execution engine (12.5x faster than Shark). All these frameworks required only 60-690 lines of Grappa code.