Method and apparatus for speculative tracing
Filing Information
- Patent Number: US7194731
- Application Number: US10713406
- Filing date: 11/14/2003
- Issue date: 03/20/2007
- Predicted expiration date: 05/16/2025
- Patent term adjustment: 549
- U.S. Classifications: 717/128 · 700/5 · 717/130 ·
- International Classifications: G06F940 · G06F1740 ·
Abstract
A method of a speculative tracing, including defining the speculative tracing using a plurality of probes, firing at least one of the plurality of probes defined by the speculative tracing, allocating at least one instance of a first speculative buffer arranged to transfer data to a first principal buffer, if one of the plurality of probes comprises a first speculation function, and determining a first state value associated with the first speculative buffer.References Cited
U.S. Patent Documents
| Document Number | Assignees | Inventors | Issue/Pub Date |
|---|---|---|---|
| US6467083* | NEC Corporation | Yamashita | Oct 2002 |
| US6813731* | EMC Corporation | Zahavi et al. | Nov 2004 |
| US6836861* | Broadcom Corporation | Chen et al. | Dec 2004 |
| US7047521* | LynoxWorks, Inc. | Bunnell | May 2006 |
Other Publications
| Techniques for Efficient Inline Tracing on a Shared-Memory Multiprocessor Susan J. Eggers, David H. Keppel, Eric J. Koldinger, and Henry M. Levy. University of Washington.* |
| Improving Trace Cache Effectiveness with Branch Promotion and Trace Packing. Sanjay Jeram Patel, Marius Evers, Yale N. Patt. The University of Michigan.* |
| Tamches, Ariel and Miller, Barton P; Fine-Grained Dynamic Instrumentation of Commodity Operating System Kernels; [Online]; http://www.usenix.org/publications/library/proceedings/osdi99/full—papers/tamches/tamches.pdf, Published Feb. 1999. |
| Murayama, John; “Performance Profiling Using TNF”; [Online]; http://developers.sun.com/solaris/articles/tnf.html, Jul. 2001. |
| Lorch, Jacob R. and Smith, Alan J.; “The Vtrace Tool: Building a system Tracer for Windows NT and Windows 2000”; [Online] http://msdn.microfost.com/msdnmag/issues/1000/Vtrace/default.aspx, Oct. 2000. |
| “Chapter 10. The Generalized Trace Facility (GTF)”; [Online]; http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/IEA2V100/CCONTENTS, Jan. 2001. |
| Mirgorodskii, Alex; “The Path to Portable Kemel Instrumentation: The Keminst API”; http://www.dyninst.org/mtg2003/slides/KeminstAPI.pdf, Apr. 2003. |
| Richard Moore, et al.; “IBM Dynamic Probes”; http://www-124.ibm.com/developerworks/opensource/linux/projects/dprobes/README, 2000. |
| K. Yaghmour et al.; “Measuring and Characterizing System Behavior Using Kemel-Level Event Logging”; Proceedings of the 2000 USENIX Annual Technical Conference; Jun. 18-23, 2000, San Diego, California, USA. |
Referenced By
The current document is not referenced by other documents.Patent Family
The current document is not in a family.Independent Claims | See all claims (21)
- 1. A method for tracing of a program, comprising: defining a plurality of probes to trace the program; allocating a first speculative buffer using one of the plurality of probes, wherein the first speculative buffer is associated with a first processor; encountering one of the plurality of probes during tracing of the program; executing an action in the encountered probe to obtain data associated with the program; storing the data in the first speculative buffer; committing the data to a first principal buffer from the first speculative buffer based on a state value assocaited with the tracing of the program, if one of the plurality of probes comprising a commit function is encountered; discarding the data in the first speculative buffer based on the state value, if one of the plurality of probes comprising a discard function is encountered; and evaluating the data transferred to the first principal buffer.
- 10. A system for tracing using a tracing framework, comprising: a plurality of probes executing on the tracing framework, wherein each of the plurality of probes is associated with a speculation; a first principal buffer configured to store data from the tracing framework and associated with a first processor, wherein data is traced from the first processor using one of the plurality of probes; and a first speculative buffer associated with the first principal buffer and configured to transfer data to the 1st principal buffer, wherein the first speculative buffer is allocated using one of the plurality of probes, and wherein the data traced from the first processor is stored in the first speculative buffer; and wherein the data from the 1st speculative buffer is committed to the first principal buffer if one of the plurality of probes comprising a commit function is encountered; wherein the data from the 1st speculative buffer is discarded if one of the plurality of probes comprising a discard function is encountered; and wherein a state value associated with the speculation is updated upon firing at least one of the plurality of probes.
- 21. A computer system for tracing a program comprising: a first processor; a memory; a storage device; and software instructions stored in the memory for enabling the computer system to: define a plurality of probes to trace the program; allocate a first speculative buffer using one of the plurality of probes, wherein the first speculative buffer is associated with a first processor; encounter one of the plurality of probes during tracing of the program; execute an action in the encountered probe to obtain data associated with the program; store the data in the first speculative buffer; commit the data to a first principal buffer from the first speculative buffer based on a state value associated with the tracing of the program, if one of the plurality of probes comprising a commit function is encountered; discard the data in the first speculative buffer based on the state value, if one of the plurality of probes comprising a discard function is encountered; and evaluate the data transferred to the first principal buffer.





View assignee updates
analyzing 100 million+ documents to uncover your network...