×

Designing a software transactional memory for peer-to-peer systems. (English) Zbl 1328.68033

Summary: Transactional memory is a rather novel approach to concurrency control in parallel computing, that has just recently found its way into distributed systems research. However, the research concentrates mainly on single processor solutions or cluster environment. In this paper we argue, that peer-to-peer systems would require a different design of transactional memory because of the increased failure-rate of nodes, slower network and possibility of network splits. We also present a few of our design ideas, namely increased performance and fault tolerance through the use of higher-level conflict detection and resolution via abstract data types and eventually consistency, that as we think could be important to a successful implementation of a scalable and resilient transactional memory.

MSC:

68M14 Distributed systems
68M15 Reliability, testing and fault tolerance of networks and computer systems

Software:

DiSTM

References:

[1] Aguilera, M. K.; Merchant, A.; Shah, M.; et al.: Sinfonia: a new paradigm for building scalable distributed systems. In Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, SOSP ’07, New York, NY, USA: ACM, 2007, pp. 159-174.;
[2] Bocchino, R. L.; Adve, V. S.; Chamberlain, B. L.: Software transactionalmemory for large scale clusters. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, PPoPP ’08, New York, NY, USA: ACM, 2008, pp. 247-258.;
[3] Burckhardt, S.; Baldassin, A.; Leijen, D.: Concurrent programming with revisions and isolation types. In Proceedings of the ACM international conference on Object oriented programming systems languages and applications, OOPSLA ’10, New York, NY, USA: ACM, 2010, pp. 691-707.;
[4] Burckhardt, S.; Fahndrich, M.; Leijen, D.; et al.: Eventually Consistent Transactions. In Proceedings of the 22n European Symposium on Programming (ESOP), Springer, March 2012.; · Zbl 1352.68050
[5] Couceiro, M.; Romano, P.; Carvalho, N.; et al.: D2STM: Dependable Distributed Software Transactional Memory. In Proceedings of the 2009 15th IEEE pacific Rim International Symposium on Dependable Computing, PRDC ’09, Washington, DC, USA: IEEE Computer Society, 2009, pp. 307-313.;
[6] Gilbert, S.; Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News, volume 33, num. 2, June 2002: pp. 51-59.;
[7] Herlihy, M.; Moss, J. E. B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News, volume 21, num. 2, May 1993: pp. 289-300.;
[8] Herlihy, M.; Koskinen, E.: Transactional boosting: a methodology for highlyconcurrent transactional objects. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, PPoPP ’08, New York, NY, USA: ACM, 2008, pp. 207-216.;
[9] Koskinen, E.; Parkinson, M.; Herlihy, M.: Coarse-grained transactions. In Pro- ceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL ’10, New York, NY, USA: ACM, 2010, pp. 19-30.; · Zbl 1312.68143
[10] Kotselidis, C.; Ansari, M.; Jarvis, K.; et al.: DiSTM: A Software Transactional Memory Framework for Clusters. In Proceedings of the 2008 37th International Conference on Parallel Processing, ICPP ’08,Washington, DC, USA: IEEE Computer Society, 2008, pp. 51-58.;
[11] Kulkarni, M.; Pingali, K.; Walter, B.; et al.: Optimistic parallelism requires abstractions. In Proceedings of the 2007 ACM SIGPLAN conference on Pro- gramming language design and implementation, PLDI ’07, New York, NY, USA: ACM, 2007, pp. 211-222.;
[12] Lee, J.; Dash, A.; Tucker, S.; et al.: Fault-Tolerant Distributed Transactional Memory. Under review for Transactions on Programming Languages and Systems.;
[13] Manassiev, K.; Mihailescu, M.; Amza, C.: Exploiting distributed version concurrency in a transactionalmemory cluster. In Proceedings of the eleventh ACM SIG- PLAN symposium on Principles and practice of parallel programming, PPoPP ’06, New York, NY, USA: ACM, 2006, pp. 198-208.;
[14] Mesaros, V.; Collet, R.; Glynn, K.; et al.: A Transactional System for Structured Overlay Networks. March 2005.;
[15] M¨uller, M.-F.; M¨oller, K.-T.; Sch¨ottner, M.: Commit Protocols for a Distributed Transactional Memory. In Proc. of the 2010 International Conference on Par- allel and Distributed Computing, Applications and Technologies, PDCAT ’10, Washington, DC, USA: IEEE Computer Society, 2010, pp. 1-10.;
[16] Ni, Y.; Menon, V. S.; Adl-Tabatabai, A.-R.; et al.: Open nesting in software transactional memory. In Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 07, New York, NY, USA: ACM, 2007, pp. 68-78.;
[17] Pauloviˇc, A; N´avrat, P.: Designing a Software TransactionalMemory for Peer-to- Peer Systems. In New Trends in Databases and Information Systems, Advances in Intelligent Systems and Computing, volume 185, Springer, 2013, pp.395-401.;
[18] Pratt-Szeliga, P.; Fawcet, J.: p2pstm: A Peer-to-Peer Software Transactional Memory. Technical report, Syracuse University, Syracuse, NY, 2010.;
[19] Shavit, N.; Touitou, D.: Software transactional memory. In Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing, PODC ’95, New York, NY, USA: ACM, 1995, pp. 204-213.; · Zbl 1373.68178
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.