Passer à la navigation principale Passer à la recherche Passer au contenu principal

CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis

  • Hünkar Can Tunç
  • , Ameya Prashant Deshmukh
  • , Berk Çirisci
  • , Constantin Enea
  • , Andreas Pavlogiannis
  • Aarhus University
  • Indian Institute of Technology Bombay
  • Amazon Web Services
  • Université de Paris France

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

Résumé

Dynamic analyses are a standard approach to analyzing and testing concurrent programs. Such techniques observe program traces σ and analyze them to infer the presence or absence of bugs. At its core, each analysis maintains a partial order P that represents order dependencies between the events of σ . Naturally, the scalability of the analysis largely depends on maintaining P efficiently. The standard data structure for this task has thus far been Vector Clocks. These, however, are slow for analyses that follow a non-streaming style, costing O(n) time for inserting (and propagating) each new ordering in P, where n is the size of σ, while they cannot handle the deletion of existing orderings. In this paper we develop Collective Sparse Segment Trees (CSSTs), a simple but elegant data structure for maintaining a partial order P. CSSTs thrive when the width k of P is much smaller than the size n of its domain, allowing inserting, deleting, and querying for orderings in P to run in O(log n) time. For a concurrent trace, k normally equals the number of its threads, and is orders of magnitude smaller than its size n, making CSSTs fitting for this setting. Our experiments confirm that CSSTs are the best data structure currently to handle a range of dynamic analyses from existing literature.

langue originaleAnglais
titreFall Cycle
EditeurAssociation for Computing Machinery
Pages223-238
Nombre de pages16
ISBN (Electronique)9798400703867
Les DOIs
étatPublié - 27 avr. 2024
Modification externeOui
Evénement29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2024 - San Diego, États-Unis
Durée: 27 avr. 20241 mai 2024

Série de publications

NomInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
Volume3

Une conférence

Une conférence29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2024
Pays/TerritoireÉtats-Unis
La villeSan Diego
période27/04/241/05/24

Empreinte digitale

Examiner les sujets de recherche de « CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation