Synergy is a
prototype implementation of a StateLess Machine (SLM).
It uses a Passive
Object-Flow Programming (POFP) method to offer programming
ease, process fault Tolerance and high efficiency using cluster of networked
computers.In principle, a Stateless Parallel Processing (SPP)
system requires total location transparency for all processes (running programs).
This affords three important non-functional features: ease of programming,
fault tolerance and load balancing.
In programming, this
means that location (host address and port) dependent IPC primitives are NOT
allowed. Consequently, a special asynchronous IPC
layer (of Passive Objects) is used for inter-process communication and synchronization.
The SPP runtime system can automatically determine the optimal process-to-processor
binding during the execution of a parallel application. This additional IPC
layer does carry some overheads in comparison to direct IPC systems such
as MPI/PVM. In return, it gives three critical benefits: programming ease,
load balancing and fault tolerance support at the architecture level.