Distributed computing, like anything else, profits from good management. Here, we discuss the issues of managing distributed applications and present a set of tools that solves some longstanding problems. program that performs correctly differs greatly from one that performs well. The former simply operates without failure and produces correct results, while the latter also uses resources efficiently and behaves predictably over a range of environmental and operating parameters. Writing distributed programs that perform well is especially difficult. These programs may run in widely varying configurations -from a single machine to tens or hundreds -and on machines with different performance levels or vendors. Often the programs must continue to operate when some machines have failed. We call the activity of producing a distributed program that performs well in a given environment distributed application management. It involves configuring the system components for a given hardware and software enviinitializing the application in an orderly way, monitoring the application's behavior and performance, and scheduling work efficiently among the components. A n application must be managed throughout its execution because the system must continually react t o varying work loads, environment changes, and failures. Traditionally, application management is performed manually or hardwired into the application code. A person thoroughly familiar with the application must continually monitor and control it; some adaptations can be made only by reprogramming. In practice, many aspects of application management are ignored, which results in poorly engineered systems that usually work but often exhibit unpredictable performance, become inconsistent, expose partial failures, and prove fragile when small changes are made to the hardware or software base. We seek to avoid the deficiencies of this ad hoc approach by creating a framework favoring the construction of robust distributed management software and applications. We have also developed a set of tools -the Meta system -that directly supports our approach. A distributed computing environment causes more problems for application management than a nondistributed environment. The performance data required for system monitoring is distributed throughout the system, making it hard t o access. Variable communication delays produce less-than-accurate data that is ronment, COMPUTER oo1u-91~~1~11ouoo-oo~2501 00 o 1991 IEEE
The Meta monitoring system REF is a collection of tools used for constructing distributed application management software.
Tools for distributed application management
Computer
Computer
Computer Science