Skip to main content

A Generalized Framework for Automatic Scripting Language Parallelization

Author(s): Oh, Taewook; Beard, Stephen R; Johnson, Nick P; Popovych, Sergiy; August, David I

Download
To refer to this page use: http://arks.princeton.edu/ark:/88435/pr16817
Full metadata record
DC FieldValueLanguage
dc.contributor.authorOh, Taewook-
dc.contributor.authorBeard, Stephen R-
dc.contributor.authorJohnson, Nick P-
dc.contributor.authorPopovych, Sergiy-
dc.contributor.authorAugust, David I-
dc.date.accessioned2021-10-08T19:45:18Z-
dc.date.available2021-10-08T19:45:18Z-
dc.date.issued2017en_US
dc.identifier.citationOh, Taewook, Stephen R. Beard, Nick P. Johnson, Sergiy Popovych, and David I. August. "A generalized framework for automatic scripting language parallelization." In 26th International Conference on Parallel Architectures and Compilation Techniques (PACT) (2017), pp. 356-369. doi:10.1109/PACT.2017.28en_US
dc.identifier.urihttps://liberty.cs.princeton.edu/Publications/pact17_pep.pdf-
dc.identifier.urihttp://arks.princeton.edu/ark:/88435/pr16817-
dc.description.abstractComputational scientists are typically not expert programmers, and thus work in easy to use dynamic languages. However, they have very high performance requirements, due to their large datasets and experimental setups. Thus, the performance required for computational science must be extracted from dynamic languages in a manner that is transparent to the programmer. Current approaches to optimize and parallelize dynamic languages, such as just-in-time compilation and highly optimized interpreters, require a huge amount of implementation effort and are typically only effective for a single language. However, scientists in different fields use different languages, depending upon their needs.This paper presents techniques to enable automatic extraction of parallelism within scripts that are universally applicable across multiple different dynamic scripting languages. The key insight is that combining a script with its interpreter, through program specialization techniques, will embed any parallelism within the script into the combined program that can then be extracted via automatic parallelization techniques. Additionally, this paper presents several enhancements to existing speculative automatic parallelization techniques to handle the dependence patterns created by the specialization process. A prototype of the proposed technique, called Partial Evaluation with Parallelization (PEP), is evaluated against two open-source script interpreters with 6 input linear algebra kernel scripts each. The resulting geomean speedup of 5.10× on a 24-core machine shows the potential of the generalized approach in automatic extraction of parallelism in dynamic scripting languages.en_US
dc.format.extent356 - 369en_US
dc.language.isoen_USen_US
dc.relation.ispartof26th International Conference on Parallel Architectures and Compilation Techniques (PACT)en_US
dc.rightsAuthor's manuscripten_US
dc.titleA Generalized Framework for Automatic Scripting Language Parallelizationen_US
dc.typeConference Articleen_US
dc.identifier.doi10.1109/PACT.2017.28-
pu.type.symplectichttp://www.symplectic.co.uk/publications/atom-terms/1.0/conference-proceedingen_US

Files in This Item:
File Description SizeFormat 
FrameworkAutoScriptingLangParallelization.pdf501.16 kBAdobe PDFView/Download


Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.