Dedicated memory structure holding data for detecting available worker thread(s) and informing available worker thread(s) of task(s) to execute
AssigneeInternational Business Machines Corporation
InventorsGeorge L. Chiu, Alexandre E. Eichenberger, John K. P. O'Brien
Life of this patent
Estimating the term…
Abstract
The present disclosure relates generally to a dedicated memory structure (that is, hardware device) holding data for detecting available worker thread(s) and informing available worker thread(s) of task(s) to execute.
Claims14
A computer system, the computer system comprising:
- a first processor comprising hardware;
- a first main memory associated with the first processor;
- a first L1 cache associated with the first processor;
- a first L2 cache associated with the first processor;
- a second processor comprising hardware;
- a second main memory associated with the second processor;
- a second L1 cache associated with the second processor;
- a second L2 cache associated with the second processor;
- and
- a dedicated memory structure for holding data indicating a plurality of available worker threads, the dedicated memory structure being distinct from each of the first main memory, the first L1 cache, the first L2 cache, the second main memory, the second L1 cache and the second L2 cache;
- wherein the first processor is configured to access, in the dedicated memory structure, the data, wherein the first processor is configured to detect from the data at least one first available worker thread, and wherein the first processor is configured to inform the detected at least one first available worker thread of at least one first task to execute and
- wherein the second processor is configured to access, in the dedicated memory structure, the data, wherein the second processor is configured to detect from the data at least one second available worker thread, and wherein the second processor is configured to inform the detected at least one second available worker thread of at least one second task to execute.
A computer readable storage medium, tangibly embodying program instructions executable by a first computer processor and a second computer processor for storing and accessing data, the program instructions, when executing, performing the following steps:
- providing access, for the first computer processor, to a first main memory associated with the first computer processor;
- providing access, for the first computer processor, to a first L1 cache associated with the first computer processor;
- providing access, for the first computer processor, to a first L2 cache associated with the first computer processor;
- providing access, for the second computer processor, to a second main memory associated with the second computer processor;
- providing access, for the second computer processor, to a second L1 cache associated with the second computer processor;
- providing access, for the second computer processor, to a second L2 cache associated with the second computer processor;
- providing access, for the first computer processor, to a dedicated memory structure for holding data indicating a plurality of available worker threads, the dedicated memory structure being distinct from each of the first main memory, the first L1 cache, the first L2 cache, the second main memory, the second L1 cache and the second the L2 cache;
- providing access, for the second computer processor, to the dedicated memory structure;
- storing by the first computer processor, in the dedicated memory structure, at least some of the data;
- storing by the second computer processor, in the dedicated memory structure, at least some of the data;
- detecting by the first computer processor from the data stored in the dedicated memory structure at least one first available worker thread;
- detecting by the second computer processor from the data stored in the dedicated memory structure at least one second available worker thread;
- informing by the first computer processor the detected at least one first available worker thread of at least one first task to execute;
- and
- informing by the second computer processor the detected at least one second available worker thread of at least one second task to execute.
A computer-implemented method for storing and accessing data, the method comprising:
- providing access, for a first computer processor, to a first main memory associated with the first computer processor;
- providing access, for the first computer processor, to a first L1 cache associated with the first computer processor;
- providing access, for the first computer processor, to a first L2 cache associated with the first computer processor;
- providing access, for a second computer processor, to a second main memory associated with the second computer processor;
- providing access, for the second computer processor, to a second L1 cache associated with the second computer processor;
- providing access, for the second computer processor, to a second L2 cache associated with the second computer processor,
- providing access, for the first computer processor, to a dedicated memory structure for holding data indicating a plurality of available worker threads, the dedicated memory structure being distinct from each of the first main memory, the first L1 cache, the first L2 cache, the second main memory, the second L1 cache and the second the L2 cache;
- providing access, for the second computer processor, to the dedicated memory structure;
- storing by the first computer processor, in the dedicated memory structure, at least some of the data;
- storing by the second computer processor, in the dedicated memory structure, at least some of the data;
- detecting by the first computer processor from the data stored in the dedicated memory structure at least one first available worker thread;
- detecting by the second computer processor from the data stored in the dedicated memory structure at least one second available worker thread;
- informing by the first computer processor the detected at least one first available worker thread of at least one first task to execute;
- and
- informing by the second computer processor the detected at least one second available worker thread of at least one second task to execute.
Dependencies are inferred from the claim text.