Title :
Distributed process networks in Java
Author :
Parks, Thomas M. ; Roberts, David
Author_Institution :
Dept. of Comput. Sci., Colgate Univ., Hamilton, NY, USA
Abstract :
Kahn (1974, 1977) defined a formal model for networks of processes that communicate through channels carrying streams of data tokens. His mathematical results show the necessary conditions for an implementation to be determinate, that is, for the results of the computation to be identical whether the processes are executed sequentially, concurrently, or in parallel. In our Java implementation channels enforce blocking reads and each process has its own thread in order to ensure determinacy and avoid deadlock. The network connections required to maintain the communication channels between processes executing on separate servers are automatically established when parts of the program graph are distributed to other servers by Java object serialization. Our Java implementation of process networks is suitable for execution on a single computer, a cluster of servers on a high-speed LAN, or geographically dispersed servers on the Internet.
Keywords :
Java; concurrency control; formal specification; multi-threading; Java; blocking reads; deadlock; determinacy; distributed process networks; formal model; object serialization; program graph; thread; Communication channels; Computer networks; Concurrent computing; IP networks; Java; Local area networks; Network servers; System recovery; Web server; Yarn;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2003. Proceedings. International
Print_ISBN :
0-7695-1926-1
DOI :
10.1109/IPDPS.2003.1213266