Title: Workpackage 2 Proposal for an Extension of ASL
1Workpackage 2Proposal for an Extension of ASL
- T. Fahringer, M. Gerndt, J. Nabrzyskin, B.
Parady, O. Plata, D. Tessera - Based on work done at WP2 Poznan meeting in
April.
2Outline
- Extension of ASL
- Property Templates
- Meta-properties
- Future Work
3Apart Specification Language (ASL)
- ASL supports description of
- performance related data
- performance properties.
- Several drawbacks of ASL
- Many properties are similar, yet must be
specified separately. ? introduce property
templates - New properties cannot easily be described by
existing ones. ? introduce meta-properties
4Property Templates
- Many performance properties differ only in
accessed performance data. - E.g. communication, I/O, and synchronization
costs.
Property communication_costs (MPIRegion r,
Experiment e, Region rank_basis) LET float
cost summary(r,e).sums.comm_time IN CONDITION
cost gt 0 CONFIDENCE 1 SEVERITY
cost/duration(rank_basis,e)
Property io_costs (MPIRegion r, Experiment e,
Region rank_basis) LET float cost
summary(r,e).sums.io_time IN CONDITION cost gt
0 CONFIDENCE 1 SEVERITY cost/duration(rank_b
asis,e)
Property templates could be used for a generic
description of similar performance properties
5Property Templates (cont.)
PROPERTY TEMPLATE cost ltfloat cost_func(RegionSumm
ary)gt (Region r,
Experiment e, Region RankBasis)
LET costcost_func(summary(r,e)) IN CONDITION
cost gt 0 CONFIDENCE 1 SEVERITY
cost/duration(RankBasis,e)
float io_cost_func(RegionSummary
rs)rs.sums.io_time float sync_cost_func(RegionSu
mmary rs)rs.sums.sync_time float
comm_cost_func(RegionSummary rs)rs.sums.comm_time
Define new properties based on template by using
a defined function as template parameter.
PROPERTY costltio_cost_funcgt io_cost PROPERTY
costltsync_cost_funcgt sync_cost PROPERTY
costltcomm_cost_funcgt comm_cost
6Meta-properties (1)
- Meta-properties can be used to define new
performance properties based on existing ones. - Meta-properties are again defined as property
templates. - Meta-property parameters can be
- functions with defined signature
- performance properties with defined context
signature
PROPERTY TEMPLATE property_on_all_processes
ltPROPERTY x(Region,Experiment,Process,Region)gt
(Region r, Experiment e, Region RankBasis)
CONDITION Forall p IN e.processors SUCH THAT
condition(x(r,e,p,RankBasis)) AND
confidence(x(r,e,p,RankBasis))1 CONFIDENCE
1 SEVERITY max(severity(x(r,e,p,RankBasis))
WHERE p in e.processes)
7Meta-properties (2)
PROPERTY TEMPLATE cost_per_process
ltFLOAT cost_func(RegionSummary)gt (Region r,
Experiment e, Process p, Region RankBasis)
LET cost cost_func(summary(r,e,p)) IN CONDIT
ION cost gt 0 CONFIDENCE 1 SEVERITY
cost/duration(RankBasis,e)
Float io_cost_func(RegionSummary
rs)rs.sums.io_time Float sync_cost_func(RegionSu
mmary rs)rs.sums.sync_time Float
comm_cost_func(RegionSummary rs)rs.sums.comm_time
PROPERTY cost_per_processltio_cost_funcgt
io_cost_per_process PROPERTY cost_per_processltsyn
c_cost_funcgt sync_cost_per_process PROPERTY
cost_per_processltcomm_cost_funcgt
comm_cost_per_process
8Meta-properties (3)
- PROPERTY TEMPLATE property_on_all_processes
- ltPROPERTY x(Region,Experiment,Process,Region)gt
- (Region r, Experiment e, Region RankBasis)
- CONDITION Forall p IN e.processors SUCH THAT
- condition(x(r,e,p,RankBasis)) AND
confidence(x(r,e,p,RankBasis))1 - CONFIDENCE 1
- SEVERITY max(severity(x(r,e,p,RankBasis)) WHERE
p in e.processes) -
PROPERTY property_on_all_processes
ltio_cost_per_processgt io_cost PROPERTY
property_on_all_processes ltsync_cost_per_processgt
sync_cost PROPERTY property_on_all_processes
ltcomm_cost_per_processgt comm_cost
9Future Work
- Extend ASL Syntax for meta-properties and
templates - Case-studies of ASL for
- a few machines (e.g. Cray T3E)
- Case studies for OpenMP
- Formalize search for bottlenecks based on ASL.
10CASE-Studies
- WP2
- Specify properties for Cray T3E
- Specification of search process for properties
- WP3
- Experiment planing
- Effect of multiple sources of performance data.
- Set of test kernels/applications