Method and system for trace generation using memory index hashing
First Claim
1. A method, comprising:
- generating an extended instruction trace representative of M distinct threads of instruction execution from an instruction trace representative of N distinct threads of instruction execution, wherein N is an integer greater than or equal to 1, and wherein M is an integer greater than N;
wherein each of said N distinct threads of said instruction trace includes memory references to respective memory addresses, and wherein generating said extended instruction trace from said instruction trace comprises;
replicating said N distinct threads to generate said M distinct threads;
assigning a respective unique identifier to each of said M distinct threads; and
for at least some of said memory references included in a given one of said M distinct threads, hashing a first portion of each of said respective memory addresses dependent upon said respective unique identifier of said given one of said M distinct threads, wherein said first portion of each of said respective memory addresses corresponds to at least part of an index of a memory structure shared by at least two of said M distinct threads.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for trace generation using memory index hashing. A method may include generating an extended trace representative of M threads of instruction execution from a trace representative of N threads of instruction execution, where N and M are integers, N≧1 and M>N, and where each of the N threads of the trace includes memory references to respective memory addresses. Generating the extended trace from the trace may include replicating the N threads to generate the M threads, assigning a respective identifier to each of the M threads, and for a given one of the M threads, hashing a first portion of each of the respective addresses dependent upon the respective identifier of the given thread, where the first portion of each of the respective addresses corresponds to at least part of an index of a memory structure shared by at least two of the M threads.
-
Citations
20 Claims
-
1. A method, comprising:
-
generating an extended instruction trace representative of M distinct threads of instruction execution from an instruction trace representative of N distinct threads of instruction execution, wherein N is an integer greater than or equal to 1, and wherein M is an integer greater than N;
wherein each of said N distinct threads of said instruction trace includes memory references to respective memory addresses, and wherein generating said extended instruction trace from said instruction trace comprises;
replicating said N distinct threads to generate said M distinct threads;
assigning a respective unique identifier to each of said M distinct threads; and
for at least some of said memory references included in a given one of said M distinct threads, hashing a first portion of each of said respective memory addresses dependent upon said respective unique identifier of said given one of said M distinct threads, wherein said first portion of each of said respective memory addresses corresponds to at least part of an index of a memory structure shared by at least two of said M distinct threads. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-accessible medium comprising program instructions, wherein the instructions are executable to:
-
generate an extended instruction trace representative of M distinct threads of instruction execution from an instruction trace representative of N distinct threads of instruction execution, wherein N is an integer greater than or equal to 1, and wherein M is an integer greater than N;
wherein each of said N distinct threads of said instruction trace includes memory references to respective memory addresses, and wherein to generate said extended instruction trace from said instruction trace, the instructions are further executable to;
replicate said N distinct threads to generate said M distinct threads;
assign a respective unique identifier to each of said M distinct threads; and
for at least some of said memory references included in a given one of said M distinct threads, hash a first portion of each of said respective memory addresses dependent upon said respective unique identifier of said given one of said M distinct threads, wherein said first portion of each of said respective memory addresses corresponds to at least part of an index of a memory structure shared by at least two of said M distinct threads. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system, comprising:
-
a system memory configured to store instructions; and
one or more processors configured to access said system memory, wherein the instructions are executable by at least one of said one or more processors to;
generate an extended instruction trace representative of M distinct threads of instruction execution from an instruction trace representative of N distinct threads of instruction execution, wherein N is an integer greater than or equal to 1, and wherein M is an integer greater than N;
wherein each of said N distinct threads of said instruction trace includes memory references to respective memory addresses, and wherein to generate said extended instruction trace from said instruction trace, the instructions are further executable by said at least one of said one or more processors to;
replicate said N distinct threads to generate said M distinct threads;
assign a respective unique identifier to each of said M distinct threads; and
for at least some of said memory references included in a given one of said M distinct threads, hash a first portion of each of said respective memory addresses dependent upon said respective unique identifier of said given one of said M distinct threads, wherein said first portion of each of said respective memory addresses corresponds to at least part of an index of a memory structure shared by at least two of said M distinct threads. - View Dependent Claims (20)
-
Specification