JIT Costing Adaptive Skeletons for Performance Portability

Maier, P., Morton, J. M., and Trinder, P. (2016) JIT Costing Adaptive Skeletons for Performance Portability. In: The 5th ACM SIGPLAN Workshop on Functional High-Performance Computing (FHPC'16), Nara, Japan, 22 Sept 2016, pp. 23-30. ISBN 9781450344333 (doi:10.1145/2975991.2975995)




The proliferation of widely available, but very different, parallel architectures makes the ability to deliver good parallel performance on a range of architectures, or performance portability, highly desirable. Irregular parallel problems, where the number and size of tasks is unpredictable, are particularly challenging and require dynamic coordination. The paper outlines a novel approach to delivering portable parallel performance for irregular parallel programs. The approach combines JIT compiler technology with dynamic scheduling and dynamic transformation of declarative parallelism. We specify families of algorithmic skeletons plus equations for rewriting skeleton expressions. We present the design of a framework that unfolds skeletons into task graphs, dynamically schedules tasks, and dynamically rewrites skeletons, guided by a lightweight JIT trace-based cost model, to adapt the number and granularity of tasks for the architecture. We outline the system architecture and prototype implementation in Racket/Pycket. As the current prototype does not yet automatically perform dynamic rewriting we present results based on manual offline rewriting, demonstrating that (i) the system scales to hundreds of cores given enough parallelism of suitable granularity, and (ii) the JIT trace cost model predicts granularity accurately enough to guide rewriting towards a good adaptive transformation.

Item Type:Conference Proceedings
Glasgow Author(s) Enlighten ID:Morton, Mr John and Maier, Dr Patrick and Trinder, Professor Phil
Authors: Maier, P., Morton, J. M., and Trinder, P.
College/School:College of Science and Engineering > School of Computing Science
Copyright Holders:Copyright © 2016 ACM
Publisher Policy:Reproduced in accordance with the copyright policy of the publisher
Data DOI:10.5525/gla.researchdata.340

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
644791Adaptive Just-In-Time Parallelisation (AJITPar)Phil TrinderEngineering & Physical Sciences Research Council (EPSRC)EP/L000687/1COM - COMPUTING SCIENCE