SlideServe
Menu
Préférences
© SlideServe · v2026

Parallelizing Data Race Detection

roseannad avatar
22 diapositives · 256 Views · Jan 06, 2020

Explore Benjamin Wester's innovative approach to parallel data race detection in software applications, optimizing efficiency, scalability, and performance through epoch parallel execution. Learn about the three-phase uniparallel architecture, Parallel FastTrack, and Parallel Eraser methodologies presented in the ASPLOS '13 research.

Parallelizing Data Race Detection - slide 1
01 / 22Parallelizing Data Race Detection
1 / 17

Télécharger la présentation

Parallelizing Data Race Detection
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Parallelizing Data Race Detection Benjamin Wester Facebook David Devecsery, Peter Chen, Jason Flinn, SatishNarayanasamy University of Michigan

  2. Data Races t1 t2 TIME lock(l) x = 1 unlock(l) x = 3 lock(l) x = 2 unlock(l) Benjamin Wester - ASPLOS '13

  3. Race Detection Instrumentation + Analysis Normal run time With race detector TIME • Detection is slow! • 8x–200x • Managed vs. binary • Granularity • Completeness • Debug info gathered • Matches app concurrency Benjamin Wester - ASPLOS '13

  4. Race Detection Normal run time Parallel race detector With race detector TIME • Detection is slow! • 8x–200x • Managed vs. binary • Granularity • Completeness • Debug info gathered • Matches app concurrency Benjamin Wester - ASPLOS '13

  5. How to use parallel hardware? • Scale program? • Performance tied to app • Parallel algorithm? • Lots of fine-grained dependencies • Uniparallelism • Converts execution into parallel pipeline • Works for instrumentation • [Wallace CGO’07, • Nightingale ASPLOS’08] Benjamin Wester - ASPLOS '13

  6. Uniparallelism TIME Benjamin Wester - ASPLOS '13

  7. Uniparallelism Epoch-parallel Execution Epoch-sequential Execution TIME Benjamin Wester - ASPLOS '13

  8. Uniparallelism • Scales well: Epochs are independent execution units • More efficient: Synchronization TIME Benjamin Wester - ASPLOS '13

  9. Add Detector… Here! • Scales well: Epochs are independent execution units • More efficient: Synchronization & Lock elision Race detection depends on state! TIME Benjamin Wester - ASPLOS '13

  10. Architecture Epoch-sequential Epoch-parallel Commit Benjamin Wester - ASPLOS '13

  11. Moving Work Identify meaningful fast subset of analysis state • Low frequency, lightweight, self-contained • Run in Epoch-Sequential phase • Predicted and usablein parallel phase Symbolicexecution • Replace missing state with symbols • Defer some computation to commit phase • Commit: replace symbols with concrete values Benjamin Wester - ASPLOS '13

  12. Architecture Epoch-sequential Epoch-parallel Commit Full instrumentation Symbolic execution Instrument and predict fast subset of analysis state Perform deferred work on concrete values Benjamin Wester - ASPLOS '13

  13. Parallel FastTrack State: Vector clocks – e.g. ⟨0, 1, 0⟩ – for each: • Thread • Lock • Variable x 2: last read(s), last write Example computation: Check(read_x ≤ thread_i );write_x = thread_i Transitive reduction Use knowledge of happens-before relationship Fast Slow Benjamin Wester - ASPLOS '13

  14. Parallel Eraser State: • Set of locks held by thread (lockset) • Lockset for each variable • Position in state machine for each variable Example computation: If state_x == SHARED then ls_x = ls_x ∩ {L, M} Lockset factorization Factor out common behavior Fast Slow Benjamin Wester - ASPLOS '13

  15. Parallel Performance Efficiency Scalability 2 worker threads as baseline 8-CPU Platform Benchmarks: • SPLASH-2 (water, lu, ocean, fft, radix) • Parallel app: pbzip2 Benjamin Wester - ASPLOS '13

  16. Efficiency Exactly 2 cores Benjamin Wester - ASPLOS '13

  17. Efficiency Exactly 2 cores Median 8% faster Median 13% faster Benjamin Wester - ASPLOS '13

  18. Scaling Parallel FastTrack 2 Worker Threads Benjamin Wester - ASPLOS '13

  19. Scaling Parallel FastTrack 2 Worker Threads Median 4.4x with 8 cores Benjamin Wester - ASPLOS '13

  20. Scaling Parallel Eraser 2 Worker Threads Median 3.3x with 8 cores Benjamin Wester - ASPLOS '13

  21. Conclusion • 3-Phase Uniparallel architecture • Parallel FastTrack • Parallel Eraser • Parallel algorithms: • Are more efficient • Scale better Benjamin Wester - ASPLOS '13

  22. Questions? Benjamin Wester - ASPLOS '13