IP Library › Granted Patent US 11,663,312
Granted Patent B2
US 11,663,312 · App. 16/131,982 · Granted May 30, 2023

Accelerator access control

Inventors: Brian F. Veale (Cedar Park, TX); Bruce Mealey (Austin, TX); Andre L. Albot (Austin, TX); Nick Stilwell (Austin, TX)
Assignee: International Business Machines Corporation
G06F21/44G06F13/4022
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,663,312
App. No.
16/131,982
Granted
May 30, 2023
Kind
B2
Abstract

Accelerator access control whereby an application's access to an accelerator is revoked in order to allow the system to perform a system function. In one or more embodiments, when an application is executing, a credit system is utilized to provide credits for controlled access to the accelerator. When request information is received to remove access to a credit associated with the application's access to the accelerator, the credit is marked to fail with operating system interfaces. Also, in one or more embodiments, if the credit is in use for accessing the accelerator, an effective address associated with the credit is unmapped from the accelerator.

Claims (27)

1. A method of controlling access to an accelerator installed in a computer system, the method comprising:

executing, via a processor, an application;

utilizing a credit management system where credits are made available for controlling access to the accelerator through a virtual accelerator switchboard (VAS), wherein the VAS provides send and receive windows for transmitting data between the application and the accelerator, and wherein the credits from the credit management system control access to the accelerator via the send and receive windows;

registering the application for access to the accelerator, whereby the application is provided with an effective address (EA) referencing a send window at which to paste a request block (RB) for the accelerator, the RB comprising request information, the request information comprising a function to be performed, the EA referencing the send window, and an EA of a status block (SB) where a completion status will be written by the accelerator;

issuing a copy instruction to copy a cache-line comprising the request information into a copy buffer;

outputting the buffered data of the request information including the RB as a paste instruction to transfer contents of the copy buffer to the EA corresponding to the RB, wherein the paste instruction will be denied by the VAS if the send window does not contain a send credit or the receive window does not contain a receive credit;

receiving, from the application, the paste instruction at a buffer for delivery to the accelerator associated with the EA to preempt access to one credit associated with the application's access to the accelerator;

identifying a credit to remove that satisfies a condition, the condition comprising a lowest quality of service guarantee credit with respect to one or more additional credits; and

in response to determining that the credit is in use:

marking the credit to fail upon receiving the request information; and

unmapping the EA for the credit by deleting the EA from the send window such that both the VAS and the application can no longer identify the send window from the EA, thereby precluding the application from accessing the accelerator.

2. The method of claim 1 further comprising indicating to the application that the credit has been removed and access to the accelerator has been revoked.

3. The method of claim 1 wherein receiving the request information is in response to having received a request to perform one of the following system feature:

dynamic reconfiguration;

live update; or

live migration.

4. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer processor to cause the computer processor to perform a method, comprising:

executing, via a processor, an application;

utilizing a credit management system where credits are made available for controlling access to the accelerator through a virtual accelerator switchboard (VAS), wherein the VAS provides send and receive windows for transmitting data between the application and the accelerator, and wherein the credits from the credit management system control access to the accelerator via the send and receive windows;

registering the application for access to the accelerator, whereby the application is provided with an effective address (EA) referencing a send window at which to paste a request block (RB) for the accelerator, the RB comprising request information, the request information comprising a function to be performed, the EA referencing the send window, and an EA of a status block (SB) where a completion status will be written by the accelerator;

issuing a copy instruction to copy a cache-line comprising the request information into a copy buffer;

outputting the buffered data of the request information including the RB as a paste instruction to transfer contents of the copy buffer to the EA corresponding to the RB, wherein the paste instruction will be denied by the VAS if the send window does not contain a send credit or the receive window does not contain a receive credit;

receiving, from the application, the paste instruction at a buffer for delivery to the accelerator associated with the EA to preempt one credit from providing the application access to the accelerator;

identifying a credit to remove that satisfies a condition, the condition comprising a lowest quality of service guarantee credit with respect to one or more additional credits;

in response to determining that the credit is in use:

marking the credit to fail with operating system interfaces upon receiving the request information; and

unmapping the EA for the credit by deleting the EA from the send window such that both the VAS and the application can no longer identify the send window from the EA, thereby precluding the application from accessing the accelerator.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2018
From: VEALE, BRIAN F.; MEALEY, BRUCE; ALBOT, ANDRE L.; STILWELL, NICK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046917/0286 →
Continuity (1)
Related Publication 20200089865A1 · Mar 19, 2020