IP Library › Granted Patent US 12,499,295
Granted Patent B2
US 12,499,295 · App. 17/622,183 · Granted Dec 16, 2025

Software applications offloading to accelerators

Inventors: Ikuo Otani (Musashino, JP); Noritaka Horikome (Musashino, JP)
Assignee: NTT, Inc.
G06F30/20G06F30/34
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 12,499,295
App. No.
17/622,183
Granted
Dec 16, 2025
Kind
B2
Abstract

A server control apparatus 100 includes a request and configuration collection unit 120 that acquires a request to offload a certain process of an application to an accelerator for each application in a server, and configurations of the accelerator and the application in a server 30 , an optimization arithmetic unit 130 that determines, by referring to information of the acquired request and configurations of the server 30 , a ratio of processing performance to the request, and optimizes allocation of the accelerator so that variance of the ratio between the applications is equal to or less than a predetermined threshold, and a configuration determination unit 140 that determines a configuration suggestion to be taken by the server 30 by using an arithmetic result from the optimization arithmetic unit 130 and a predetermined policy, and commands the server 30 to execute the configuration suggestion.

Claims (271)

1 . A server control apparatus comprising:

an acquisition unit comprising one or more processors and configured to acquire a request to offload a certain process of a first application of applications to an accelerator for each of the applications in a server, and configurations of the accelerator and the first application in the server;

an optimization arithmetic unit comprising the one or more processors and configured to determine, by referring to information of the request acquired and the configurations acquired of the server, a ratio of processing performance to the request, and optimize allocation of the accelerator based on a capacity condition of the accelerator, so that variance of the ratio between the applications is equal to or less than a predetermined threshold; and

a determination unit comprising the one or more processors and configured to determine a configuration suggestion for the server by using an arithmetic result from the optimization arithmetic unit and a predetermined policy, and command the server to execute the configuration suggestion, wherein the configuration suggestion comprises rewriting the certain process of the first application in the accelerator into a process of a second application, wherein an accelerator allocation of the first application is greater than an accelerator allocation of the second application,

wherein the optimization arithmetic unit is configured to perform arithmetic of the ratio in accordance with Equation (2) below,

(

P

R

)

i

=

(

∑

j

P

i

⁢

δ

ij

F

+

∑

j

p

i

⁢

δ

ij

S

)

/

R

i

(

2

)

δ

i

⁢

j

F

⁢

IS

⁢

1

⁢

IF

⁢

THE

⁢

APL

⁢

i

⁢

USING

⁢

AN

⁢

ACCELERATOR

⁢

IS

⁢

PRESENT

⁢

ON

⁢

THE

⁢

SERVER

⁢

j

,

OR

⁢

0

⁢

IF

⁢

NOT

⁢

PRESENT

δ

i

⁢

j

S

⁢

IS

⁢

1

⁢

IF

⁢

THE

⁢

APL

⁢

i

⁢

NOT

⁢

USING

⁢

AN

⁢

ACCELERATOR

⁢

IS

⁢

PRESENT

⁢

ON

⁢

THE

⁢

SERVER

⁢

j

,

OR

⁢

0

⁢

IF

⁢

NOT

⁢

PRESENT

wherein

P presents a performance,

R represents the request,

P/R represents the ratio,

Pi represents a performance with the accelerator,

pi represents a software performance, and

δ F and δ S represent delta functions.

2 . The server control apparatus according to claim 1 , further comprising:

a threshold storage unit provided with a parameter of the ratio among at least one of a divergence of the ratio, a minimum value of the ratio, or a maximum value of the ratio, and the threshold storage unit being configured to hold a threshold for applying the parameter,

wherein the optimization arithmetic unit is configured to perform optimization arithmetic by using the threshold for the parameter.

3 . The server control apparatus according to claim 1 ,

wherein the optimization arithmetic unit is configured to optimize allocation of the accelerator in ranges of capacity conditions indicated by Relationship (4) and Relationship (5) below,

∑

i

C

i

⁢

δ

ij

F

≦

S

j

(

4

)

A

⁢

CONDITION

⁢

THAT

⁢

THE

⁢

ACCELERATOR

⁢

CAPACITY

⁢

(

Sj

)

⁢

ON

⁢

THE

⁢

SERVER

⁢

⁢

j

⁢

IS

⁢

NOT

⁢

EXCEEDED

∑

i

c

i

⁢

δ

i

⁢

j

S

≦

s

j

(

5

)

A

⁢

CONDITION

⁢

THAT

⁢

THE

⁢

SOFTWARE

⁢

CAPACITY

⁢

