Efficient CPU-GPU Work Sharing for Data-parallel JavaScript
Workloads [abstract] (ACM DL, PDF) Xianglan Piao, Channoh Kim, Younghwan Oh, Hanjun Kim, and Jae W Lee Proceedings of the Companion Publication of the 23rd International Conference on World Wide Web Companion (WWW Companion), April 2014.
Modern web browsers are required to execute many complex,
compute-intensive applications, mostly written in JavaScript.
With widespread adoption of heterogeneous processors, recent
JavaScript-based data-parallel programming models, such as
River Trail and WebCL, support multiple types of processing
elements including CPUs and GPUs. However, significant
performance gains are still left on the table since the
program kernel runs on only one compute device, typically
selected at kernel invocation. This paper proposes a new
framework for efficient work sharing between CPU and GPU for
data-parallel JavaScript workloads. The work sharing
scheduler partitions the input data into smaller chunks and
dynamically dispatches them to both CPU and GPU for
concurrent execution. For four data-parallel programs, our
framework improves performance by up to 65% with a geometric
mean speedup of 33% over GPU-only execution.