Towards an Adaptive Skeleton Framework for Performance Portability

Maier, P., Morton, J. M. and Trinder, P. (2015) Towards an Adaptive Skeleton Framework for Performance Portability. Technical Report. School of Computing Science, University of Glasgow. (Unpublished)




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. Irregularly-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 irregularly parallel programs. The approach combines declarative parallelism with JIT technology, dynamic scheduling, and dynamic transformation. We present the design of an adaptive skeleton library, with a task graph implementation, JIT trace costing, and adaptive transformations. We outline the architecture of the protoype adaptive skeleton execution framework in Pycket, describing tasks, serialisation, and the current scheduler.We report a preliminary evaluation of the prototype framework using 4 micro-benchmarks and a small case study on two NUMA servers (24 and 96 cores) and a small cluster (17 hosts, 272 cores). Key results include Pycket delivering good sequential performance e.g. almost as fast as C for some benchmarks; good absolute speedups on all architectures (up to 120 on 128 cores for sumEuler); and that the adaptive transformations do improve performance.

Item Type:Research Reports or Papers (Technical Report)
Additional Information:Technical Report number TR-2016-001
Glasgow Author(s) Enlighten ID:Maier, Dr Patrick and Morton, Mr John and Trinder, Professor Phil
Authors: Maier, P., Morton, J. M., and Trinder, P.
College/School:College of Science and Engineering > School of Computing Science
Publisher:School of Computing Science, University of Glasgow
Copyright Holders:Copyright © 2015 The Authors
Publisher Policy:Reproduced with the permission of the authors

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