Application heartbeats for software performance and health

Adaptive, or self-aware, computing has been proposed to help application programmers confront the growing complexity of multicore software development. However, existing approaches to adaptive systems are largely ad hoc and often do not manage to incorporate the true performance goals of the applications they are designed to support. This paper presents an enabling technology for adaptive computing systems: Application Heartbeats. The Application Heartbeats framework provides a simple, standard programming interface that applications can use to indicate their performance and system software (and hardware) can use to query an application's performance. The PARSEC benchmark suite is instrumented with Application Heartbeats to show the broad applicability of the interface and an external resource scheduler demonstrates the use of the interface by assigning cores to an application to maintain a designated performance goal.

[1]  Brinkley Sprunt,et al.  The Basics of Performance-Monitoring Hardware , 2002, IEEE Micro.

[2]  Michael Stumm,et al.  Online performance analysis by statistical sampling of microprocessor performance counters , 2005, ICS '05.

[3]  Vaughn Betz,et al.  VPR: A new packing, placement and routing tool for FPGA research , 1997, FPL.

[4]  Chen Ding,et al.  Reuse Distance Analysis , 2001 .

[5]  HoffmannHenry,et al.  Application heartbeats for software performance and health , 2010 .

[6]  Philipp Reinecke,et al.  Adaptivity metric and performance for restart strategies in web services reliable messaging , 2008, WOSP '08.

[7]  Daniel A. Reed,et al.  SvPablo: A multi-language architecture-independent performance analysis system , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[8]  S. Muthukrishnan,et al.  Dynamic load balancing in parallel and distributed networks by random matchings (extended abstract) , 1994, SPAA '94.

[9]  Dilma Da Silva,et al.  Improving operating system availability with dynamic update , 2004 .

[10]  Onur Mutlu,et al.  Self-Optimizing Memory Controllers: A Reinforcement Learning Approach , 2008, 2008 International Symposium on Computer Architecture.

[11]  Sandhya Dwarkadas,et al.  Characterizing and predicting program behavior and its variability , 2003, 2003 12th International Conference on Parallel Architectures and Compilation Techniques.

[12]  Paola Inverardi,et al.  Run-time performance management of the Siena publish/subscribe middleware , 2005, WOSP '05.

[13]  Sathish S. Vadhiyar,et al.  Self adaptivity in Grid computing , 2005, Concurr. Pract. Exp..

[14]  Andreas Polze,et al.  Internet, GRID, self-adaptability and beyond: are we ready? , 2004, Proceedings. 15th International Workshop on Database and Expert Systems Applications, 2004..

[15]  David Finkel,et al.  Load balancing in a multi-server queuing system , 1990, Comput. Oper. Res..

[16]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[17]  Peter F. Sweeney,et al.  Performance and environment monitoring for continuous program optimization , 2006, IBM J. Res. Dev..

[18]  Nancy M. Amato,et al.  A framework for adaptive algorithm selection in STAPL , 2005, PPoPP.

[19]  Barton P. Miller,et al.  The Paradyn Parallel Performance Measurement Tool , 1995, Computer.

[20]  James P. Cohoon,et al.  Gambit: A Tool for the Simultaneous Placement and Detailed Routing of Gate-Arrays , 2001, FPL.

[21]  Barton P. Miller,et al.  Fine-grained dynamic instrumentation of commodity operating system kernels , 1999, OSDI '99.

[22]  R. Wisniewski,et al.  Performance and Environment Monitoring for Whole-System Characterization and Optimization , 2004 .

[23]  Brinkley Sprunt,et al.  Pentium 4 Performance-Monitoring Features , 2002, IEEE Micro.

[24]  Dilma Da Silva,et al.  K42: building a complete operating system , 2006, EuroSys.

[25]  R.W. Wisniewski,et al.  Efficient, Unified, and Scalable Performance Monitoring for Multiprocessor Operating Systems , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[26]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[27]  Norman P. Jouppi,et al.  Processor Power Reduction Via Single-ISA Heterogeneous Multi-Core Architectures , 2003, IEEE Computer Architecture Letters.

[28]  Martin Rinard,et al.  Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures , 2009 .

[29]  Sally A. McKee,et al.  Owl: next generation system monitoring , 2005, CF '05.

[30]  Anant Agarwal,et al.  Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling , 2009 .

[31]  Thomas D. Burd,et al.  The simulation and evaluation of dynamic voltage scaling algorithms , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[32]  Jean-Louis Pazat,et al.  Dynamic Adaptation for Grid Computing , 2005, EGC.

[33]  Hal Wasserman,et al.  Comparing algorithm for dynamic speed-setting of a low-power CPU , 1995, MobiCom '95.