or
Dynamic temporal optimization framework



Bookmark and Share
PDF+Word+Text
Download of US
Patent 7140008
Bulk Download
of 50+ Related
Patent PDFs
$39.95
Document Number
US Patent 7140008
Issued Date
November 21, 2006
Link
Inventors
Map
Abstract
A temporal profiling framework useful for dynamic optimization with hot data stream prefetching provides profiling of longer bursts and lower overhead. For profiling longer bursts, the framework employs a profiling phase counter, as well as a checking phase counter, to control transitions to and from instrumented code for sampling bursts of a program execution trace. The temporal profiling framework further intelligently eliminates some checks at procedure entries and loop back-edges, while still avoiding unbounded execution without executing checks for transition to and from instrumented code. Fast hot data stream detection analyzes a grammar of a profiled data reference sequence, calculating a heat metric for recurring subsequences based on length and number of unique occurrences outside of other hot data streams in the sequence with sufficiently low-overhead to permit use in a dynamic optimization framework.
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
32
Comments:
no comments yet
Owner
Microsoft Corporation (Redmond, WA)
Published
November 21, 2006
Application Number
10/305,056
Filed
November 25, 2002
US Classification
717/158   717/153 717/155
Int'l Classification
G06F   9/45   (20060101)  
Examiner
Assistant Examiner
Attorney/Law Firm
USPTO Field of Search
717/158   717/153   717/155  
Related Patents
7478371 - Method for trace collection - Owned by Sun Microsystems, Inc. (Santa Clara, CA)

A method is provided for obtaining data to be used in evaluating performance of a computer processor. More specifically, the method provides for efficiently obtaining traces from an application program for use in a simulation of a computer processor. The method uses both an original code defining the application program and an instrumented version of the original code ("instrumented code"). The method includes apportioning a total time of execution of the application program between the original code and the instrumented code. Transition of execution between the original and instrumented codes is conducted through either modification of function calls or through consultation with a mapping of instruction address correspondences between the original and instrumented codes.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us