advanced features in score p and scalasca
play

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


  1. Advanced ¡features ¡in ¡Score-­‑P ¡ and ¡Scalasca ¡ David ¡Böhme, ¡LLNL ¡ Petascale ¡Tools ¡Workshop ¡2014 ¡

  2. Outline ¡ • Score-­‑P ¡and ¡Scalasca ¡overview ¡ • Feature ¡highlights ¡ – Scalable ¡Ime-­‑series ¡profiles ¡ – CriIcal-­‑path ¡analysis ¡ – Delay ¡analysis ¡

  3. Score-­‑P ¡ FZ ¡Jülich ¡ GRS ¡Aachen ¡ RWTH ¡Aachen ¡ Joint ¡performance ¡measurement ¡runIme ¡infrastructure ¡for ¡Periscope, ¡ Scalasca, ¡TAU, ¡and ¡VAMPIR ¡ TU ¡Dresden ¡ TU ¡Munich ¡ U ¡of ¡Oregon ¡

  4. Score-­‑P ¡tool ¡suite ¡architecture Vampir ¡ Scalasca ¡ TAU ¡ Periscope ¡ • VisualizaIon ¡of ¡event ¡ • Profile ¡exploraIon ¡ • Performance ¡data ¡ • RunIme ¡idenIficaIon ¡ traces ¡ • AutomaIc ¡event-­‑trace ¡ mining ¡ of ¡performance ¡ analysis ¡ properIes ¡ Event ¡traces ¡(OTF2) ¡ Call-­‑path ¡profiles ¡(CUBE4) ¡ Online ¡ interface ¡ Score-­‑P ¡measurement ¡infrastructure ¡ Hardware ¡counters ¡(PAPI) ¡ MPI ¡ POMP2 ¡ CUDA ¡ Compiler ¡ TAU ¡ User ¡ ApplicaIon ¡(MPI, ¡OpenMP, ¡CUDA) ¡ PMPI ¡ OPARI2 ¡ CUDA ¡ Compiler ¡ PDT ¡ User ¡ InstrumentaIon ¡wrapper ¡

  5. Scalasca ¡analysis ¡workflow ¡ Optimized measurement configuration Summary ¡ Measurement manipulaIon ¡ report ¡ Report ¡ ¡ library HWC ¡ Local ¡event ¡ Parallel ¡trace ¡ Instr. Analysis ¡ traces ¡ analysis ¡ target report ¡ application Score-­‑P ¡ Scalasca trace analysis Instrumented ¡ Where ¡in ¡the ¡ Which ¡ executable ¡ Which ¡problem? ¡ program? ¡ process? ¡ Instrumenter ¡ compiler ¡/ ¡ linker ¡ Source ¡ modules ¡

  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 ¡ Complete ¡distribuIon ¡of ¡ minimum ¡of ¡point-­‑to-­‑point ¡ point-­‑to-­‑point ¡ communicaIon ¡Ime ¡ communicaIon ¡Ime ¡ Time-­‑dependent ¡performance ¡in ¡129.tera_b ¡(3D ¡Eulerian ¡hydrodynamics) ¡

  7. Time-­‑series ¡profiling ¡in ¡Score-­‑P ¡ • Mark ¡start ¡and ¡end ¡of ¡main ¡loop ¡ • Record ¡separate ¡profile ¡for ¡each ¡iteraIon ¡ #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; } MPI ¡point-­‑to-­‑point ¡communicaIon ¡Ime ¡

  8. Examples ¡from ¡the ¡SPEC ¡MPI ¡2007 ¡ benchmark ¡suite ¡ 121.pop2 ¡ 126.lammps ¡ 128.GAPgeofem ¡ 129.tera_b ¡ 143.dleslie ¡ 147.l2wrf2 ¡ MPI ¡point-­‑to-­‑point ¡communicaIon ¡Ime ¡

  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 ¡

  10. Incremental ¡on-­‑line ¡compression ¡ MPI ¡point-­‑to-­‑point ¡Ime ¡in ¡107.leslie3d ¡ • 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) ¡ •

  11. Barplot ¡and ¡Heatmap ¡display ¡in ¡ ¡ Profile ¡Browser ¡ INDEED ¡Ime-­‑series ¡profile ¡/ ¡8 ¡Threads ¡on ¡Juropa ¡

  12. CriIcal-­‑path ¡analysis ¡in ¡Scalasca ¡ • Use ¡automaIc ¡trace ¡analysis ¡to ¡extract ¡the ¡criIcal ¡path ¡ • Performance ¡indicators ¡highlight ¡parallel ¡boilenecks ¡ processes 1 A B C 2 A B C 3 A B C time CriIcal ¡path ¡in ¡a ¡parallel ¡program ¡(shown ¡in ¡red) ¡

  13. IdenIfying ¡dynamic ¡load ¡imbalance ¡ Sync processes 1 A B A B allocation time 2 A B Summary ¡profile ¡ 3 A B A Imbalance time B Timeline ¡ wall-clock time CriIcal-­‑path ¡profile ¡ • CriIcal-­‑path ¡profile ¡shows ¡wall-­‑clock ¡Ime ¡ consumpIon ¡ • CriIcal ¡imbalance ¡indicator ¡finds ¡inefficient ¡parallelism ¡ – Imbalance ¡= ¡T criIcal ¡-­‑ ¡T average ¡

  14. Example: ¡PEPC ¡ 30 Analysis ¡of ¡plasma-­‑physics ¡code ¡ • Average Maximum PEPC ¡using ¡512 ¡processes ¡on ¡Blue ¡ Critical-path time 25 Critical-path imbalance Gene/P ¡ Profile ¡metrics ¡underesImate ¡ • 20 Wall-clock time performance ¡impact ¡of ¡ tree_walk ¡kernel ¡due ¡to ¡dynamic ¡ 15 load ¡imbalance ¡ 10 5 0 tree_walk sum_force Application kernel

  15. CriIcal ¡path ¡in ¡Cube ¡display ¡ Non-­‑parallel ¡ parts ¡of ¡ OpenMP ¡code ¡ INDEED ¡criIcal-­‑path ¡analysis ¡/ ¡8 ¡OpenMP ¡Threads ¡on ¡Juropa ¡

  16. Delay ¡analysis ¡finds ¡root ¡causes ¡of ¡ ¡ wait ¡states ¡ • IdenIfies ¡delays ¡that ¡ processes R 1 S 2 1 Work cause ¡wait ¡states ¡ ¡ Delay R 2 2 S 1 Work • Assigns ¡costs ¡that ¡ Late-sender wait state time represent ¡total ¡amount ¡ Delay ¡on ¡process ¡1 ¡causes ¡wait ¡state ¡ of ¡waiIng ¡Ime ¡caused ¡ processes 1 • Incorporates ¡long-­‑ Delay 2 distance ¡propagaIon ¡ Propagation 3 effects ¡ Propagation 4 time Delay ¡costs ¡account ¡for ¡propagaIon ¡effects ¡

  17. Example: ¡CESM ¡sea ¡ice ¡model ¡ DistribuIon ¡of ¡computaIon ¡Ime ¡ DistribuIon ¡of ¡late-­‑sender ¡waiIng ¡Ime ¡ DistribuIon ¡of ¡delay ¡costs ¡ DistribuIon ¡of ¡propagaIng ¡wait ¡Ime ¡

  18. Trace ¡analysis ¡extension: ¡ ¡ backward ¡replay ¡ • Use ¡mulIple ¡replay ¡passes ¡ • Backward ¡replay ¡lets ¡data ¡travel ¡from ¡ effect ¡to ¡source ¡ ENTER SEND EXIT trace rank i backward replay trace rank j ENTER RECV EXIT

  19. Scalability ¡ 1000 Wall time (s) 100 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) 10 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 Processes Scalability ¡of ¡delay ¡and ¡criIcal-­‑path ¡analysis ¡for ¡the ¡Sweep3D ¡benchmark ¡ ¡ on ¡Blue ¡Gene/P ¡

  20. Outlook ¡ • Score-­‑P ¡ – Support ¡for ¡more ¡programming ¡models ¡ – Sampling ¡ – Power ¡measurement ¡ – Scalable ¡profile ¡format ¡ • Scalasca2 ¡ – Task ¡and ¡lock-­‑contenIon ¡analysis ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend