Deterministic Synchronization of Multi-Threaded Programs with Operational Transformation

被引:1
作者
Boelmann, Christopher [1 ]
Schwittmann, Lorenz [1 ]
Weis, Torben [1 ]
机构
[1] Univ Duisburg Essen, Distributed Syst Grp, Duisburg, Germany
来源
PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW) | 2014年
关键词
Deterministic Synchronization; Parallel programming models; Spawn and Merge; Operational Transformation; SYSTEM;
D O I
10.1109/IPDPSW.2014.50
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:381 / 390
页数:10
相关论文
共 18 条
[1]  
AHUJA S, 1986, IEEE COMPUT, V19, P26
[2]  
[Anonymous], 1993, TECH REP
[3]  
BLUMOFE RD, 1995, SIGPLAN NOTICES, V30, P207
[4]  
Bocchino Jr R. L., 2009, P 1 USENIX C HOT TOP, P4
[5]  
Campbell R. H., 1974, Proceedings of an International Symposium om Operating Systems, P89, DOI 10.1007/BFb0029355
[6]  
Chengzheng Sun, 1998, ACM Transactions on Computer-Human Interaction, V5, P63, DOI 10.1145/274444.274447
[7]  
Coffman E. G., 1971, ACM COMPUT SURV, V3, P67, DOI DOI 10.1145/356586.356588
[8]  
Davis Aguido Horatio., 2002, Proceedings of the 2002 ACM Conference on Computer Supported Cooperative Work (CSCW) (New Orleans, LA, USA), P58
[9]  
Dijkstra E. W., 1965, TECH REP
[10]  
ELLIS CA, 1989, SIGMOD REC, V18, P399, DOI 10.1145/66926.66963