Font Size: a A A

Relational profiling in multithreaded virtual machines

Posted on:2003-03-20Degree:Ph.DType:Dissertation
University:The University of Wisconsin - MadisonCandidate:Heil, Timothy HumeFull Text:PDF
GTID:1464390011486199Subject:Computer Science
Abstract/Summary:
Virtual machines (VMs) have been used to accelerate object-oriented applications and provide object-oriented features. The relational profiling architecture enables efficient interaction between the application and VM service threads within a multithreaded VM. The RPA collects information from specific instructions, examines the information for patterns, discards information not of interest, and passes useful information to service threads through shared-memory.; These features are provided by a low cost implementation based on two main components. The profile control table selects instructions for profiling during instruction dispatch. The query engine examines the information for patterns, and sends this information to service threads.; Two applications of the RPA illustrate its value. A concurrent garbage collector uses the RPA to monitor application writes to objects. Service threads consume this information and perform the write barrier needed for correctness by the garbage collector. Speculative object co-location improves spatial locality and reduces pointer chasing by placing related objects in adjacent memory. Speculative object co-location is driven by profiles of object allocations and accesses. Profiling overhead is reduced through adaptive sampling using the RPA.
Keywords/Search Tags:Profiling, RPA, Object, Service threads
Related items