Application Heartbeats. A Generic Interface for Expressing Performance Goals and Progress in Self-Tuning Systems
Hanno Homann, Jonathan M. Eastep, Marco Domenico Santambrogio, Joel B. Miller, Anant K. Agarwal · Virtual Community of Pathological Anatomy (University of Castilla La Mancha) · 2010
Self-tuning, self-aware, or adaptive computing has been proposed as one method to help application programmers confront the growing complexity of multicore software development.Such systems have been proposed for architectures, compilers, and operating systems to ease the application programmer's burden by providing services that automatically customize to meet the needs of the application.However, these systems often rely on ad hoc methods for understanding and monitoring an application and thus struggle to incorporate the true performance goals of the applications they are designed to support.This paper presents the Application Heartbeats API which addresses the need to provide a standardized interface for applications to communicate with supportive adaptive systems.The Application Heartbeats framework provides a simple, standard programming interface that applications can use to indicate their performance and which system software can use to query that performance.Several experiments demonstrate the simplicity and efficacy of the Application Heartbeat approach.