A new framework for designing evolved program execution control in distributed programs is discussed in the paper. The framework provides an infrastructure for designing distributed program control based on monitoring of global application states. Global control constructs are proposed which logically bind distributed program modules and define the flow of control dependent on the monitoring of global application states. Such control can be organized in programs at the process and thread levels. Special processes and threads called synchronizers collect state information from application modules, construct strongly consistent global states and evaluate control predicates on global states. Based on this evaluation control signals are sent to processes and threads to define inter module flow of control and to influence the internal module behavior. The proposed constructs are incorporated into the framework as a graphical API which is compiled into C/C++ programs with the MPI2, pthreads and Open Mp libraries for communication.
['Marek Tudruj', 'Janusz Borkowski', 'Damian Kopanski', 'Adam Smyk', 'Eryk Laskowski', 'Lukasz Masko']
Distributed Program Control Flow and Behaviour Governed by Global States Monitoring