(

sj

)

⁢

ON

⁢

THE

⁢

SERVER

⁢

j

⁢

IS

⁢

NOT

⁢

EXCEEDED

wherein

Ci represents an FPGA required capacity,

ci represents a software required capacity,

Sj represents an accelerator capacity on a server j,

sj represents a software capacity on the server j, and

δ F and δ S represent delta functions.

4 . The server control apparatus according to claim 1 ,

wherein the optimization arithmetic unit performs an optimization arithmetic that minimizes a divergence of the ratio.

5 . A server control method comprising:

acquiring a request to offload a certain process of a first application of applications to an accelerator for each of the applications in a server, and configurations of the accelerator and the first application in the server;

determining, by referring to information of the request acquired and the configurations acquired of the server, a ratio of processing performance to the request, and optimizing allocation of the accelerator based on a capacity condition of the accelerator, so that variance of the ratio between the applications is equal to or less than a predetermined threshold; and

determining a configuration suggestion for the server by using an arithmetic result obtained by the optimizing and a predetermined policy, and commanding the server to execute the configuration suggestion, wherein the configuration suggestion comprises rewriting the certain process of the first application in the accelerator into a process of a second application, wherein an accelerator allocation of the first application is greater than an accelerator allocation of the second application,

wherein determining the ratio comprises performing arithmetic of the ratio in accordance with Equation (2) below,

( P/R ) t =(Σ j P i δ ij F +Σ j p i δ ij S )/ R i (2)

δ ij F IS 1 IF THE APL i USING AN ACCELERATOR IS PRESENT ON

THE SERVER j, OR 0 IF NOT PRESENT

δ ij S IS 1 IF THE APL i NOT USING AN ACCELERATOR IS PRESENT

ON THE SERVER j, OR 0 IF NOT PRESENT

wherein

P presents a performance,

R represents the request,

P/R represents the ratio,

Pi represents a performance with the accelerator,

pi represents a software performance, and

δ F and δ S represent delta functions.

6 . A non-transitory computer readable medium storing a program stored in a recording medium, wherein execution of the program causes a computer to execute operations comprising:

acquiring a request to offload a certain process of a first application of applications to an accelerator for each of the applications in a server, and configurations of the accelerator and the first application in the server;

determining, by referring to information of the request acquired and the configurations acquired of the server, a ratio of processing performance to the request, and optimizing allocation of the accelerator based on a capacity condition of the accelerator, so that variance of the ratio between the applications is equal to or less than a predetermined threshold; and

determining a configuration suggestion for the server by using an arithmetic result and a predetermined policy, and commanding the server to execute the configuration suggestion, wherein the configuration suggestion comprises rewriting the certain process of the first application in the accelerator into a process of a second application, wherein an accelerator allocation of the first application is greater than an accelerator allocation of the second application,

wherein determining the ratio comprises performing arithmetic of the ratio in accordance with Equation (2) below,

( P/R ) t =(Σ j P i δ ij F +Σ j p i δ ij S )/ R i (2)

δ ij F IS 1 IF THE APL i USING AN ACCELERATOR IS PRESENT ON

THE SERVER j, OR 0 IF NOT PRESENT

δ ij S IS 1 IF THE APL i NOT USING AN ACCELERATOR IS PRESENT

ON THE SERVER j, OR 0 IF NOT PRESENT

wherein

P presents a performance,

R represents the request,

P/R represents the ratio,

Pi represents a performance with the accelerator,

pi represents a software performance, and

δ F and δ S represent delta functions.

Assignments (2)
CHANGE OF NAME Recorded Aug 14, 2025
From: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
To: NTT, INC.
Reel/Frame 072412/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: OTANI, IKUO; HORIKOME, NORITAKA
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 063466/0510 →
Continuity (1)
Related Publication 20220358263A1 · Nov 10, 2022
References Cited (4)
US 20110282832A1 · Rishel · 2011 [cited by examiner]
KR 1020050002608 · 2005 [cited by examiner]
Au, “Intel FPGAs Accelerate Artificial Intelligence for Deep Learning in Microsoft's Bing Intelligent Search (Editorial),” Intel Corporation Internews Room, dated Mar. 27, 2018, retrieved from URL <https://newsroom.inte… [cited by applicant]
Tanisho, “Efforts to develop SmartNIC firmware using P4/C,” Okinawa Open Days 2017, dated Dec. 4, 2017, retrieved from URL <https://www.okinawaopenlabs.com/ood/2017/wp-content/uploads/sites/4/2017/12/fujitsu_3.pdf>, 49 … [cited by applicant]