IP Library Granted Patent US 7,996,824
Granted Patent B2
US 7,996,824 · App. 12/039,416 · Granted Aug 9, 2011

Benchmark synthesis using workload statistics

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,996,824
App. No.
12/039,416
Granted
Aug 9, 2011
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 (14)

1. A computer program product in a recordable-type computer readable medium for creating a synthetic benchmark for a computer program, comprising:

instructions for executing the computer program;

instructions for 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 operations 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;

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

instructions for 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 block,

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

fixing each selected instruction dependency to provide a correct dependency;

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

instructions for 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

instructions for outputting the created synthetic benchmark.

2. The computer program product according to claim 1 , wherein the instructions for outputting comprises instructions for 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 (2)
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 →