Motivated by the challenges of programming irregular applications for machines with million-fold parallelism, we present a key-based programming model, called key-value map-shuffle-reduce (KVMSR), that enables programmers to optimize fine-grained parallel programs. KVMSR expresses parallelism on a global address space and features modular interfaces to flexibly bind computation to available compute resources. We define the KVMSR model and illustrate it with three programs, convolution filter, PageRank and BFS, to show its ability to separate computation expression from binding to computation location for high performance. On a 8,192-way parallel compute system, KVMSR modular computation location control achieves up to 2,317 \(\times \) performance with static approaches and an increase of 549 \(\times \) to 2,715 \(\times \) speedup with dynamic approaches for computation location binding.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Efficiently Exploiting Irregular Parallelism Using Keys at Scale

  • Yuqing Wang,
  • Andronicus Rajasukumar,
  • Tianshuo Su,
  • Marziyeh Nourian,
  • Jose M. Monsalve Diaz,
  • Ahsan Pervaiz,
  • Jerry Ding,
  • Charles Colley,
  • Wenyi Wang,
  • Yanjing Li,
  • David F. Gleich,
  • Hank Hoffmann,
  • Andrew A. Chien

摘要

Motivated by the challenges of programming irregular applications for machines with million-fold parallelism, we present a key-based programming model, called key-value map-shuffle-reduce (KVMSR), that enables programmers to optimize fine-grained parallel programs. KVMSR expresses parallelism on a global address space and features modular interfaces to flexibly bind computation to available compute resources. We define the KVMSR model and illustrate it with three programs, convolution filter, PageRank and BFS, to show its ability to separate computation expression from binding to computation location for high performance. On a 8,192-way parallel compute system, KVMSR modular computation location control achieves up to 2,317 \(\times \) performance with static approaches and an increase of 549 \(\times \) to 2,715 \(\times \) speedup with dynamic approaches for computation location binding.