Advanced features in Score-P and Scalasca David Bhme, - - PowerPoint PPT Presentation

advanced features in score p and scalasca
SMART_READER_LITE
LIVE PREVIEW

Advanced features in Score-P and Scalasca David Bhme, - - PowerPoint PPT Presentation

Advanced features in Score-P and Scalasca David Bhme, LLNL Petascale Tools Workshop 2014 Outline Score-P and Scalasca overview Feature


slide-1
SLIDE 1

Advanced ¡features ¡in ¡Score-­‑P ¡ and ¡Scalasca ¡

David ¡Böhme, ¡LLNL ¡ Petascale ¡Tools ¡Workshop ¡2014 ¡

slide-2
SLIDE 2

Outline ¡

  • Score-­‑P ¡and ¡Scalasca ¡overview ¡
  • Feature ¡highlights ¡

– Scalable ¡Ime-­‑series ¡profiles ¡ – CriIcal-­‑path ¡analysis ¡ – Delay ¡analysis ¡

slide-3
SLIDE 3

Score-­‑P ¡

Joint ¡performance ¡measurement ¡runIme ¡infrastructure ¡for ¡Periscope, ¡ Scalasca, ¡TAU, ¡and ¡VAMPIR ¡ FZ ¡Jülich ¡ GRS ¡Aachen ¡ RWTH ¡Aachen ¡ TU ¡Dresden ¡ TU ¡Munich ¡ U ¡of ¡Oregon ¡

slide-4
SLIDE 4

Score-­‑P ¡tool ¡suite ¡architecture

Event ¡traces ¡(OTF2) ¡ Call-­‑path ¡profiles ¡(CUBE4) ¡ Vampir ¡

  • VisualizaIon ¡of ¡event ¡

traces ¡

Periscope ¡

  • RunIme ¡idenIficaIon ¡
  • f ¡performance ¡

properIes ¡

Scalasca ¡

  • Profile ¡exploraIon ¡
  • AutomaIc ¡event-­‑trace ¡

analysis ¡

TAU ¡

  • Performance ¡data ¡

mining ¡

ApplicaIon ¡(MPI, ¡OpenMP, ¡CUDA) ¡ Score-­‑P ¡measurement ¡infrastructure ¡ MPI ¡ POMP2 ¡ CUDA ¡ Compiler ¡ TAU ¡ User ¡

Online ¡ interface ¡

InstrumentaIon ¡wrapper ¡ PMPI ¡ OPARI2 ¡ CUDA ¡ Compiler ¡ PDT ¡ User ¡

Hardware ¡counters ¡(PAPI) ¡

slide-5
SLIDE 5

Score-­‑P ¡

Scalasca ¡analysis ¡workflow ¡

Scalasca trace analysis

Instr. target application Measurement library HWC ¡ Parallel ¡trace ¡ analysis ¡ Analysis ¡ report ¡ Local ¡event ¡ traces ¡ Summary ¡ report ¡ Optimized measurement configuration Instrumenter ¡ compiler ¡/ ¡ linker ¡ Instrumented ¡ executable ¡ Source ¡ modules ¡ Report ¡ ¡ manipulaIon ¡

Which ¡problem? ¡ Where ¡in ¡the ¡ program? ¡ Which ¡ process? ¡

slide-6
SLIDE 6

New features capture performance dynamics

  • Efficient time-series profiles in Score-P
  • Critical-path and root-cause analysis in Scalasca

ExecuIon ¡Ime ¡ Maximum, ¡median, ¡and ¡ minimum ¡of ¡point-­‑to-­‑point ¡ communicaIon ¡Ime ¡ Complete ¡distribuIon ¡of ¡ point-­‑to-­‑point ¡ communicaIon ¡Ime ¡

Time-­‑dependent ¡performance ¡in ¡129.tera_b ¡(3D ¡Eulerian ¡hydrodynamics) ¡

slide-7
SLIDE 7

Time-­‑series ¡profiling ¡in ¡Score-­‑P ¡

  • Mark ¡start ¡and ¡end ¡of ¡main ¡loop ¡
  • Record ¡separate ¡profile ¡for ¡each ¡iteraIon ¡

MPI ¡point-­‑to-­‑point ¡communicaIon ¡Ime ¡

#include “scorep/SCOREP_User.h” int main() { SCOREP_USER_REGION_DEFINE ( iter ); initialize(); read_input(); for (int t = 0; t < 5; ++t) { SCOREP_USER_REGION_BEGIN( iter, “iter”, SCOREP_USER_REGION_TYPE_DYNAMIC ); do_work(); do_additional_work(); finish_iteration(); SCOREP_USER_REGION_END( iter ); } write_output(); return 0; }

slide-8
SLIDE 8

121.pop2 ¡ 126.lammps ¡ 128.GAPgeofem ¡ 129.tera_b ¡ 143.dleslie ¡ 147.l2wrf2 ¡

Examples ¡from ¡the ¡SPEC ¡MPI ¡2007 ¡ benchmark ¡suite ¡

MPI ¡point-­‑to-­‑point ¡communicaIon ¡Ime ¡

slide-9
SLIDE 9

A ¡separate ¡call-­‑tree ¡is ¡created ¡for ¡ every ¡iteraIon ¡

Call ¡tree ¡ Process ¡topology ¡

Storage ¡challenge: ¡amount ¡of ¡data ¡proporIonal ¡to ¡the ¡number ¡of ¡iteraIons ¡

slide-10
SLIDE 10

Incremental ¡on-­‑line ¡compression ¡

  • Exploits ¡that ¡many ¡iteraIons ¡are ¡very ¡

