IP Library Granted Patent US 8,954,700
Granted Patent B2
US 8,954,700 · App. 13/565,749 · Granted Feb 10, 2015

Method and apparatus for managing processing thread migration between clusters within a processor

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,954,700
App. No.
13/565,749
Granted
Feb 10, 2015
Kind
B2
Abstract

A method, and corresponding apparatus, of managing processing thread migrations within a plurality of memory clusters, includes embedding, in memory components of the plurality of memory clusters, instructions indicative of processing thread migrations; storing, in one or more memory components of a particular memory cluster among the plurality of memory clusters, data configured to designate the particular memory cluster as a sink memory cluster, the sink memory cluster preventing an incoming migrated processing thread from migrating out of the sink memory cluster; and processing one or more processing threads, in one or more of the plurality of memory clusters, in accordance with at least one of the embedded migration instructions and the data stored in the one or more memory components of the sink memory cluster.

Claims (17)

1. A method of managing processing thread migrations within a plurality of memory clusters, the method comprising:

embedding, in memory components of the plurality of memory clusters, instructions indicative of processing thread migrations wherein the instructions indicative of processing thread migrations include instructions preventing migrating a processing thread to a memory cluster from which the processing thread migrated previously;

storing, in one or more memory components of a particular memory cluster among the plurality of memory clusters, data configured to designate the particular memory cluster as a sink memory cluster, the sink memory cluster preventing an incoming migrated processing thread from migrating out of the sink memory cluster; and

processing one or more processing threads, in one or more of the plurality of memory clusters, in accordance with at least one of the embedded migration instructions and the data stored in the one or more memory components of the sink memory cluster.

2. A method according to claim 1 , wherein the one or more processing threads include at least one tree search thread.

3. A method according to claim 1 , wherein the one or more processing threads include at least one bucket search thread.

4. A method according to claim 1 , wherein the instructions indicative of processing thread migrations include instructions to cause migrated processing threads to be migrated out to a sink memory cluster or a memory cluster in a path to a sink memory cluster, a path to a sink memory cluster is a sequence of memory clusters representing a migration flow path and ending with the sink memory cluster.

5. A method according to claim 1 , wherein in each of the plurality of memory clusters at least one processing engine is reserved to handle migrating processing threads.

6. An apparatus of managing processing thread migrations within a plurality of memory clusters, the apparatus comprising:

one or more processors configured to:

cause embedding, in memory components of the plurality of memory clusters, of instructions indicative of processing thread migrations wherein the instructions indicative of processing thread migrations include instructions preventing migrating a processing thread to a memory cluster from which the processing thread migrated previously;

cause storing, in one or more memory components of a particular memory cluster among the plurality of memory clusters, of data configured to designate the particular memory cluster as a sink memory cluster, the sink memory cluster preventing an incoming migrated processing thread from migrating out of the sink memory cluster; and

process one or more processing threads, in one or more of the plurality of memory clusters, in accordance with at least one of the embedded migration instructions and the data stored in the one or more memory components of the sink memory cluster.

7. An apparatus according to claim 6 , wherein the one or more processing threads include at least one tree search thread.

8. An apparatus according to claim 6 , wherein the one or more processing threads include at least one bucket search thread.

9. An apparatus according to claim 6 , wherein the instructions indicative of processing thread migrations include instructions to cause migrated processing threads to be migrated out to a sink memory cluster or a memory cluster in a path to a sink memory cluster, the path to a sink memory cluster being a sequence of memory clusters representing a migration flow path and ending with the sink memory cluster.

10. An apparatus according to claim 6 , wherein in each of the plurality of memory clusters at least one processing engine is reserved to handle migrating processing threads.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CERTIFICATE OF CONVERSION AND CERTIFICATE OF FORMATION Recorded Oct 2, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047185/0422 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2012
From: ANSARI, NAJEEB I.; BOUCHARD, GREGG A.; GOYAL, RAJAN; PANGBORN, JEFFREY A.; BILLA, SATYANARAYANA LAKSHMIPATHI
To: CAVIUM, INC.
Reel/Frame 029182/0827 →