1 / 27

Characterizing Multi-threaded Applications based on Shared-Resource Contention

Characterizing Multi-threaded Applications based on Shared-Resource Contention. Tanima Dey Wei Wang, Jack W. Davidson, Mary L. Soffa Department of Computer Science University of Virginia. Motivation. The number of cores doubles every 18 months Expected: Performance number of cores

werner
Télécharger la présentation

Characterizing Multi-threaded Applications based on Shared-Resource Contention

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ISPASS 2011 Characterizing Multi-threaded Applications based onShared-Resource Contention Tanima Dey Wei Wang, Jack W. Davidson, Mary L. Soffa Department of Computer Science University of Virginia

  2. Motivation • The number of cores doubles every 18 months • Expected: Performance number of cores • One of the bottlenecks is shared resource contention • For multi-threaded workloads, contention is unavoidable • To reduce contention, it is necessary to understand where and how the contention is created

  3. Shared Resource Contention in Chip-Multiprocessors Intel Quad Core Q9550 C0 C1 C2 C3 Application 1 Thread L1 L1 L1 L1 Application 2 Thread L2 L2 Front -Side Bus Memory

  4. Scenario 1 Multi-threaded applications Application 1 Thread Application 2 Thread C0 C1 C2 C3 L1 L1 L1 L1 L2 L2 Memory 4 With co-runner

  5. Scenario 2Multi-threaded applications Application Thread C0 C1 C2 C3 L1 L1 L1 L1 L2 L2 Memory • Without co-runner 5

  6. Shared-Resource Contention • Intra-application contention • Contention among threads from the same application (No co-runners) • Inter-application contention • Contention among threads from the co-running application

  7. Contributions • A general methodology to evaluate a multi-threaded application’s performance • Intra-application contention • Inter-application contention • Contention in the memory-hierarchy shared resources • Characterizing applications facilitates better understanding of the application’s resource sensitivity • Thorough performance analyses and characterization of multi-threaded PARSEC benchmarks

  8. Outline • Motivation • Contributions • Methodology • Measuring intra-application contention • Measuring inter-application contention • Related Work • Summary

  9. Methodology • Designed to measure both intra- and inter-application contention for a targeted shared resource • L1-cache, L2-cache • Front Side Bus (FSB) • Each application is run in two configurations • Baseline: threads do not share the targeted resource • Contention: threads share the targeted resource • Multiple number of targeted resource • Determine contention by comparing performance (gathering hardware performance counters’ values)

  10. Outline • Motivation • Contributions • Methodology • Measuring intra-application contention (See paper) • Measuring inter-application contention • Related Work • Summary

  11. Measuring inter-application contention • L1-cache Application 1 Thread Application 2 Thread C0 C1 C2 C3 C0 C1 C2 C3 L1 L1 L1 L1 L1 L1 L1 L1 L2 L2 L2 L2 Memory Memory Baseline Configuration Contention Configuration

  12. Measuring inter-application contention L2-cache Application 1 Thread Application 2 Thread C0 C1 C2 C3 C0 C1 C2 C3 L1 L1 L1 L1 L1 L1 L1 L1 L2 L2 L2 L2 Memory Memory Baseline Configuration Contention Configuration

  13. Measuring inter-application contention FSB Application 1 Thread Application 2 Thread C0 C2 C4 C6 C1 C3 C5 C7 L1 L1 L1 L1 L1 L1 L1 L1 L2 L2 L2 L2 Memory Baseline Configuration

  14. Measuring intra-application contention FSB Application 1 Thread Application 2 Thread C0 C2 C4 C6 C1 C3 C5 C7 L1 L1 L1 L1 L1 L1 L1 L1 L2 L2 L2 L2 Memory Contention Configuration

  15. PARSEC Benchmarks

  16. Experimental platform Platform 1: Yorkfield Intel Quad core Q9550 32 KB L1-D and L1-I cache 6MB L2-cache 2GB Memory Common FSB C0 C1 C2 C3 L1 cache L1 cache L1 cache L1 cache L1 HW-PF L1 HW-PF L1 HW-PF L1 HW-PF L2 cache L2 cache L2 HW-PF L2 HW-PF FSB interface FSB interface FSB Memory Controller Hub (Northbridge) MB Memory 16

  17. Experimental platform Platform 2: Harpertown C0 C2 C4 C6 C1 C3 C5 C7 L1 cache L1 cache L1 cache L1 cache L1 cache L1 cache L1 cache L1 cache L1 HW-PF L1 HW-PF L1 HW-PF L1 HW-PF L1 HW-PF L1 HW-PF L1 HW-PF L1 HW-PF L2 cache L2 cache L2 cache L2 cache L2 HW-PF L2 HW-PF L2 HW-PF L2 HW-PF FSB interface FSB interface FSB interface FSB interface FSB FSB Memory Controller Hub (Northbridge) MB Memory Tanima Dey 17

  18. Performance Analysis • Inter-application contention • For i-th co-runner PercentPerformanceDifferencei = ( PerformanceBasei – PerformanceContendi ) * 100 PerformanceBasei • Absolute performance difference sum APDS = Σ abs ( PercentPerformanceDifferencei )

  19. Inter-application contention • L1-cache – for Streamcluster

  20. Inter-application L1-cache contention Streamcluster

  21. Inter-application contention • L1-cache 21

  22. Inter-application contention • L2-cache

  23. Inter-application contention • FSB

  24. Characterization

  25. Summary • The methodology generalizes contention analysis of multi-threaded applications • New approach to characterize applications • Useful for performance analysis of existing and future architecture or benchmarks • Helpful for creating new workloads of diverse properties • Provides insights for designing improved contention-aware scheduling methods

  26. Related Work • Cache contention • Knauerhase et al. IEEE Micro 2008 • Zhuravleve et al. ASPLOS 2010 • Xie et al. CMP-MSI 2008 • Mars et al. HiPEAC 2011 • Characterizing parallel workload • Jin et al., NASA Technical Report 2009 • PARSEC benchmark suite • Bienia et al. PACT 2008 • Bhadauria et al. IISWC 2009

  27. Thank you!

More Related