Trace ranking in a dynamic translation system

Share
Save

Share On Facebook Share On Twitter Share By Email
Save Item
Add to
my lists

Filing Information

  • Patent Number: US6219827
  • Application Number: US9041350
  • Filing date: 03/12/1998
  • Issue date: 04/17/2001
  • Predicted expiration date: 03/12/2018
Explore Your Innovation Network™ for an introduction to:

Innovation Network Your First Name:
Last Name:
 
Already a member? Sign In
  • U.S. Classifications: 717/4  · 711/135  · 711/134  · 711/136  · 711/133  ·
  • International Classifications: --
  • International Classifications: 711133-136 · 714 34- 35 · 395704 · 717 4 ·
34 Claims, 3 Drawings


Abstract

A method and system of trace ranking that applies artificial life principles to determine a predictively accurate ranking for cache retention or discard of traces. In a preferred embodiment, the ranking system is based upon biological modeling of ant trails. The system can enable a trace ranking policy where valuable traces can be identified to be kept in the cache as much as possible, while less valuable traces can be marked to discard. The system is further dynamic over time, whereby ranking emphasis changes in accordance with the dynamic behavior of the program. According to a preferred embodiment of the inventive trace ranking system, and analogous to the ant trail model, each trace contains counting code so that each time it is executed it increments a ranking counter by one. At predetermined intervals a dissipation factor is applied uniformly to reduce the value of all counters. By tuning the period between successive dissipation adjustments, and by tuning to a function the amount that the counters are reduced at selected dissipation operations, ranking becomes tunably predictive of the dynamic behavior of the program, analogous to the way in which the strength of a pheromone trail is predictive of the route followed by a foraging ant.

References Cited

U.S. Patent Documents

Document NumberAssigneesInventorsIssue/Pub Date
US5305389* Digital Equipment Corporation Palmer Apr 1994
US5668987* Sybase, Inc. Schneider Sep 1997
US5822759* Versant Object Technology Treynor Oct 1998
US5894575* International Business Machines Corporation Levine et al. Apr 1999
US5943687* Telefonakiebolaget LM Ericsson Liedberg Aug 1999
US6041406* Advanced Micro Devices, Inc. Mann Mar 2000
* cited by examiner

Other Publications

Chen et al. Performance of Shared Cache on Multithreaded Architectures. IEEE. pp. 541-548, 1996.*
Shahrier et al. On Predictability and Optimization of Multiprogrammed Caches for Real-time Applications. IEEE, 1997.*
Nobue. Method and Device For Firmware Tracing. Patent Abstracts of Japan, Unexamined Applications, Section: P, Sect. No. 1439, Vol. 16, No. 5, P. 19, Oct. 1992.*
* cited by examiner

Referenced By

Patent Family

Document NumberAssigneeInventorsIssue/Pub Date
JP11328031HEWLETT PACKARD CO RICHARD F MANNov 1999
US6219827Hewlett-Packard CompanyRichard F. ManApr 2001

Read Patent

Read patent

Independent Claims | See all claims (34)

  1. 1. A method for ranking traces generated during execution of a software program, said execution monitored by a dynamic translation system, the traces stored in a cache and disposed to be periodically discarded therefrom based on said ranking, the method comprising the steps of: (a) initially assigning an preselected initial rank value to each of a plurality of traces; (b) each time one of the traces executes, increasing the rank value thereof; and (c) periodically reducing the rank value of selected traces by a dissipation factor; wherein the dissipation factor is the current value of a variable.
  2. 14. A method for ranking traces generated during execution of a software program, said execution monitored by a dynamic translation system, the traces stored in a cache and disposed to be periodically discarded therefrom based on said ranking, the method comprising the steps of: (a) initially assigning an preselected initial rank value of zero to each of a plurality of traces; (b) each time one of the traces executes, increasing the rank value thereof by one; (c) periodically, at regular predetermined intervals, reducing the rank value of all traces by a dissipation factor; and (d) resetting to zero those rank values having a value less than zero following step (c); wherein the dissipation factor is the current value of a variable.
  3. 18. A computer program product including computer readable logic recorded thereon for enabling a computer to rank traces generated during execution of software undergoing dynamic translation, the computer having a processor and memory including cache, the traces stored in the cache and disposed to be periodically discarded therefrom based on said ranking, the computer program product comprising: a computer-readable storage medium; and a computer program stored on the computer-readable storage medium, the computer program comprising: means for initially assigning a preselected initial rank value to each of a plurality of traces; means, responsive to execution of a trace in the plurality, for increasing the corresponding rank value of said executed trace; means for periodically reducing the rank value of selected traces by a dissipation factor, wherein the dissipation factor is the current value of a variable; and means for periodically adjusting the dissipation factor according to a function of selected current rank values.
  4. 24. A trace ranking system for use in a dynamic translation system, the dynamic translation system monitoring execution of a software program from which traces are generated and then stored in a cache, the trace ranking system comprising: means for initially assigning a preselected initial rank value to each of a plurality of traces; means, responsive to execution of a trace in the plurality, for increasing the corresponding rank value of said executed trace; means for periodically reducing the rank value of selected traces by a dissipation factor; and means for periodically and selectively discarding traces from the cache according said discarded traces current rank values; wherein the dissipation factor is the current value of a variable.