next up previous contents
Next: Program Steering Systems Up: Traditional Approaches Previous: Traditional Approaches   Contents

Batch Processing Systems

A widespread approach to the problem of controlling applications in a cluster of independently operating computers is batch processing systems[MABY96,LLM88]. In the beginning their primary concern was to distribute the load induced by multiple unattended running applications effectively over a computing cluster[ZZWD93]. Subsequently the need for more fine grained interaction arose. Workstations that are used during the day may serve as computing resources for parallel programs during the night, thus requiring suspend and resume operations to be sent to the applications[FRZ$^$95,GPR98] upon which the applications´ state is changed. Furthermore, jobs can be dependent on each other[PL96], thus requiring to determine if and how a task completed its operation in order to launch another one. An example that we can envisage is a program that gathers the results of a parallel computation program and displays them to the user. Although the recent generation of such tools offer a variety of functions, including an application programmer interface, they cannot be extended to the functionality required by special application environments. The tool deals with the granularity of a process. This hinders the implementation of fine grained interaction. Due to the overhead that goes along with signalling multiple processes and the limitations of control support from COTS operating systems the batch processing tools stay concerned with the resource optimisation of off-line processing environments. Furthermore system internal policies such as load balancing algorithms or command execution models can not be influenced. In general no quality of service parameters, such as priorities or additional resources needed by the process, can be attached to the tasks that shall run in the distributed system. Configuration management stays threrefore the responsibility of the application programmer. Highly valuable for program control is however the ability to set timing constraints for task execution.


next up previous contents
Next: Program Steering Systems Up: Traditional Approaches Previous: Traditional Approaches   Contents
Johannes Gutleber
1999-10-29