• DocumentCode
    167304
  • Title

    Deterministic Synchronization of Multi-threaded Programs with Operational Transformation

  • Author

    Boelmann, Christopher ; Schwittmann, Lorenz ; Weis, Torben

  • Author_Institution
    Distrib. Syst. Group, Univ. of Duisburg-Essen, Duisburg, Germany
  • fYear
    2014
  • fDate
    19-23 May 2014
  • Firstpage
    381
  • Lastpage
    390
  • Abstract
    Today´s mainstream programming language concepts originate from a time when processes were executed in a single thread and the outcome of computation was deterministic. To deal with multi-threaded execution synchronization mechanisms have to be used to restrict parallel execution to a point where the program produces correct results for all possible interleaving executions. This is constantly leading to deadlocks and race conditions, i.e. undesired non-deterministic behavior. In this paper, we propose a new set of synchronization primitives, Spawn and Merge, that yield deterministic program execution for multi-threaded programs. This means that there are no race conditions when using this synchronization technique and deadlocks can be avoided right away. Concurrent access to data structures is resolved using operational transformation. Using two example scenarios we show how these synchronization primitives can be used and that they are equivalent to semaphores. Furthermore, we evaluate our framework by implementing a network simulator. We show that despite a constant overhead, the performance is comparable to using standard synchronization primitives while yielding deterministic results.
  • Keywords
    high level languages; multi-threading; operating systems (computers); synchronisation; Spawn and Merge; deadlocks; deterministic synchronization; mainstream programming language; multithreaded programs; operational transformation; parallel execution; race conditions; Data structures; Indexes; Instruction sets; Merging; Programming; Synchronization; Deterministic Synchronization; Operational Transformation; Parallel programming models; Spawn and Merge;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel & Distributed Processing Symposium Workshops (IPDPSW), 2014 IEEE International
  • Conference_Location
    Phoenix, AZ
  • Print_ISBN
    978-1-4799-4117-9
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2014.50
  • Filename
    6969413