Title :
Implementing a reconfigurable atomic memory service for dynamic networks
Author :
Musial, Peter M. ; Shvartsman, Alex A.
Author_Institution :
Dept. of Comput. Sci. & Eng., Connecticut Univ., Storrs, CT, USA
Abstract :
Summary form only given. Transforming abstract algorithm specifications into executable code is an error-prone process in the absence of sophisticated compilers that can automatically translate such specifications into the target distributed system. We present a framework that was developed for translating algorithms specified as Input/Output Automata (IOA) to distributed programs. The framework consists of a methodology that guides the software development process and a core set of functions needed in target implementations that reduce unnecessary software development. The systems developed using this methodology preserve the modularity of the original specifications, making it easier to track refinements and effect optimizations. As a proof of concept, this work also presents a distributed implementation of a reconfigurable atomic memory service for dynamic networks (RAMBO). This service emulates atomic read/write shared objects in the dynamic setting where processors can arbitrarily crash, or join and leave the computation. The algorithm tolerates processor crashes and message loss and guarantees atomicity for arbitrary patterns of asynchrony and failure. The algorithm implementing the service is given in terms of IOA. An important consideration in formulating RAMBO was that it could be employed as a building block in real systems. Following a formal presentation of RAMBO algorithm, this work describes an optimized implementation that was developed using the methodology presented here. The system is implemented in Java and runs on a network of workstations. Empirical data illustrates the behavior of the system.
Keywords :
Java; automata theory; distributed programming; formal specification; Java; algorithm specifications; distributed programs; dynamic networks; input-output automata; reconfigurable atomic memory service; software development process; workstations; Artificial intelligence; Automata; Computer crashes; Computer errors; Computer science; Java; Laboratories; Middleware; Programming; Random access memory;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International
Print_ISBN :
0-7695-2132-0
DOI :
10.1109/IPDPS.2004.1303237