performance evaluation of throughput constrained dataflow
play

Performance Evaluation of Throughput Constrained Dataflow Programs - PowerPoint PPT Presentation

Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Performance Evaluation of Throughput Constrained Dataflow Programs Executed On Shared-Memory Multi-Core Architectures Manuel SELVA


  1. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Performance Evaluation of Throughput Constrained Dataflow Programs Executed On Shared-Memory Multi-Core Architectures Manuel SELVA Supervised by: Lionel MOREL, CITI Kevin MARQUET, CITI Stéphane FRÉNOT, CITI Frédéric SOINNE, Bull Stéphane ZENG, Bull July 2, 2015 1 / 42

  2. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Moore’s Law 2 / 42

  3. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives What To Do With Transistors? Transistors Frequency Power Instruction Level Parallelism 3 / 42

  4. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives What To Do With Transistors? Transistors Multi-core Frequency Power Instruction Level Parallelism 3 / 42

  5. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Multi-core Architectures Intel Nehalem - 4 cores - 2009 Samsung Exynos - 2 x 4 cores - 2012 Kalray MPPA - 256 cores - 2013 4 / 42

  6. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Multi-core Architectures Intel Nehalem - 4 cores - 2009 Samsung Exynos - 2 x 4 cores - 2012 One taxonomy • Computing homogeneity • Memory organization Kalray MPPA - 256 cores - 2013 4 / 42

  7. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Centralized Shared Memory Core 1 Core 2 Core 3 Core 4 Mem Bandwidth bottleneck 5 / 42

  8. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Centralized Shared Memory Core 1 Core 2 Core 3 Core 4 Memory Wall Mem Mem Mem Bandwidth bottleneck Bandwidth bottleneck 5 / 42

  9. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Distributed Shared Memory - Aka NUMA Core 1 Core 2 Core 3 Core 4 Core 5 Core 6 Core 7 Core 8 Interconnect Mem Mem 6 / 42

  10. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Distributed Private Memory Core 1 Core 2 Core 3 Core 4 Core 17 Core 18 Core 19 Core 20 Core 5 Core 6 Core 7 Core 8 Core 21 Core 22 Core 23 Core 24 Mem Mem Core 9 Core 10 Core 11 Core 12 Core 25 Core 26 Core 27 Core 28 Core 13 Core 14 Core 15 Core 16 Core 29 Core 30 Core 31 Core 32 Network 7 / 42

  11. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Software Challenge: Several Applications Application 1 Application 1 Application 2 Application 2 Application 3 Application 3 Application 4 Application 4 8 / 42

  12. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Software Challenge: Several Applications Application 1 Application 1 Application 2 Application 2 Application 3 Application 3 Application 4 Application 4 Core 1 Core 2 Core 3 Core 4 8 / 42

  13. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Software Challenge: Single Application Application Core 2 Core 1 Core 3 Problem • Identify several activities • Handle communication and synchronization 9 / 42

  14. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Software Challenge: Single Application Application Core 2 Core 1 Core 3 Problem • Identify several activities • Handle communication and synchronization Solutions • (Semi) Automatically split existing apps • (Re) Write apps using concurrent programming models • Threads, Data parallelism, Dataflow 9 / 42

  15. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Applications Examples Medical image processing [Albers2012] Software Defined Radio [Dardaillon2014] Video Decoding [Lucarz09] 10 / 42

  16. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Outline Dataflow Programming & Problematic Detection of SDF Bottleneck Actors Profiling of Dataflow Programs Conclusion & Perspectives 11 / 42

  17. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Programming Model: Syntax B A D C Dataflow Application Graph • Actors with sequential atomic function • Communication over FIFO channels only 12 / 42

  18. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Programming Model: Semantic B A D C Actors activation driven by tokens availability 13 / 42

  19. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Programming Model: Semantic B A D C Actors activation driven by tokens availability 13 / 42

  20. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Programming Model: Semantic B A D C Actors activation driven by tokens availability 13 / 42

  21. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Programming Model: Semantic B A D C Actors activation driven by tokens availability 13 / 42

  22. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Programming Model: Semantic B A D C Actors activation driven by tokens availability 13 / 42

  23. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Programming Model: Semantic B A D C Actors activation driven by tokens availability Why is dataflow interesting? • Actors can be executed in parallel • Communication abstraction 13 / 42

  24. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Execution Model: 4 Cores B A D C 14 / 42

  25. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Execution Model: 4 Cores B A D C Compiler A; B; C; D; 14 / 42

  26. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Execution Model: 4 Cores B A D C Compiler A; B; C; D; Mapper Core 1 Core 1 Core 2 Core 2 Core 3 Core 3 Core 4 Core 4 A; B; D; C; RAM 14 / 42

  27. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Execution Model: 2 Cores B A D C Compiler A; B; C; D; Mapper Core 1 Core 1 Core 2 Core 2 A; D; B; C; RAM 15 / 42

  28. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Dataflow Execution Model: Single Core B A D C Compiler A; B; C; D; Mapper Core 1 Core 1 A; B; D; C; RAM 16 / 42

  29. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Motivation 3 Speedup vs single-core 2 . 5 HEVC decoding Different inputs 2 200 frames 33 Actors 1 . 5 1 1 2 3 4 5 6 7 8 9 10 11 12 Number of cores 17 / 42

  30. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Problem Statement How to understand and identify performance bottlenecks in dataflow programs? • Contribution 1 : Automatic instrumentation to detect bottleneck actors in SDF graphs • Contribution 2 : CPU/memory profiling to analyse (and fix) bottlenecks on dataflow programs 18 / 42

  31. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Outline Dataflow Programming & Problematic Detection of SDF Bottleneck Actors Profiling of Dataflow Programs Conclusion & Perspectives 19 / 42

  32. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Synchronous Dataflow [Lee87] - SDF 1 3 B 2 3 2 A D 1 3 C 1 6 Tokens consumption/production rates static • Memory boundedness • Static scheduling of actors 20 / 42

  33. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Applications Have Throughput Requirements X Images/s X Images/s X Frames/s 21 / 42

  34. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Activation Frequency Analysis 1 3 B 3 2 2 1000 tokens A D s 1 3 C 1 6 Use throughput constraint and static rates 22 / 42

  35. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Activation Frequency Analysis 1 3 B 3 2 2 1000 tokens A D s 1 3 500Hz C 1 6 Use throughput constraint and static rates • Required Activation Frequency (RAF) 22 / 42

  36. Context DF & Problematic Detection of SDF Bottleneck Actors Profiling of DF Programs Perspectives Activation Frequency Analysis 500Hz 1 3 B 3 2 2 1000 tokens A D s 1 3 500Hz C 1 6 250Hz Use throughput constraint and static rates • Required Activation Frequency (RAF) 22 / 42

Recommend


More recommend