IP Library › Granted Patent US 8,250,578
Granted Patent B2
US 8,250,578 · App. 12/035,511 · Granted Aug 21, 2012

Pipelining hardware accelerators to computer systems

Assignee: International Business Machines Corporation
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 8,250,578
App. No.
12/035,511
Granted
Aug 21, 2012
Kind
B2
Abstract

A method of pipelining hardware accelerators of a computing system includes associating hardware addresses to at least one processing unit (PU) or at least one logical partition (LPAR) of the computing system, receiving a work request for an associated hardware accelerator address, and queuing the work request for a hardware accelerator using the associated hardware accelerator address.

Claims (51)

1. A method of pipelining a plurality of hardware accelerators of a computing system, comprising:

pipelining individual partitions of each hardware accelerator of the plurality of hardware accelerators in a vertical pipeline associated with each hardware accelerator of the plurality of hardware accelerators;

pipelining each hardware accelerator of the plurality of hardware accelerators in a horizontal pipeline associated with all hardware accelerators of the plurality of hardware accelerators;

associating hardware accelerator addresses of a portion of the plurality of hardware accelerators to at least one processing unit (PU) or at least one logical partition (LPAR) of the computing system;

receiving a work request for an associated hardware accelerator address; and

queuing the work request for a hardware accelerator using the associated hardware accelerator address;

wherein associating hardware accelerator addresses includes,

identifying a shared pool of hardware accelerators of the plurality of hardware accelerators,

providing a listing of the shared pool of hardware accelerators to a mapping server of the computing system, and

associating addresses of the shared pool of hardware accelerators on the provided listing.

2. The method of claim 1 , wherein associating hardware accelerator addresses includes:

mapping a fixed set of accelerator address to the at least one PU or the at least one LPAR.

3. The method of claim 2 , wherein mapping includes:

identifying the fixed set of hardware accelerator addresses from a plurality of hardware accelerators of the computing system; and

mapping the fixed set of hardware accelerator addresses to the at least one PU or the at least one LPAR during activation of an application residing on the at least one PU.

4. The method of claim 1 , wherein associating addresses of the shared pool includes:

associating memory-mapped input/output (MMIO) addresses of each hardware accelerator of the shared pool with a PU or LPAR on the provided listing.

5. The method of claim 1 , wherein receiving a work request includes:

receiving a work request from an application residing on the at least one PU or the at least one LPAR.

6. The method of claim 5 , wherein the application issues the work request for the associated accelerator address in a horizontal pipeline.

7. The method of claim 5 , wherein the application issues the work request for the associated accelerator address in a vertical pipeline.

8. The method of claim 1 , wherein queuing the work request includes:

queuing the work request in a virtual input queue on one of the PU, a partition of a hardware accelerator, and a combination of the PU and accelerator partition.

9. The method of claim 8 , wherein the hardware accelerator is issued the work request in the vertical pipeline.

10. The method of claim 8 , wherein the hardware accelerator is issued the work request in the horizontal pipeline.

11. The method of claim 1 , wherein:

a plurality of work requests are received; and

each work request of the plurality of work requests is queued in a different hardware accelerator.

12. The method of claim 1 , wherein:

a plurality of work requests are received; and

each work request of the plurality of work requests is queued in a different partition of the same hardware accelerator.

13. The method of claim 1 , wherein:

a plurality of work requests is received; and

each work request of the plurality of work requests is queued in partitions of the same hardware accelerator until all partitions of the hardware accelerator have queued work requests.

14. The method of claim 1 , wherein:

a plurality of work requests are received; and

each work request of the plurality of work requests is queued in a different hardware accelerator until all hardware accelerators using the associated addresses have queued work requests.

15. A computing system, comprising:

an accelerator farm; and

a plurality of hardware accelerators disposed in the accelerator farm, wherein,

each hardware accelerator of the plurality of hardware accelerators includes a plurality of partitions configured in a vertical pipeline associated with each hardware accelerator of the plurality of hardware accelerators,

the plurality of hardware accelerators is configured in a horizontal pipeline associated with all hardware accelerators of the plurality of hardware accelerators; and

hardware accelerator addresses of a portion of the plurality of hardware accelerators is associated to at least one processing unit (PU) or at least one logical partition (LPAR) of the computing system,

wherein a work request for an associated hardware accelerator address is received and queued for a hardware accelerator using the associated hardware accelerator address,

wherein associating hardware accelerator addresses includes,

identifying a shared pool of hardware accelerators of the plurality of hardware accelerators,

providing a listing of the shared pool of hardware accelerators to a mapping server of the computing system, and

associating addresses of the shared pool of hardware accelerators on the provided listing.

16. The computing system of claim 15 , wherein a fixed set of hardware accelerators of the plurality of hardware accelerators is mapped to a processing unit of the computing system or a logical partition of the computing system.

17. The computing system of claim 15 , wherein a shared pool of hardware accelerators is mapped to each processing unit of the computing system of each logical partition of the computing system.

18. The computing system of claim 15 , wherein a shared pool of hardware accelerators is mapped to a listing included within a mapping server of the computing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2008
From: KRISHNAMURTHY, RAJARAM B.; GREGG, THOMAS A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020549/0259 →
Continuity (1)
Related Publication 20090217275A1 · Aug 27, 2009