IP Library › Granted Patent US 10,824,469
Granted Patent B2
US 10,824,469 · App. 16/202,132 · Granted Nov 3, 2020

Reordering avoidance for flows during transition between slow-path handling and fast-path handling

Inventors: Eitan Hirshberg (Pardes Hana-Karkur, IL); Ariel Shahar (Jerusalem, IL); Najeeb Darawshy (Iksal, IL); Omri Kahalon (Haifa, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
G06F9/4887G06F9/3005G06F9/3851G06F9/3855G06F9/3857
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 10,824,469
App. No.
16/202,132
Granted
Nov 3, 2020
Kind
B2
Abstract

A computer system includes one or more processors, one or more hardware accelerators, and control circuitry. The processors are configured to run software that executes tasks in a normal mode. The accelerators are configured to execute the tasks in an accelerated mode. The control circuitry is configured to receive one or more flows of tasks for execution by the processors and the accelerators, assign one or more initial tasks of each flow for execution by the processors, assign subsequent tasks of each flow for execution by the accelerators, and verify, for each flow, that the accelerators do not execute the subsequent tasks of the flow until the processors have fully executed the initial tasks of the flow.

Claims (17)

1. A computer system, comprising:

one or more processors, which are configured to run software that executes tasks in a normal mode;

one or more hardware accelerators, which are configured to execute the tasks in an accelerated mode; and

control circuitry, which is configured to:

receive one or more flows of the tasks for execution by the processors and the accelerators;

assign one or more initial tasks of each flow for execution by the processors, and assign subsequent tasks of each flow for execution by the accelerators; and

verify, for each flow, that the accelerators do not execute the subsequent tasks of the flow until the processors have fully executed the initial tasks of the flow.

2. The computer system according to claim 1 , wherein the control circuitry is configured to assign ID codes to the tasks, and to verify, for each flow, that the accelerators do not execute the subsequent tasks until the processors have fully executed the initial tasks, by comparing a most-recently assigned task ID to the IDs of one or more of the tasks executed in the Normal Mode.

3. The computer system according to claim 1 , wherein the tasks comprise classification tasks of packet headers.

4. The computer system according to claim 1 , wherein the processors are configured to generate and send to the accelerators a rule upon executing the initial tasks of a given flow, and wherein the accelerators are configured to execute the subsequent tasks of the given flow in accordance with the rule.

5. A Method, comprising:

in a computer system having one or more processors that execute tasks in normal mode, one or more hardware accelerators that execute tasks in accelerated mode, and control circuity, receiving one or more flows of the tasks for execution by the processors and the accelerators;

assigning one or more initial tasks of each flow for execution by the processors, and assigning subsequent tasks of each flow for execution by the accelerators; and

verifying, for each flow, that the accelerators do not execute the subsequent tasks of the flow until the processors have fully executed the initial tasks of the flow.

6. The method according to claim 5 , wherein verifying that the accelerators do not execute the subsequent tasks until the processors have fully executed the initial tasks comprises assigning ID codes to the tasks, and, for each flow, comparing a most-recently assigned task ID to the IDs of one or more of the tasks executed in the Normal Mode.

7. The method according to claim 5 , wherein executing tasks comprises executing packet header classification tasks.

8. The method according to claim 5 , further comprising generating a rule upon executing the initial tasks of a given flow, and executing of subsequent tasks, by the accelerators, in accordance with the rule.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2018
From: HIRSHBERG, EITAN; SHAHAR, ARIEL; DARAWSHY, NAJEEB; KAHALON, OMRI
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 047597/0744 →
Continuity (1)
Related Publication 20200167192A1 · May 28, 2020
Cited By (3)
US 12,452,219 US 12,547,543 US 12,719,843