This paper presents a framework, culled Vista, for designing instrumentation systems (ISs) for various applications that use distributed computing systems. We dejine an instrumentation system as a collection of modules and functions used for collecting data from concurrent processes executed on various nodes across the network. Based on our generic model of an IS, the Vista framework provides various abstract and base classes that help a user to quickly configure an IS for a particular application domain. Vista library is built on top of various operating system services to provide various convenience functions to collect and forward the instrumentation data. The design of this framework is hierarchical to address diverse user needs. We present the application of this framework to various practical data collection and management problems.
IntroductionAn instrumentation system is defined as a collection of modules and functions used for collecting data from an executing program [lo]. The nature of this data varies with the objectives of data collection, architecture of the computer system, available operating system support, and application domain. For the purpose of consistency, we call this data the instrumentation datu. Objectives of collecting runtime information from an application program include measurement-based performance analysis [8], debugging [4], steering [3], and program data visualization [4]. An application program may execute on a sequential, parallel, or distributed computer system with different debugging and performance evaluation goals in each case. A number of application areas utilize the instrumentation systems to meet objectives, such as on-line/off-line performance analysis, real-time scheduling of system resources, real-time visualization and animation of scientific application programs, fault analysis of complex systems, and real+This research was supported in part by ARPA contract no. DABT63-95-C-0072. 0-8186-7235-8/96 $5.00 0 1996 IEEE Proceedings of MASCOTS '96 time processing for U 0 intensive monitoring and control applications [ 1.21.With such diverse application areas, the role of an instrumentation system is increasingly being appreciated as a key facilitator to accomplish tasks that rely on collecting runtime information from an application program. This paper specifically focuses on the instrumentation system (henceforth Is> for distributed computing systems. Traditionally, the role of an IS has been restricted to collecting pre-defined performance information from the programs using sampling-driven or event-driven monitoring paradigms [6]. However, the wider scope of an IS due to a variety of new application areas puts stringent performability requirements on the design and synthesis of an IS. Some of these requirements include: (1) minimal intrusion to the behavior and performance of the actual program that generates the instrumentation data; (2) collection of application-specific and user-defined data;(3) forwarding of instrumentation data to user-designed data analysis mo...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.