Skip to main content

Distributed Computing on Distributed Memory

  • Conference paper
  • First Online:
System Analysis and Modeling. Languages, Methods, and Tools for Systems Engineering (SAM 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11150))

Included in the following conference series:

Abstract

Distributed computation is formalized in several description languages for computation, as e.g. Unified Modeling Language (UML), Specification and Description Language (SDL), and Concurrent Abstract State Machines (CASM). All these languages focus on the distribution of computation, which is somewhat the same as concurrent computation. In addition, there is also the aspect of distribution of state, which is often neglected. Distribution of state is most commonly represented by communication between active agents. This paper argues that it is desirable to abstract from the communication and to consider abstract distributed state. This includes semantic handling of conflict resolution, e.g. in connection with data replication. The need for abstract distribution of state is discussed and a novel semantics for concurrency based on an abstract distributed state is presented. This semantics uses runs over so-called multistates, and hides the internal communication for replica handling. This way, distributed computation is described over an abstract memory model.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    As communicating ASMs [4] show, it is also possible to implement local state on top of global state.

  2. 2.

    In reality, a global clock means perfect clock synchronization, which is impossible.

  3. 3.

    The non-shared locations are not relevant here.

References

  1. Apache Software Foundation: Apache Cassandra 2.0—Documentation. http://cassandra.apache.org/ (2016)

  2. Best, E.: Semantics of Sequential and Parallel Programs. Prentice Hall, Upper Saddle River (1996)

    MATH  Google Scholar 

  3. Börger, E., Schewe, K.D.: Concurrent abstract state machines. Acta Inf. 53(5), 469–492 (2016)

    Article  MathSciNet  Google Scholar 

  4. Börger, E., Schewe, K.D.: Communication in abstract state machines. J. Univ. Comp. Sci. 23(2), 129–145 (2017)

    MathSciNet  Google Scholar 

  5. Börger, E., Stärk, R.F.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer (2003)

    Google Scholar 

  6. Ferrarotti, F., Schewe, K.D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing—simplified parallel ASM thesis. Theor. Comp. Sci. 649, 25–53 (2016)

    Article  MathSciNet  Google Scholar 

  7. Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002). https://doi.org/10.1145/564585.564601

    Article  Google Scholar 

  8. Gosling, J., Joy, B., Steele, G.L., Bracha, G., Buckley, A.: The Java Language Specification, Java SE 8 Edition. Addison-Wesley Professional, 1st edn. (2014)

    Google Scholar 

  9. Gurevich, Y.: Evolving algebras 1993: lipari guide. In: Börger, E. (ed.) Specification and Validation Methods. Oxford University Press (1995)

    Google Scholar 

  10. Gurevich, Y.: Sequential abstract-state machines capture sequential algorithms. ACM Trans. Comp. Logic 1(1), 77–111 (2000)

    Article  MathSciNet  Google Scholar 

  11. Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978). https://doi.org/10.1145/359576.359585

    Article  MATH  Google Scholar 

  12. ITU: Z.100 series, specification and description language SDL. Technical Report, International Telecommunication Union (2011)

    Google Scholar 

  13. Lamport, L., Lynch, N.: Distributed computing: models and methods. In: Handbook of Theoretical Computer Science, pp. 1157–1199. Elsevier (1990)

    Google Scholar 

  14. Manson, J., Pugh, W., Adve, S.V.: The java memory model. SIGPLAN Not. 40(1), 378–391 (2005). https://doi.org/10.1145/1047659.1040336

    Article  MATH  Google Scholar 

  15. Milner, R.: A Calculus of Communicating Systems. Springer, New York (1982)

    MATH  Google Scholar 

  16. Mironov, A.M.: Theory of processes CoRR abs/1009.2259 (2010)

    Google Scholar 

  17. Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system. http://bitcoin.org/bitcoin.pdf

  18. Narayanan, A., Bonneau, J., Felten, E., Miller, A., Goldfeder, S.: Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction. Princeton University Press, Princeton (2016)

    MATH  Google Scholar 

  19. Object Management Group (OMG): Action Language for Foundational UML (Alf), Version 1.1. OMG Document Number formal, 04 July 2017 (2017). http://www.omg.org/spec/ALF/1.1/

  20. Object Management Group (OMG): OMG® Unified Modeling Language® (OMG UML®), Version 2.5.1. OMG Document Number formal, 05 December 2017. http://www.omg.org/spec/UML/2.5.1

  21. Object Management Group (OMG): Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.3. OMG Document Number formal, 02 July 2017. http://www.omg.org/spec/FUML/1.3

  22. Prinz, A., Sherratt, E.: Distributed ASM - pitfalls and solutions. In: Aït-Ameur, Y., Schewe, K.D. (eds.) Abstract State Machines, Alloy, B, TLA, VDM and Z - Proceedings of the 4th International Conference (ABZ 2014). Lecture Notes in Computer Science, vol. 8477, pp. 210–215. Springer, Heidelberg (2014)

    Google Scholar 

  23. Rabl, T., Sadoghi, M., Jacobsen, H.A., Gómez-Villamor, S., Muntés-Mulero, V., Mankowskii, S.: Solving big data challenges for enterprise application performance management. PVLDB 5(12), 1724–1735 (2012)

    Google Scholar 

  24. Tanenbaum, A.S., Van Steen, M.: Distributed Systems. Prentice-Hall (2007)

    Google Scholar 

  25. Winskel, G., Nielsen, M.: Models for concurrency. In: Abramsky, S., Gabbay, D., Maibaum, T.S.E. (eds.) Handbook of Logic and the Foundations of Computer Science: Semantic Modelling, vol. 4, pp. 1–148. Oxford University Press (1995)

    Google Scholar 

Download references

Acknowledgements

This work benefited from many discussions with Egon Börger and Klaus-Dieter Schewe. In particular, the modelling of Cassandra in CASM is joint work with them. I am grateful for the helpful comments of the anonymous reviewers.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andreas Prinz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Prinz, A. (2018). Distributed Computing on Distributed Memory. In: Khendek, F., Gotzhein, R. (eds) System Analysis and Modeling. Languages, Methods, and Tools for Systems Engineering. SAM 2018. Lecture Notes in Computer Science(), vol 11150. Springer, Cham. https://doi.org/10.1007/978-3-030-01042-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-01042-3_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-01041-6

  • Online ISBN: 978-3-030-01042-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics