Concurrent garbage collection using hardware-assisted profiling

  • Authors:
  • Timothy H. Heil;James E. Smith

  • Affiliations:
  • Electrical and Computer Engineering, University of Wisconsin - Madison, 1415 Engineering Drive;Electrical and Computer Engineering, University of Wisconsin - Madison, 1415 Engineering Drive

  • Venue:
  • Proceedings of the 2nd international symposium on Memory management
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the presence of on-chip multithreading, a Virtual Machine (VM) implementation can readily take advantage of service threads for enhancing performance by performing tasks such as profile collection and analysis, dynamic optimization, and garbage collection concurrently with program execution. In this context, a hardware-assisted profiling mechanism is proposed. The Relational Profiling Architecture (RPA) is designed from the top down. RPA is based on a relational model similar to the relational database model. Instructions selected for profiling produce a record of information. A simple query engine examines these records for patterns, and performs simple actions on matching records.The power and flexibility of RPA is demonstrated by developing a concurrent generational garbage collector for Java. Detailed execution driven simulations show that this collector has an average runtime overhead of approximately 0.6%. The short pauses in the application required for synchronization with the garbage collector are at most 54 microseconds, given a 1GHz clock frequency.