IP Library Granted Patent US 7,343,592
Granted Patent B2
US 7,343,592 · App. 10/870,527 · Granted Mar 11, 2008

Benchmark synthesis using workload statistics

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,343,592
App. No.
10/870,527
Granted
Mar 11, 2008
Kind
B2
Abstract

A synthetic benchmark for a computer program and a method and computer program product for creating a synthetic benchmark for a computer program. The synthetic benchmark is created using statistical information that is collected about an executing program, and some hints about the machine on which the benchmark will be run. When executed, the synthetic benchmark exhibits behavior similar to the computer program to permit computer performance to be accurately measured.

Claims (15)

1. A method for creating a synthetic benchmark for a computer program, comprising:

executing the computer program;

recording selected statistical characteristics for each basic block of the executing computer program, wherein the selected statistical characteristics for each basic block comprise:

mix distribution statistics regarding a fraction of instructions that are an Add instruction type, a Load instruction type and a Store instruction type;

statistics regarding basic block size mean and standard deviation; and

statistics regarding a frequency distribution of register dependencies for each possible input of each of the instruction types;

using the recorded statistical characteristics to create a sequence of synthetic basic blocks, wherein using the recorded statistical characteristics to create a sequence of synthetic basic blocks comprises:

calculating a size for each synthetic basic block from a normal distribution with a mean and standard deviation equal to the statistics regarding basic block size mean and standard deviation; and, for each instruction in each synthetic basic block:

picking instruction dependencies using the frequency distribution of register dependencies; and

fixing each selected instruction dependency to provide a correct dependency type;

receiving hints from a user regarding a machine on which the benchmark is to be run to assist in creating the synthetic benchmark;

creating a synthetic benchmark using the sequence of synthetic basic blocks and the received hints from a user, wherein the synthetic benchmark is representative of the computer program with respect to the selected statistical characteristics and is in a format that can be executed on a computer; and

outputting the created synthetic benchmark.

2. The method according to claim 1 , wherein the executing is performed on a cycle accurate simulator.

3. The method according to claim 1 , wherein the outputting comprises outputting a synthetic benchmark in the form of data and machine instructions to a file in a format that can be executed on a computer.

Assignments (3)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2004
From: BELL, JR., ROBERT H.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014857/0421 →
Continuity (1)
Related Publication 20050283762A1 · Dec 22, 2005