similar ¡

– Summarizes ¡similar ¡iteraIons ¡in ¡a ¡single ¡ data ¡element ¡via ¡clustering ¡

  • On-­‑line ¡to ¡save ¡memory ¡at ¡run-­‑Ime ¡
  • Process-­‑local ¡to ¡

– Avoid ¡communicaIon ¡ – Adjust ¡to ¡local ¡temporal ¡paierns ¡

  • The ¡number ¡of ¡clusters ¡can ¡never ¡exceed ¡a ¡

predefined ¡maximum ¡

– Merging ¡of ¡the ¡two ¡closest ¡ones ¡

  • Available ¡since ¡Score-­‑P ¡1.1 ¡(10/2012) ¡

MPI ¡point-­‑to-­‑point ¡Ime ¡in ¡107.leslie3d ¡ ¡

slide-11
SLIDE 11

Barplot ¡and ¡Heatmap ¡display ¡in ¡ ¡ Profile ¡Browser ¡

INDEED ¡Ime-­‑series ¡profile ¡/ ¡8 ¡Threads ¡on ¡Juropa ¡

slide-12
SLIDE 12

CriIcal-­‑path ¡analysis ¡in ¡Scalasca ¡

  • Use ¡automaIc ¡trace ¡analysis ¡to ¡extract ¡the ¡criIcal ¡path ¡
  • Performance ¡indicators ¡highlight ¡parallel ¡boilenecks ¡

time processes 1 2 3 A B C A B C A B C

CriIcal ¡path ¡in ¡a ¡parallel ¡program ¡(shown ¡in ¡red) ¡

slide-13
SLIDE 13

IdenIfying ¡dynamic ¡load ¡imbalance ¡

  • CriIcal-­‑path ¡profile ¡shows ¡wall-­‑clock ¡Ime ¡

consumpIon ¡

  • CriIcal ¡imbalance ¡indicator ¡finds ¡inefficient ¡parallelism ¡

– Imbalance ¡= ¡TcriIcal ¡-­‑ ¡Taverage ¡

wall-clock time A B Imbalance allocation time Sync A B

Summary ¡profile ¡ CriIcal-­‑path ¡profile ¡

time processes 1 2 3 A B A B A B

Timeline ¡

slide-14
SLIDE 14

Example: ¡PEPC ¡

  • Analysis ¡of ¡plasma-­‑physics ¡code ¡

PEPC ¡using ¡512 ¡processes ¡on ¡Blue ¡ Gene/P ¡

  • Profile ¡metrics ¡underesImate ¡

performance ¡impact ¡of ¡ tree_walk ¡kernel ¡due ¡to ¡dynamic ¡ load ¡imbalance ¡

5 10 15 20 25 30 tree_walk sum_force Wall-clock time Application kernel Average Maximum Critical-path time Critical-path imbalance

slide-15
SLIDE 15

CriIcal ¡path ¡in ¡Cube ¡display ¡

INDEED ¡criIcal-­‑path ¡analysis ¡/ ¡8 ¡OpenMP ¡Threads ¡on ¡Juropa ¡

Non-­‑parallel ¡ parts ¡of ¡ OpenMP ¡code ¡

slide-16
SLIDE 16

Delay ¡analysis ¡finds ¡root ¡causes ¡of ¡ ¡ wait ¡states ¡

  • IdenIfies ¡delays ¡that ¡

cause ¡wait ¡states ¡ ¡

  • Assigns ¡costs ¡that ¡

represent ¡total ¡amount ¡

  • f ¡waiIng ¡Ime ¡caused ¡
  • Incorporates ¡long-­‑

distance ¡propagaIon ¡ effects ¡

time processes 1 2 R1 R2 S2 S1 Work Work

Delay Late-sender wait state

time processes 1 2 3 4 Delay Propagation Propagation

Delay ¡on ¡process ¡1 ¡causes ¡wait ¡state ¡ Delay ¡costs ¡account ¡for ¡propagaIon ¡effects ¡

slide-17
SLIDE 17

Example: ¡CESM ¡sea ¡ice ¡model ¡

DistribuIon ¡of ¡computaIon ¡Ime ¡ DistribuIon ¡of ¡delay ¡costs ¡ DistribuIon ¡of ¡late-­‑sender ¡waiIng ¡Ime ¡ DistribuIon ¡of ¡propagaIng ¡wait ¡Ime ¡

slide-18
SLIDE 18

Trace ¡analysis ¡extension: ¡ ¡ backward ¡replay ¡

  • Use ¡mulIple ¡replay ¡passes ¡
  • Backward ¡replay ¡lets ¡data ¡travel ¡from ¡

effect ¡to ¡source ¡

trace rank i

SEND ENTER EXIT

trace rank j

RECV ENTER EXIT backward replay

slide-19
SLIDE 19

Scalability ¡

10 100 1000 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 Wall time (s) Processes Combined wait-state, delay, and critical-path analysis (trace replay) Wait-state and critical-path analysis (trace replay) Uninstrumented program execution Wait-state analysis only (trace replay)

Scalability ¡of ¡delay ¡and ¡criIcal-­‑path ¡analysis ¡for ¡the ¡Sweep3D ¡benchmark ¡ ¡

  • n ¡Blue ¡Gene/P ¡
slide-20
SLIDE 20

Outlook ¡

  • Score-­‑P ¡

– Support ¡for ¡more ¡programming ¡models ¡ – Sampling ¡ – Power ¡measurement ¡ – Scalable ¡profile ¡format ¡

  • Scalasca2 ¡

– Task ¡and ¡lock-­‑contenIon ¡analysis ¡