Skip to main content

Programmiermodelle für verteilten Speicher

  • Chapter
  • First Online:
Masterkurs Parallele und Verteilte Systeme

Zusammenfassung

Bei den Modellen für verteilten Speicher unterscheiden wir wieder, wie bei den Modellen für gemeinsamen Speicher, in

  • nebenläufige und

  • kooperative Modelle.

Die kooperativen Modelle untergliedern sich in

  • nachrichten-basierte Modelle, wobei ein Prozess einem anderen Prozess eine Nachricht zusenden (send) kann, die dieser dann empfängt (receive). Der Aufruf eines Dienstes wird dabei in eine Nachricht verpackt.

  • Entfernte Aufrufe, wobei der Dienst direkt aufgerufen wird. Der Dienst kann sein

    • eine Prozedur,

    • eine Methode eines Objektes,

    • eine durch sein Interface spezifizierte Methode und damit eine Methode einer Komponenten oder

    • ein Dienst (Service).

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 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.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

Literatur

  1. Abts D.: Masterkurs Client Server Programmierung mit Java. 2. erweiterte und aktualisierte Auflage. Vieweg Verlag 2007.

    Google Scholar 

  2. Agha Gul, A.: Actors: A Model of Concurrent Computation in Distributed Systems. Technical Report 844, Massachusetts Institute of Technology, Artificial Intelligence Laboratory, 1985

    Google Scholar 

  3. Akka Project. http://www.akka.io/, 2011.

  4. Akka Downloads. http://www.akka.io/downloads/, 2011.

  5. Apache.org: About Apache XML-RPC. http://ws.apache.org/xmlrpc/, 2007.

    Google Scholar 

  6. Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf 2007.

    Google Scholar 

  7. Armstrong J.: Erlang. Communications of the ACM, Vol. 53, No. 9, 09/2010.

    Google Scholar 

  8. Armstrong J., Virding R., Wickström C., Williams M.: Concurrent Programmming in ERLANG, Second Edition. Prentice Hall, PTR, 1996. Herunterladbar unter http://www.erlang.org/download/erlang_book_part1.pdf

    Google Scholar 

  9. Baruch R., Thinking in Erlang; A Guide to Functional Programming in Erlang for the Procedural Developer. http://www.maht0x0r.net/library/computing/erlang.pdf, 2007.

    Google Scholar 

  10. Baugh J.P.: Go Programming. John P. Baugh, 2010.

    Google Scholar 

  11. Braun O.: Scala, Objektfunktionale Programmierung. Carl Hanser Verlag München, 2011

    Google Scholar 

  12. Bengel G.: Grundkurs Verteilte Systeme, Grundlagen und Praxis des Client-Server und Distributed Computing. 4. Auflage. Springer Vieweg 2014.

    Google Scholar 

  13. Backus J.: Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. Communications of the ACM Vol. 21, No. 8 Aug. 1978.

    Google Scholar 

  14. Bauke H., Mertens S.: Cluster Computing, Praktische Einführung in das Hochleistungsrechnen auf Linux-Clustern. Springer Verlag 2006.

    Google Scholar 

  15. Bonner P.: Network Programming with Windows Sockets. Prentice-Hall Inc. 1996.

    Google Scholar 

  16. Bachschat M., Rücker B.: Enterprise JavaBeans 3.0. Grundlagen – Konzepte – Praxis. 2. Auflage. Elsevier GmbH München 2007.

    Google Scholar 

  17. Object Management Group: CORBA Component Model, V 4.0. http://www.omg.org/technology/documents/formal/components.htm, 2007.

    Google Scholar 

  18. Carpenter B., Getov V., Judd G., Skjellum T., Fox G.: MPJ: MPI-like Message Passing for Java. Concurrency: Practice and Experience, Volume 12, Number 11, Sept. 2000.

    Google Scholar 

  19. Cesarini F., Thompson S.: Erlang Programming, O’Reilly Media Inc., 2009.

    Google Scholar 

  20. Essser F.: Scala für Umsteiger. Oldenburg Wissenschaftsverlag GmbH. 2011.

    Google Scholar 

  21. Eddon G., Eddon H.: Inside COM+. COM+ Architektur und Programmierung. Microsoft Press 2000.

    Google Scholar 

  22. Eddon G., Eddon H.: Inside Distributed COM. Microsoft Press 1998.

    Google Scholar 

  23. Erlang Reference Manual, User’Guide Version 5.8.4. http://www.erlang.org/doc/reference_manual. 2011.

    Google Scholar 

  24. Erlang/OTP R14B03. http://www.erlang.org, 2011.

  25. Getting Started with Erlang Version 5.4. http://www.erlang.org/download/getting_started-5.4.pdf. 2011.

  26. Farmer J. : Networking Programming in Erlang. http://20bits.com/articles/network-programming-in-erlang/ 2011.

    Google Scholar 

  27. Feike R., Blass S.: Programmierung in Google GO, Addison Wesley Verlag 2011.

    Google Scholar 

  28. Fiedler T., Knabe C.: Entwicklung von Web-Applikationen mit Lift und Scala. Einführung anhand einer durchgehenden Beispielapplikation. http://public.beuth-hochschule.de/~scalal/liftBuch-screeen.pdf

  29. Görzig S.: CPPvm – C++ and PVM. Lectures Notes in Computer Science. Vol. 2131/2001. Springer Verlag 2001.

    Google Scholar 

  30. Ghosh D.: DSLs in Action. Manning Publications Co., 2011.

    Google Scholar 

  31. Geist A., Beguelin A., Dongarra J. et al.: PVM: Parallel Virtual Machine. A Users’ Guide and Tutorial for Networked Parallel Computing. The MIT Press 1994. Auch verfügbar in Postscript- und HTML-Form unter http://www.netlib.org/pvm3/book/pvm-book.html

    Google Scholar 

  32. Gropp W, Huss-Lederman S., Lumsdaien A., et al.: MPI – The Complete Reference: Volume 2, The MPI-2 Extensions. The MIT Press, Cambridge, MA 2000.

    Google Scholar 

  33. Gropp W., Lusk E., S., Skjellum A.: MPI – Eine Einführung. Portable parallele Programmierung mit dem Message-Passing Interface. Oldenburg Verlag München Wien, 2007. Deutsche Übersetzung von [GLS 99].

    Google Scholar 

  34. Gropp W., Lusk E., S., Skjellum A.: Using MPI: Portable Parallel Programming with the Message Passing Interface, 2nd edition. The MIT Press Cambridge, MA 1999.

    Google Scholar 

  35. Gropp W., Lusk Thakur R.: Using MPI-2: Advanced Features of the Message-Passing Interface. The MIT Press Cambridge, MA 1999.

    Google Scholar 

  36. Go Authors: Effective Go, http://golang.org/doc/effective_go.html, 2011.

    Google Scholar 

  37. Gropp W., Otto S., Huss-Lederman S., Lumsdaien A., et al.: MPI – The Complete Reference. (2-Volume Set). The MIT Press, Cambridge, MA 1998.

    Google Scholar 

  38. Go Authors: Go Language Patterns, Semaphores, http://sites.google.com/site/gopatterns/-concurrency/semaphores, 2011.

    Google Scholar 

  39. Go Authors: The Go Programming Language Specification, Version of March 3 2012, http://golang/ref/spec, 2011.

    Google Scholar 

  40. Go Authors: Directory src/pkg, http://golang.org/pkg/2011.

  41. The Go Programming Language Specification: http://golang.org/ref/spec.

  42. Eine Anleitung zum Programmieren in GO, http://bitloeffel.de/DOC-/golang/go_tutorial_de.html, 2011.

  43. Gieben M., Winkel JC.: Learning Go, http://www.miek.nl/downloads/2011/go-0.3.pdf, 2011.

    Google Scholar 

  44. Hoare C. A. R.: Communicating Sequential Processes, Communications of the ACM, Vol. 21. No. 8, 1978.

    Google Scholar 

  45. Harold E.R.: Java Network Programming. O’Reilly & Associates Inc. 1997.

    Google Scholar 

  46. Hewitt C., Bishop P., Steiger R.: A Universal Modular Actor Formalism for Artificial Intelligence. In Proceedings of the International Joint Conference on Artificial Intelligence. Die Nachrichtenkommunikation basiert auf dem Actor-Modell 1973

    Google Scholar 

  47. Homer A. Sussmann D.: Distributed Data Applications with ASP.NET. Second Edition. Apress 2004.

    Google Scholar 

  48. Haller P., Sommers F.: Actors in Scala. Artima 2011.

    Google Scholar 

  49. Inmos Limited, Occam 2 Reference Manual, Prentice Hall International, 1988.

    Google Scholar 

  50. Object Management Group: OMG IDL: Details. http://www.omg.org/gettingStarted/omg-idl.htm, 2007.

    Google Scholar 

  51. Sun Developer Network (SDN): Java over IIOP. http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp, 2007

    Google Scholar 

  52. Jones M.T.: BSD Sockets Programming from a Multi-Language Perspective. Charles River Multimedia Inc. 2003.

    Google Scholar 

  53. Jobst F.: Programmieren in Java, 2., aktualisierte und erweiterte Auflage. Carl Hanser Verlag 1999.

    Google Scholar 

  54. Java Grande Forum: Java Grande Forum Homepage. http://www.javagrande.org, 2007.

    Google Scholar 

  55. Kuhrmann M., Beneken G.: Windows Communication Foundation. Konzepte – Programmierung – Migration. Elsevier GmbH, Sektrum Akademischer Verlag 2007.

    Google Scholar 

  56. Kuhrmann M. Calame J. Horn E.: Verteilte Systeme mit .NET Remoting. Grundlagen – Konzepte – Praxis. Elsevier GmbH, Spektrum Akademischer Verlag, 2007.

    Google Scholar 

  57. Koelbel C. H., Loveman D.B., Schreiber R.S., Steele Jr. G.L., Zosel M. E.: The High Performance Fortran Handbook. The MIT Press 1994.

    Google Scholar 

  58. Larson J.: Erlang for Concurrent Programming. Communications of the ACM, Vol. 52, No. 3. 03/2009.

    Google Scholar 

  59. LAM/MPI Parallel Computing. http://www.lam-mpi.org/, 2007.

  60. Logan M., Merritt E., Carlson R., Erlang and OTP in Action. Manning Publications Co, 2011

    Google Scholar 

  61. Christos KK. L., Syropoulos A.: Setps in Scala, Introduction to Object-Functional Programming Cambridge University Press 2010

    Google Scholar 

  62. Lift Web Framework, http://liftweb.net/, 2011.

  63. Müller Frank: Systenprogrammierung in Google Go, Grundlagen – Skalierbarkeit – Performanz – Sicherheit, dpunkt.verlag GmbH, 2011.

    Google Scholar 

  64. Much T.: Scala: Der Schnelleinstieg für Entwickler. Galileo Computing 2012.

    Google Scholar 

  65. Monson-Haefel R.; Chappell D.A.: Java Message Service. O’Reilly & Associates Inc. 2001.

    Google Scholar 

  66. Microsoft Developer Network: .NET Remoting 2.0. http://www.microsoft.com/germany/msdn/library/net/NETRemoting20.mspx?mfr=true, 2007.

    Google Scholar 

  67. MPICH2. http://www-unix.mcs.anl.gov/mpi/mpich/, 2007

  68. MPICH-G2. http://www3.niu.edu/mpi/, 2007

  69. MPI Forum: MPI Documents. http://www.mpi-forum.org/docs/docs.html, 2007.

    Google Scholar 

  70. Message Passing Interface Forum. MPI: A Message-Passing Interface standard. International Journal of Supercomputerr Applications., Vol. 8, No. 3/4 1994.

    Google Scholar 

  71. Intel: Intel MPI Library 3.1 for Linux or Microsoft Windows Compute Cluster (CCS). http://www3.niu.edu/mpi/, 2007.

    Google Scholar 

  72. Scali: MPI Connect. http://www.scali.com/content/view/35/, 2007.

    Google Scholar 

  73. Verari Systems Software: Verari Systems Software’s Commercial Version of MPI Standard. http://www.mpi-softtech.com/documents/MPIPro_RevH.pdf, 2007.

    Google Scholar 

  74. Verari Systems Software: ChaMPIon/Pro. http://www.verarisoft.com/champion_pro.php, 2007.

    Google Scholar 

  75. Mowbray T.J.; Ruh W.A.: Inside CORBA, Distributed Object Standards and Applications. Addison Wesley Longman, Inc. 1997.

    Google Scholar 

  76. Neubauer B., Ritter T., Stoinski F.: CORBA Komponenten. Effektives Software-Design und Programmierung. Springer Verlag 2004.

    Google Scholar 

  77. Odersky M.: The Scala Language Reference Manual, Version 2.9 http://www.scala-lang.org/docu/files/ScalaReference.pdf, 2011

    Google Scholar 

  78. Odersky M., Altherr P., Cremet V., et al.: An Overview of the Scala Programming Language, Second Edition. http://www.scala-lang.org/docu/files/ScalaOverview.pdf. 2011.

    Google Scholar 

  79. Odersky M., Cremet V., Dragos I., et.al.: A Tour of the Scala Programming Language. http://www.scala-lang.org/docu/files/ScalaTour.pdf, 2007.

    Google Scholar 

  80. Odersky M.: Scala by Example. http://www.scala-lang.org/docu/files/ScalaByExample.pdf. 2011.

    Google Scholar 

  81. Open MPI: Open Source High Performance Computing. http://www.open-mpi.org/, 2007.

    Google Scholar 

  82. Object Management Group: Object Management Architecture. http://www.omg.org/oma/, 2007.

    Google Scholar 

  83. Object Management Group: The Object Management Group (OMG). http://www.omg.org/, 2007.

    Google Scholar 

  84. Odersky M., Spoon L.: The Scala 2.8 Collections API. http://www.scala-lang.org/docu/files/collections-api/collections.html. 2011.

    Google Scholar 

  85. Odersky M, Spoon L., Venners B.: Programming in Scala, Second Edition. Artima developer, 2010.

    Google Scholar 

  86. ORNL, University of Tennessee und Emory University: Heterogenous Adaptable Reconfigurable NEtworked Systems (HARNESS). http://www.csm.ornl.gov/harness/, 2007.

    Google Scholar 

  87. Pickering R.: Foundations of F#. Apress 2007.

    Google Scholar 

  88. Piepmeyer L.: Grundkurs funktionale Programmierung mit Scala. Hanser Fachbuchverlag 2010

    Google Scholar 

  89. Perrett T.: Lift in Action. Mannings Publications & Co. 2011.

    Google Scholar 

  90. Padovano M.: Networking Applications on Unix System V Release 4. Prentice-Hall Inc. 1993.

    Google Scholar 

  91. Peterson M.T.: DCE. A Guide to Developing portable Applications. McGraw-Hill Inc. 1995.

    Google Scholar 

  92. Pope A.: The CORBA Reference Guide. Understanding the Common Object Request Broker Architecture. Addison Wesley 1998.

    Google Scholar 

  93. Pollakowski M.: Grundkurs Socketprogrammierung mit C unter Linux. Das Einsteigerbuch, 2. Auflage, 2009.

    Google Scholar 

  94. Pollack D.: Simply Lift. http://simply.liftweb.net/, 2011.

    Google Scholar 

  95. Prokopec A., Rumpf T., Burgwell P., Odersky M.: A generic Parallel Collection Framework. http://infoscience.epfl.ch/record/150220/files/pc.pdf.

  96. Pervasive Technology Labs at Indiana University: mpiJava Home Page. http://www.hpjava.org/mpiJava.html, 2007.

    Google Scholar 

  97. Pervasive Technology Labs at Indiana University: HPJava Home Page. http://www.hpjava.org/index.html, 2007.

    Google Scholar 

  98. PVM home: PVM Parallel virtual Machine. http://www.csm.ornl.gov/pvm/pvm_home.html, 2007.

    Google Scholar 

  99. Richter J.: Microsoft .NET Framework Programmierung. Microsoft Press 2002.

    Google Scholar 

  100. Rottmann H.: Warum ausgerechnet .NET? Fakten und Vergleiche mit Java und C++ – Beispielprogramme – Glasklare Entscheidungshife. Vieweg Verlag 2004.

    Google Scholar 

  101. Reinders J.: Intel Threading Building Blocks. Outfitting C++ for MultiCore Processor Parallelism. O’Reilly Media, Inc. 2007.

    Google Scholar 

  102. Raychaudhuri N.: Scala in Action. Manning Publications Co. 2010.

    Google Scholar 

  103. Sun Developer Network (SDN): Remote Method Invocation Home. http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp, 2007.

    Google Scholar 

  104. Siegel J.: CORBA 3. Fundamentals and Programming. John Wiley & Sons Inc., 2001.

    Google Scholar 

  105. Subramaniam V.: Programming Scala, Tackle Multi-Core Complexity on the Java Virtual Machine. Pragmatic Bookshelf, 2009.

    Google Scholar 

  106. Suereth J.D.: Scala in Depth. Manning Publications Co. 2010.

    Google Scholar 

  107. Offizielle Webseite von Scala. http://www.scala-lang.org/, 2011.

  108. Stevens W.R.: Programmieren von Unix-Netzen. Coedition Carl Hanser Verlag, Prentice Hall International Inc. 1992.

    Google Scholar 

  109. Offizielle Webseite von Scalatra. http://www.scalatra.org/, 2011.

  110. Schirmer U.M.: Scala: Ein praktischer Einstieg in objektfunktionales Programmieren mit Scala. Dpunkt Verlag 2011.

    Google Scholar 

  111. Scala Tutorial, Version 2, Sept. 2011, Hello World. http://www.scalatutorial.de/topic148.html.

  112. Scala Distribution. http://www.scala-lang.org/downloads, 2011.

  113. Schinz M., Haller P.: Scala Tutorial für Java Programmierer. http://www.scala-lang.org/docu/files/ScalaTutorial-de_DE.pdf. Die englische Version: http://www.scala-lang.org/docu/files/ScalaTutorial.pdf. 2011.

    Google Scholar 

  114. Offizielle Webseite von Sinatra. http://www.sinatrarb.com/, 2011.

  115. Smith C.: Programming F#. O’Reilly Media Inc., 2010.

    Google Scholar 

  116. Sottile M. J., Mattson T. G., Rasmussen C.E.: Introduction to Concurrency in Programming Languages. CRC Presss, 2010.

    Google Scholar 

  117. Soap Version 1.2: http://www.w3.org/TR/soap12, 2007.

  118. Snir M., Otto S., Huss-Ledermann S. et al.: MPI – The Complete Reference. 2nd Edition. The MIT Press, Cambridge, MA, 2000.

    Google Scholar 

  119. Seeberger H., Roelofsen R.: Durchstarten mit Scala. entwickler.press, 2011.

    Google Scholar 

  120. Scala Tutorial. Deutsches Tutorial für Umsteiger imperativer Programmiersprachen. http://www.scalatutorial.wordpress.com, 2011.

    Google Scholar 

  121. The Transputer Archive. http:/vl.fmnet.info/transputer/, 2007.

    Google Scholar 

  122. SGS-Thomson Microelectronics Limited: occam® 2.1 reference manual, 1995. http://www.wotug.org/occam/documentation/oc21refman.pdf, 2007.

    Google Scholar 

  123. OASIS: UDDI Version 3.0.2 http://uddi.org/pubs/uddi_v3.htm, 2004.

    Google Scholar 

  124. University of Virginia: JPVM The Java Virtual Machine. http://www.cs.virginia.edu/~ajf2j/jpvm.html, 2007

    Google Scholar 

  125. Wilson Partnership: MinML a minimal XMLParser. http://www.wilson.co.uk/xml/minml.html, 2007.

    Google Scholar 

  126. W3C World Wide Web Consortium: http://www.w3.org/, 2007.

  127. WoTUG: Java Implementation of Occam. http://wotug.org/occam/#java, 2007.

    Google Scholar 

  128. Wampler D., Payne A.: Deutsche Übersetzung und Aktualisierung von Staudemeyer J.: Programmieren mit Scala. O#Reilly Verlag GmbH Co KG 2010.

    Google Scholar 

  129. W3C: Web Services Architecture. http://www.w3.org/TR/ws-arch/, 2004.

  130. W3C: Extensible Markup Language (XML). http://www.w3.org/XML/, 2006.

  131. XML-RPC.COM: XML-RPC Home Page. http://www.xmlrpc.com, 2007.

    Google Scholar 

  132. Zahn M. Unix-Netzwerkprogrammierung mit Threads, Sockets und SSL. Springer Verlag 2006.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer Fachmedien Wiesbaden

About this chapter

Cite this chapter

Baun, C., Bengel, G., Kunze, M., Stucky, KU. (2015). Programmiermodelle für verteilten Speicher. In: Masterkurs Parallele und Verteilte Systeme. Springer Vieweg, Wiesbaden. https://doi.org/10.1007/978-3-8348-2151-5_5

Download citation

Publish with us

Policies and ethics