|
4In large processing clusters not only efficient means for intertask communication deserve attention, but also the coordination of these tasks. Due to the number of concurrently running applications system managment becomes a challening issue[AP97,FGC$^$97]. Programs do not only have to be installed and started, but also continuous steering and maintenance actions are required. Diversity of the software that has to be controlled is high. Especially during the prototype and development phases different physics algorithms and processing techniques have to be tested. In addition to the actual data processing tasks we encounter system programs such as database transaction servers or monitoring programs that must be activated and remote controlled at given time intervals in order to guarantee smooth operation of the cluster. Furthermore, the software must allow the logical partition of the system, which means that part of the computing farm runs event filter processes while other perform calibration or off-line analysis tasks. What the developers of Multics wrote in 1965[CV65] is a statement that becomes more and more important for our environment:
Because the system must ultimately be comprehensive and able to adapt to unknown future requirements, its framework must be general, and capable of evolving over time.
Having this directive in mind, we conceptualised a system that aims at not hardcoding any operational policies. By encapsulating application tasks and core system functions in objects that can be exchanged easily, we gain flexibility and are able to react quickly to changing requirements. The programming interface is narrow, thus simplifying the interface to the system. A standardised communication backbone is used for connecting the cluster nodes. We used CORBA in a proof of concept implementation that allows us to mix operating system and language environments. Before we present our approach to system management we investigate typical application control system use cases. These help us to identify the key requirements and match them to existing systems.