Concurrent thread execution using user-level asynchronous signaling
First Claim
Patent Images
1. A system, comprising:
- a first thread unit and a second thread unit;
a memory coupled to the first and second thread units;
a hardware mechanism of the first thread unit to perform an asynchronous control transfer to user code responsive to a write, by the second thread unit, to a selected location of said memory;
said memory further to store software instructions to detect a conflict between two concurrent threads and to utilize said hardware mechanism to trigger said handler code responsive to said conflict.
1 Assignment
0 Petitions
Accused Products
Abstract
Various usage models are provided to utilize a Monitor and Call (“mcall”) instruction that incorporates user-level asynchronous signaling. The various usage models utilize the mcall instruction in a multithreading system in order to enhance concurrent thread execution. Other embodiments are also described and claimed.
130 Citations
27 Claims
-
1. A system, comprising:
-
a first thread unit and a second thread unit; a memory coupled to the first and second thread units; a hardware mechanism of the first thread unit to perform an asynchronous control transfer to user code responsive to a write, by the second thread unit, to a selected location of said memory; said memory further to store software instructions to detect a conflict between two concurrent threads and to utilize said hardware mechanism to trigger said handler code responsive to said conflict. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
enabling monitoring of a memory location; beginning to perform a set of one or more instructions on a first thread unit; responsive to a write operation to the memory location by a second thread unit, disrupting the execution of the set of instructions and transferring control to handler code to be executed by the first thread unit; wherein said disrupting is performed by asynchronous user-level signaling hardware. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An article comprising:
-
a tangible storage medium having a plurality of machine accessible instructions; wherein, when the instructions are executed by a processor, the instructions provide for; enabling monitoring of a memory location; beginning to perform a set of one or more instructions on a first thread unit; responsive to a write operation to the memory location by a second thread unit, disrupting the execution of the set of instructions and transferring control to handler code to be executed by the first thread unit; wherein said disrupting is performed by asynchronous user-level signaling hardware. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification