h1

h2

h3

h4

h5
h6
% IMPORTANT: The following is UTF-8 encoded.  This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.

@MASTERSTHESIS{Klotz:959491,
      author       = {Klotz, Sven},
      othercontributors = {Müller, Matthias S. and Katoen, Joost-Pieter and
                          Schwitanski, Simon},
      title        = {{O}n-the-fly data race detection for {O}pen{SHMEM}
                      programs},
      school       = {RWTH Aachen University},
      type         = {Bachelorarbeit},
      address      = {Aachen},
      publisher    = {RWTH Aachen University},
      reportid     = {RWTH-2023-05644},
      pages        = {1 Online-Ressource : Diagramme},
      year         = {2023},
      note         = {Veröffentlicht auf dem Publikationsserver der RWTH Aachen
                      University; Bachelorarbeit, RWTH Aachen University, 2023},
      abstract     = {OpenSHMEM is a distributed-memory programming model part of
                      the Partitioned Global Address Space family of programming
                      models. It provides vendors with a standard Application
                      Programming Interface to implement SHMEM libraries and
                      facilitates the portability and predictability of OpenSHMEM
                      applications. The OpenSHMEM effort aims to imitate the
                      success of the widely used Message Passing Interfacing
                      programming model while focusing exclusively on one-sided
                      communication. One-sided communication or Remote Memory
                      Access enables a process to directly access and modify
                      memory regions of a remote process without actively
                      involving the remote process. Although OpenSHMEM’s
                      one-sided communication has many significant desirable
                      properties, it also has drawbacks. Specifically, the
                      one-sidednature of this communication results in
                      applications being prone to contain data races as the remote
                      process is unaware of the remote memory accesses. To prevent
                      this, a developer must ensure proper synchronization between
                      all types of memory accesses, remote or local. This thesis
                      discusses the semantics of OpenSHMEM communication and
                      synchronization and classifies what constitutes a data race
                      within an OpenSHMEM program. Based on this definition, a
                      semantics-driven search for data races in this thesis
                      results in 35 data race test cases that are classified and
                      labeled as many share common properties. Additionally, this
                      thesis uses the insights gained from semantics-driven search
                      to formalize the notion of data races by adapting an
                      existing semi-formal model of the MPI RMA semantics to
                      OpenSHMEM. Based on this model, this thesis presents the
                      concepts required for on-the-fly data race detection in
                      OpenSHMEM programs and a prototype data race detection tool
                      for OpenSHMEM based on this on-the-fly method. The approach
                      performs happens-before analysis using vector clocks and
                      uses memory consistency rules to determine the earliest and
                      latest points in logical time when a memory access could
                      occur. The prototype annotates these memory accesses in a
                      shared-memory race detector that performs the actual race
                      detection. A separate race detection covers only special
                      cases. Lastly, this thesis evaluates the prototype using the
                      data race test cases developed for this thesis. The results
                      of this evaluation are promising for our prototype as it
                      achieved an accuracy of 0.86. This shows that the on-the-fly
                      data race detection approach works in practice for
                      OpenSHMEM.},
      cin          = {123010 / 120000},
      ddc          = {004},
      cid          = {$I:(DE-82)123010_20140620$ / $I:(DE-82)120000_20140620$},
      typ          = {PUB:(DE-HGF)2},
      doi          = {10.18154/RWTH-2023-05644},
      url          = {https://publications.rwth-aachen.de/record/959491},
}