Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

System and method for analyzing software performance without requiring hardware

Inactive Publication Date: 2007-04-19
MACHINES CORP INT BUSINESS
View PDF6 Cites 4 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0008] It has been discovered that the aforementioned challenges are resolved using a system and method for using assembly code to generate a performance graph that represents an instruction's execution progress as it relates to a program's actual instruction sequence. A timing description generator

Problems solved by technology

Software designers are typically faced with the problem of accurately analyzing software performance and efficiency, whether hardware (e.g. a processor) is available or not.
However, this sampling technique only obtains one data point per interval.
Conversely, if the sampling interval is too small, the act of tracing the program will itself affect the program's performance.
In addition, both of these techniques only provide a fairly broad overview of the program's performance.
When the hardware is in development and, therefore, not available, the above performance measurement technique is not possible.
One option is to use a simulator, but a challenge found is that simulators are too slow and inaccurate to measure a program's performance based upon actual hardware, which thus makes it difficult to accurately assess a program's actual efficiency.
This is an especially critical problem for hardware compiler developers because they have no simple way of determining compiler-generated assembly code quality.
Furthermore, a challenge found is that processors themselves are becoming increasingly complicated.
Thus, measuring a program's performance before hardware becomes available is virtually impossible, and when hardware is available, only a broad overview is obtained.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • System and method for analyzing software performance without requiring hardware
  • System and method for analyzing software performance without requiring hardware
  • System and method for analyzing software performance without requiring hardware

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0024] The following is intended to provide a detailed description of an example of the invention and should not be taken to be limiting of the invention itself. Rather, any number of variations may fall within the scope of the invention, which is defined in the claims following the description.

[0025]FIG. 1 is a diagram showing a timing description generator using assembly code to generate a performance graph. FIG. 1 includes timing description generator 100, which logs instruction performance characteristics for each of assembly code 150's instructions, and generates performance graph 160 that includes the performance characteristics. The performance characteristics represent an instruction's execution progress as it fits into a program's actual instruction sequence. As such, performance graph 160 provides an extremely accurate representation of an instruction as it executes on a processor (see FIGS. 2, 3, and corresponding text for further details regarding performance graphs).

[...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A system and method for analyzing software performance without requiring hardware is presented. A timing description generator logs instruction performance characteristics for each of the assembly code's instructions. The performance characteristics identify whether an instruction issued or stalled during particular instruction cycles. Once the timing description generator cycles through the instructions and logs performance characteristics for each instruction, the timing description generator generates a performance graph. For each page line, the performance graph includes 1) dual-issue information if applicable, 2) instruction cycle counter values / stalled instruction identifier's that are positioned at corresponding line location values, and 3) the instruction. A developer may analyze the performance graph and identify code locations that require optimization in order to increase performance.

Description

BACKGROUND OF THE INVENTION [0001] 1. Technical Field [0002] The present invention relates to a system and method for analyzing software performance without requiring hardware. More particularly, the present invention relates to a system and method for using assembly code to generate a performance graph that represents an instruction's execution progress as it relates to a program's actual instruction sequence. [0003] 2. Description of the Related Art [0004] Software designers are typically faced with the problem of accurately analyzing software performance and efficiency, whether hardware (e.g. a processor) is available or not. When the hardware is available, a typical software measurement technique is to run the software program on the hardware, and sampling the program counter's location at periodic intervals. After the program finishes, the samples may be drawn on a chart to assess software performance. However, this sampling technique only obtains one data point per interval. T...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/45
CPCG06F11/3447G06F2201/865G06F11/3419G06F2201/88
Inventor ERB, DAVID JOHN
Owner MACHINES CORP INT BUSINESS
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products