expr:class='"loading" + data:blog.mobileClass'>

Sunday, 19 January 2014

Design and Implementation of a Network Layer for Distributed Programming Platforms

Abstract
Mozart is a distributed programming platform for a multi paradigm language named Oz. Its network layer is a message passing service to higher layers which run protocols to maintain the state of distributed entities.
This thesis presents the design, implementation and evaluation of a new network layer for Mozart. While reviewing the problems of the old network layer, a new model was designed and implemented. Solutions provided are a more efficient usage of file descriptors and similar resources, less fragmented sending of data, leaner memory usage, improved multiplexing over communication channels and a monitor mechanism for error handling.
The distribution models of a few other languages were also studied and the demands on a message passing service were investigated. It turns out that the many different aspects of a multi paradigm language also require more of such a service. Still a small comparative test shows that the performance of the network layer of Mozart is competitive with, or even higher than the performance of Java’s RMI, that uses a more simplistic message passing service.



Table of Contents
1   Introduction............................................................................................................ 1
2   Distribution models of Mozart and other Distributed Languages..................... 1
2.1  Conventional distribution models.................................................................... 1
2.2  Network Transparency..................................................................................... 2
3   Network layers....................................................................................................... 3
3.1  The network layer of Java's RMI..................................................................... 4
3.2  The network layer of Mozart............................................................................ 5
4   Problems addressed with the new design............................................................. 6
5   Design and implementation of the new Network Layer..................................... 7
5.1  Definition of the new model............................................................................ 7
5.2  Connecting to a remote site.............................................................................. 9
5.3  Passing Messages............................................................................................ 17
5.4  Priorities.......................................................................................................... 19
5.5  Acknowledgements and retransmission......................................................... 20
5.6  Garbagecollection and references................................................................... 21
5.7  Resource caching............................................................................................ 22
5.8  Error handling................................................................................................. 23
5.9  Logging.......................................................................................................... 23
6   Evaluation............................................................................................................. 24
6.1  Evaluation of the performance of the new vs. the old design........................ 24
6.2  A comparison with Java's RMI...................................................................... 28
7   Future work......................................................................................................... 29
8   Conclusions........................................................................................................... 29
Appendix A: Evaluation test code........................................................................... 30
Appendix B: Interfaces............................................................................................ 33

References................................................................................................................. 37

No comments:

Post a Comment