IP Library Granted Patent US 11,010,209
Granted Patent B2
US 11,010,209 · App. 16/251,166 · Granted May 18, 2021

Speculative execution management in a coherent accelerator architecture

Inventors: Pengfei Gou (Shanghai, CN); Yang Liu (Shanghai, CN); Yangfan Liu (Shanghai, CN); Zhenpeng Zuo (Shanghai, CN)
Assignee: International Business Machines Corporation
G06F9/528G06F9/467G06F11/1407G06F12/0815G06F13/1663G06F13/4265G06F12/0284G06F2212/1024G06F2212/621
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 11,010,209
App. No.
16/251,166
Granted
May 18, 2021
Kind
B2
Abstract

Disclosed aspects relate to speculative execution management in a coherent accelerator architecture. A first access request from a first component may be detected with respect to a set of memory spaces of a single shared memory in the coherent accelerator architecture. A second access request from a second component may be detected with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture. The first and second access requests may be processed by a speculative execution management engine using a speculative execution technique with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture.

Claims (68)

1. A computer-implemented method for speculative execution management in a coherent accelerator architecture, the method comprising:

detecting, with respect to a set of memory spaces of a single shared memory in the coherent accelerator architecture, a first access request from a first component;

detecting, with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, a second access request from a second component;

processing, by a speculative execution management engine using a speculative execution technique, the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture;

deterring, to streamline the first and second access requests from the first and second components, a delay to utilize the set of memory spaces of the single shared memory in the coherent accelerator architecture;

capturing, in response to a number of data entries exceeding a threshold number of data entries and in response to an elapsed period exceeding a time threshold, a set of checkpoint roll-back data; and

rolling-back, based on the set of checkpoint roll-back data, the coherent accelerator architecture to a prior state, wherein the rolling-back includes rolling-back only a subset of cache lines where a conflict exists.

2. The method of claim 1 , further comprising:

structuring the set of memory spaces of the single shared memory in the coherent accelerator architecture to include a set of cache lines in the single shared memory in the coherent accelerator architecture; and

structuring the first and second components to be selected from the group consisting of:

one or more Accelerator Functional Units (AFUs); and

one or more host processors.

3. The method of claim 1 , further comprising:

configuring, without a lock mechanism when processing the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, the speculative execution technique.

4. The method of claim 1 , further comprising:

updating, in response to processing the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, a host memory directory.

5. The method of claim 4 , further comprising:

updating, in a batch fashion which includes a set of update data for both the first and second access requests in a single set of data traffic, the host memory directory.

6. The method of claim 4 , further comprising:

evaluating the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture;

determining, based on the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, a conflict absence; and

updating, in response to determining the conflict absence, the host memory directory.

7. The method of claim 1 , further comprising:

capturing, by the speculative execution management engine, a set of checkpoint roll-back data.

8. The method of claim 1 , further comprising:

evaluating the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture;

determining, based on the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, a conflict presence; and

rolling-back, in response to determining the conflict presence, the coherent accelerator architecture to the prior state.

9. The method of claim 8 , further comprising:

ascertaining that the conflict presence indicates a read-write conflict.

10. The method of claim 8 , further comprising:

ascertaining that the conflict presence indicates a write-write conflict.

11. The method of claim 1 , further comprising:

retrying, without using the speculative execution technique and in a separate fashion in relation to the second access request, the first access request with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture; and

retrying, without using the speculative execution technique and in the separate fashion in relation to the first access request, the second access request with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture.

12. The method of claim 1 , further comprising:

processing, by the speculative execution management engine using the speculative execution technique, the first access request with respect to a common cache line of the set of memory spaces of the single shared memory in the coherent accelerator architecture; and

processing, by the speculative execution management engine using the speculative execution technique, the second access request with respect to the common cache line of the set of memory spaces of the single shared memory in the coherent accelerator architecture.

13. The method of claim 12 , further comprising:

sensing, by the speculative execution management engine, a new value in the common cache line to replace a previous value in the common cache line; and

logging the previous value to host memory to facilitate a potential roll-back operation.

14. The method of claim 1 , further comprising:

constructing the coherent accelerator architecture to include a point-to-point processor interconnect.

15. The method of claim 1 , further comprising:

executing, in a dynamic fashion to streamline speculative execution management in the coherent accelerator architecture, each operational step.

16. The method of claim 1 , further comprising:

executing, in an automated fashion without user intervention, each operational step.

17. The method of claim 1 , further comprising:

capturing, by the speculative execution management engine, a set of checkpoint roll-back data;

configuring, without a lock mechanism when processing the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, the speculative execution technique; and

when a conflict absence is determined:

updating, in response to processing the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, a host memory directory in a batch fashion which includes a set of update data for both the first and second access requests in a single set of data traffic.

18. A system for speculative execution management in a coherent accelerator architecture, the system comprising:

a memory having a set of computer readable computer instructions, and

a processor for executing the set of computer readable instructions, the set of computer readable instructions including:

detecting, with respect to a set of memory spaces of a single shared memory in the coherent accelerator architecture, a first access request from a first component;

detecting, with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, a second access request from a second component;

processing, by a speculative execution management engine using a speculative execution technique, the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture;

deterring, to streamline the first and second access requests from the first and second components, a delay to utilize the set of memory spaces of the single shared memory in the coherent accelerator architecture;

capturing, in response to a number of data entries exceeding a threshold number of data entries and in response to an elapsed period exceeding a time threshold, a set of checkpoint roll-back data; and

rolling-back, based on the set of checkpoint roll-back data, the coherent accelerator architecture to a prior state, wherein the rolling-back includes rolling-back only a subset of cache lines where a conflict exists.

19. A computer program product for speculative execution management in a coherent accelerator architecture, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:

detecting, with respect to a set of memory spaces of a single shared memory in the coherent accelerator architecture, a first access request from a first component;

detecting, with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture, a second access request from a second component;

processing, by a speculative execution management engine using a speculative execution technique, the first and second access requests with respect to the set of memory spaces of the single shared memory in the coherent accelerator architecture;

deterring, to streamline the first and second access requests from the first and second components, a delay to utilize the set of memory spaces of the single shared memory in the coherent accelerator architecture;

capturing, in response to a number of data entries exceeding a threshold number of data entries and in response to an elapsed period exceeding a time threshold, a set of checkpoint roll-back data; and

rolling-back, based on the set of checkpoint roll-back data, the coherent accelerator architecture to a prior state, wherein the rolling-back includes rolling-back only a subset of cache lines where a conflict exists.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2024
From: BEIJING PIANRUOJINGHONG TECHNOLOGY CO., LTD.
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 066565/0952 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2023
From: AWEMANE LTD.
To: BEIJING PIANRUOJINGHONG TECHNOLOGY CO., LTD.
Reel/Frame 064501/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AWEMANE LTD.
Reel/Frame 057991/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: GOU, PENGFEI; LIU, YANG; LIU, YANGFAN; ZUO, ZHENPENG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048055/0183 →
Continuity (2)
Continuation 15461428 · Mar 16, 2017
Related Publication 20190171498A1 · Jun 6, 2019