JAWS: A JavaScript framework for adaptive CPU-GPU work sharing

Xianglan Piao, Channoh Kim, Younghwan Oh, Huiying Li, Jincheon Kim, Hanjun Kim, Jae W. Lee

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Citations (Scopus)

Abstract

This paper introduces JAWS, a JavaScript framework for adaptive work sharing between CPU and GPU for data-parallel workloads. Unlike conventional heterogeneous parallel programming environments for JavaScript, which use only one compute device when executing a single kernel, JAWS accelerates kernel execution by exploiting both devices to realize full performance potential of heterogeneous multicores. JAWS employs an efficient work partitioning algorithm that finds an optimal work distribution between the two devices without requiring offline profiling. The JAWS runtime provides shared arrays for multiple parallel contexts, hence eliminating extra copy overhead for input and output data. Our preliminary evaluation with both CPU-friendly and GPU-friendly benchmarks demonstrates that JAWS provides good load balancing and efficient data communication between parallel contexts, to significantly outperform best single-device execution.

Original languageEnglish
Title of host publication20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings
PublisherAssociation for Computing Machinery
Pages251-252
Number of pages2
ISBN (Electronic)9781450332057
DOIs
Publication statusPublished - 2015 Jan 24
Event20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - San Francisco, United States
Duration: 2015 Feb 72015 Feb 11

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
Volume2015-January

Other

Other20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015
CountryUnited States
CitySan Francisco
Period15/2/715/2/11

Fingerprint

Program processors
Parallel programming
Resource allocation
Communication
Graphics processing unit

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Piao, X., Kim, C., Oh, Y., Li, H., Kim, J., Kim, H., & Lee, J. W. (2015). JAWS: A JavaScript framework for adaptive CPU-GPU work sharing. In 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings (pp. 251-252). (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP; Vol. 2015-January). Association for Computing Machinery. https://doi.org/10.1145/2688500.2688525
Piao, Xianglan ; Kim, Channoh ; Oh, Younghwan ; Li, Huiying ; Kim, Jincheon ; Kim, Hanjun ; Lee, Jae W. / JAWS : A JavaScript framework for adaptive CPU-GPU work sharing. 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. Association for Computing Machinery, 2015. pp. 251-252 (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP).
@inproceedings{b4140aa1126c4b3ca5b9990261c6ec40,
title = "JAWS: A JavaScript framework for adaptive CPU-GPU work sharing",
abstract = "This paper introduces JAWS, a JavaScript framework for adaptive work sharing between CPU and GPU for data-parallel workloads. Unlike conventional heterogeneous parallel programming environments for JavaScript, which use only one compute device when executing a single kernel, JAWS accelerates kernel execution by exploiting both devices to realize full performance potential of heterogeneous multicores. JAWS employs an efficient work partitioning algorithm that finds an optimal work distribution between the two devices without requiring offline profiling. The JAWS runtime provides shared arrays for multiple parallel contexts, hence eliminating extra copy overhead for input and output data. Our preliminary evaluation with both CPU-friendly and GPU-friendly benchmarks demonstrates that JAWS provides good load balancing and efficient data communication between parallel contexts, to significantly outperform best single-device execution.",
author = "Xianglan Piao and Channoh Kim and Younghwan Oh and Huiying Li and Jincheon Kim and Hanjun Kim and Lee, {Jae W.}",
year = "2015",
month = "1",
day = "24",
doi = "10.1145/2688500.2688525",
language = "English",
series = "Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP",
publisher = "Association for Computing Machinery",
pages = "251--252",
booktitle = "20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings",

}

Piao, X, Kim, C, Oh, Y, Li, H, Kim, J, Kim, H & Lee, JW 2015, JAWS: A JavaScript framework for adaptive CPU-GPU work sharing. in 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, vol. 2015-January, Association for Computing Machinery, pp. 251-252, 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015, San Francisco, United States, 15/2/7. https://doi.org/10.1145/2688500.2688525

JAWS : A JavaScript framework for adaptive CPU-GPU work sharing. / Piao, Xianglan; Kim, Channoh; Oh, Younghwan; Li, Huiying; Kim, Jincheon; Kim, Hanjun; Lee, Jae W.

20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. Association for Computing Machinery, 2015. p. 251-252 (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP; Vol. 2015-January).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - JAWS

T2 - A JavaScript framework for adaptive CPU-GPU work sharing

AU - Piao, Xianglan

AU - Kim, Channoh

AU - Oh, Younghwan

AU - Li, Huiying

AU - Kim, Jincheon

AU - Kim, Hanjun

AU - Lee, Jae W.

PY - 2015/1/24

Y1 - 2015/1/24

N2 - This paper introduces JAWS, a JavaScript framework for adaptive work sharing between CPU and GPU for data-parallel workloads. Unlike conventional heterogeneous parallel programming environments for JavaScript, which use only one compute device when executing a single kernel, JAWS accelerates kernel execution by exploiting both devices to realize full performance potential of heterogeneous multicores. JAWS employs an efficient work partitioning algorithm that finds an optimal work distribution between the two devices without requiring offline profiling. The JAWS runtime provides shared arrays for multiple parallel contexts, hence eliminating extra copy overhead for input and output data. Our preliminary evaluation with both CPU-friendly and GPU-friendly benchmarks demonstrates that JAWS provides good load balancing and efficient data communication between parallel contexts, to significantly outperform best single-device execution.

AB - This paper introduces JAWS, a JavaScript framework for adaptive work sharing between CPU and GPU for data-parallel workloads. Unlike conventional heterogeneous parallel programming environments for JavaScript, which use only one compute device when executing a single kernel, JAWS accelerates kernel execution by exploiting both devices to realize full performance potential of heterogeneous multicores. JAWS employs an efficient work partitioning algorithm that finds an optimal work distribution between the two devices without requiring offline profiling. The JAWS runtime provides shared arrays for multiple parallel contexts, hence eliminating extra copy overhead for input and output data. Our preliminary evaluation with both CPU-friendly and GPU-friendly benchmarks demonstrates that JAWS provides good load balancing and efficient data communication between parallel contexts, to significantly outperform best single-device execution.

UR - http://www.scopus.com/inward/record.url?scp=84939156090&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84939156090&partnerID=8YFLogxK

U2 - 10.1145/2688500.2688525

DO - 10.1145/2688500.2688525

M3 - Conference contribution

AN - SCOPUS:84939156090

T3 - Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

SP - 251

EP - 252

BT - 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings

PB - Association for Computing Machinery

ER -

Piao X, Kim C, Oh Y, Li H, Kim J, Kim H et al. JAWS: A JavaScript framework for adaptive CPU-GPU work sharing. In 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. Association for Computing Machinery. 2015. p. 251-252. (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP). https://doi.org/10.1145/2688500.2688525