towards a bi-directional feature modelling schema for hpc

17
T.J Brown, I. Spence, P. Kilpatrick, C. Gillan, N. S. Scott School of Electronics, Electrical Engineering and Computer Science, Queen’s University of Belfast

Upload: mona-deleon

Post on 02-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

T.J Brown, I. Spence, P. Kilpatrick, C. Gillan, N. S. Scott School of Electronics, Electrical Engineering and Computer Science, Queen’s University of Belfast. Towards a Bi-directional Feature Modelling Schema for HPC. Software Product Line Engineering. High Performance Computing. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Towards a Bi-directional Feature Modelling Schema for HPC

T.J Brown, I. Spence, P. Kilpatrick, C. Gillan, N. S. Scott

School of Electronics, Electrical Engineering and Computer Science,

Queen’s University of Belfast

Page 2: Towards a Bi-directional Feature Modelling Schema for HPC

Software Product LineEngineering

High Performance Computing

Feature Modelling:An Informal

RequirementsModelling Notation

Feature ModellingFor HPC

Page 3: Towards a Bi-directional Feature Modelling Schema for HPC

Short Term aim

Provide a graphical means of documenting the feature structure of HPC algorithms and their possible mapping to multiple (possibly heterogeneous) computing platforms

Longer Term aim

Extend the notation to allow automated performance comparisons between alternative mappings to the same platform, or between mappings to alternative platforms

Page 4: Towards a Bi-directional Feature Modelling Schema for HPC

Feature Modelling: Basic concepts

Originated in early 90’s as an informal modelling notation for families of related software systems (Product Lines)

Designed to allow capture of commonality and variability within the family of systems

Features can be :- Mandatory (required in all family members) Optional (supported in some, but not all members) Alternative (one of several alternatives supported) OR (one or more alternatives supported)

Page 5: Towards a Bi-directional Feature Modelling Schema for HPC

Feature Modelling: Basic Concepts

Features can be subject to Constraints Mutual exclusion - inclusion of feature A excludes feature B and vice versa Feature Dependency

- inclusion of feature A requires inclusion of feature B as well

Feature model forms a top-down hierarchy Use to model any family of products e.g. cars

Page 6: Towards a Bi-directional Feature Modelling Schema for HPC
Page 7: Towards a Bi-directional Feature Modelling Schema for HPC
Page 8: Towards a Bi-directional Feature Modelling Schema for HPC

Feature Modelling: Developments

Many refinements / developments proposed Our Modelling schema is motivated by the needs of embedded system families and has:

Bi-directional modelling - a conventional top-down tree displays software features

- a bottom-up tree has hardware /OS related features Relationships between features in the two trees features can have properties (or attributes) features can have attached behaviour

- modelled using UCM (Use Case Maps) a feature (and its sub-tree) can be replicated

Page 9: Towards a Bi-directional Feature Modelling Schema for HPC

Capturing Behaviour with Use Case Maps An abstract notation for expressing behaviour Inspired by the needs of telecoms software Now a ITU-T Standard Behaviour represented by a causal path from a single starting point to one or more end points

- Path can have: loops, forks and joins, synchronisation points read/write operations, responsibility points etc.

- Other element types pools – abstract representation of a data store stubs – ‘holes’ in a path into which another path can plug

Page 10: Towards a Bi-directional Feature Modelling Schema for HPC
Page 11: Towards a Bi-directional Feature Modelling Schema for HPC

Using feature modelling in HPC

multi-core (many-core) chips accelerators (FPGAs) GPUs - heterogeneous/reconfigurable platforms Use FM as a modelling/analysis tool to:

capture the feature structure of HPC algorithms explore how an HPC code might be implemented on multiple platforms

Inverted tree models the computing platform Use Top-Down tree to model algorithm features Capture mapping of algorithm features to Processing Elements

Page 12: Towards a Bi-directional Feature Modelling Schema for HPC
Page 13: Towards a Bi-directional Feature Modelling Schema for HPC
Page 14: Towards a Bi-directional Feature Modelling Schema for HPC

Performance Comparison/Estimation

Current notation provides some support use properties to define platform characteristics

number of PEs on GPU absolute performance of PE (FLOPS)

Replicated feature sub-trees expose possible SIMD parallelism AND fork within a feature’s UCM path exposes possible MIMD parallelism

Page 15: Towards a Bi-directional Feature Modelling Schema for HPC

What do we need ?

short term: fully populate features with behavioural detail annotate UCM paths with basic performance information - expected iterations of a loop - expected branching pattern at a fork - Floating point operations at a responsibility point - access time for read/write

Page 16: Towards a Bi-directional Feature Modelling Schema for HPC

What do we need ?

longer term fuller description of Processors

- cache organisation, times for local/main memory access etc specification of processor groups

- e.g. pipelines specification of alternative mappings of algorithm features with associated conditions

- important in context of dynamic load balancing handling of time and temporal ordering

- only partially managed at present handling of memory

Page 17: Towards a Bi-directional Feature Modelling Schema for HPC

The end !