IP Library Granted Patent US 9,519,583
Granted Patent B1
US 9,519,583 · App. 14/963,918 · Granted Dec 13, 2016

Dedicated memory structure holding data for detecting available worker thread(s) and informing available worker thread(s) of task(s) to execute

Inventors: George L. Chiu (Cross River, NY); Alexandre E. Eichenberger (Chappaqua, NY); John K. P. O'Brien (South Salem, NY)
Assignee: International Business Machines Corporation
G06F12/0811G11C7/1072G06F9/3838G06F9/3851G06F9/3861G06F9/5016G06F9/52G06F2212/283
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 9,519,583
App. No.
14/963,918
Granted
Dec 13, 2016
Kind
B1
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.

Claims (69)

1. 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.

2. The computer system of claim 1 , wherein:

the data stored in the dedicated memory structure is for detecting by the first processor a first plurality of available worker threads and informing by the first processor each of the first plurality of detected available worker threads of the at least one first task to execute; and

the data stored in the dedicated memory structure is for detecting by the second processor a second plurality of available worker threads and informing by the second processor each of the second plurality of detected available worker threads of the at least one second task to execute.

3. The computer system of claim 2 , wherein:

the data stored in the dedicated memory structure is for detecting by the first processor the first plurality of available worker threads and informing by the first processor each of the first plurality of detected available worker threads of a first plurality of tasks to execute; and

the data stored in the dedicated memory structure is for detecting by the second processor the second plurality of available worker threads and informing by the second processor each of the second plurality of detected available worker threads of a second plurality of tasks to execute.

4. The computer system of claim 1 , wherein:

the first main memory comprises a first RAM;

the first RAM is disposed externally to the first processor;

the second main memory comprises a second RAM; and

the second RAM is disposed externally to the second processor.

5. The computer system of claim 1 , wherein:

the first L1 cache is disposed on the first processor;

the first L2 cache is disposed on the first processor;

the second L1 cache is disposed on the second processor; and

the second L2 cache is disposed on the second processor.

6. The computer system of claim 1 , wherein the dedicated memory structure comprises an SRAM, the SRAM is disposed externally to the first processor and the SRAM is disposed externally to the second processor.

7. 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.

8. The storage medium of claim 7 , wherein:

the data stored in the dedicated memory structure is for detecting by the first processor a first plurality of available worker threads and informing by the first processor each of the first plurality of detected available worker threads of the at least one first task to execute; and

the data stored in the dedicated memory structure is for detecting by the second processor a second plurality of available worker threads and informing by the second processor each of the second plurality of detected available worker threads of the at least one second task to execute.

9. The storage medium of claim 6 , wherein:

the data stored in the dedicated memory structure is for detecting by the first processor the first plurality of available worker threads and informing by the first processor each of the first plurality of detected available worker threads of a first plurality of tasks to execute; and

the data stored in the dedicated memory structure is for detecting by the second processor the second plurality of available worker threads and informing by the second processor each of the second plurality of detected available worker threads of a second plurality of tasks to execute.

10. The storage medium of claim 7 , wherein the first main memory comprises a first RAM and the second main memory comprises a second RAM.

11. The storage medium of claim 10 , wherein the first RAM is disposed externally to the first computer processor and the second RAM is disposed externally to the second computer processor.

12. The storage medium of claim 7 , wherein the first L1 cache is disposed on the first computer processor, wherein the first L2 cache is disposed on the first computer processor, wherein the second L1 cache is disposed on the second computer processor, and wherein the second L2 cache is disposed on the second computer processor.

13. The storage medium of claim 7 , wherein the dedicated memory structure comprises an SRAM.

14. 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.

Assignments (2)
CONFIRMATORY LICENSE Recorded Aug 17, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 039708/0439 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2015
From: CHIU, GEORGE L.; EICHENBERGER, ALEXANDRE E.; O'BRIEN, JOHN K.P.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037251/0330 →