Performance Information Sharing Middleware
This thesis presents a design for distributed monitoring system designed to enable monitoring-informed optimizationsin distributed applications. Microbenchmarks and an evaluation in a scientific-computing scenario are presented. The monitoring system is intended to assist when application requirements cannot be easily expressed in a form suitable for existing autonomic computing approaches. The design embeds awareness of the application's topology into the monitoring system so queries can reference a node's place in the application without embedding extra assumptions about the overall layout of the application. Through integration with dynamic code generation, users may make potentially application-specific metadata available and use such data within dynamically deployed filters and transformation functions. Evaluations demonstrate that this approach can provide timely and useful information with low overhead.