US 7,490,117 B2
Dynamic performance monitoring-based approach to memory management
Sreenivas Subramoney, Palo Alto, Calif. (US); Richard Hudson, Florence, Mass. (US); Mauricio Serrano, San Jose, Calif. (US); and Ali-Reza Adl-Tabatabai, Santa Clara, Calif. (US)
Assigned to Intel Corporation, Santa Clara, Calif. (US)
Filed on Dec. 31, 2003, as Appl. No. 10/749,425.
Prior Publication US 2006/0143421 A1, Jun. 29, 2006
Int. Cl. G06F 12/08 (2006.01)
U.S. Cl. 707—206  [711/170; 711/173] 13 Claims
OG exemplary drawing
 
1. An article comprising a machine-accessible medium having stored thereon instructions that, when executed by a machine, cause the machine to:
obtain, from a performance monitor, performance data for a memory heap having a plurality of memory regions;
based on the performance data, determine if at least one of the plurality memory regions is a delinquent region, wherein said determining includes instructions that when executed cause the machine to count the number of occurrences of the performance data and to compare the count of the number of occurrences of the performance data to a threshold value, wherein if the count has reached the threshold value a delinquent region is determined to exist, wherein the performance data represents at least one memory performance event;
in response to a determination that at least one of the plurality of memory regions is a delinquent region, execute a memory management routine to optimize that region of the memory heap by executing a garbage collection routine on at least one delinquent region, the garbage collection routine re-arranging the plurality of memory regions stored in the memory heap to optimize the memory heap; and
execute a secondary memory management routine on at least one non-delinquent region, wherein the secondary memory management routine is different than the memory management routine.