SYSTEMS AND METHODS FOR DISTRIBUTED HASH TABLE IN A MULTI-CORE SYSTEM
First Claim
1. A method of maintaining resource information via a distributed table for resources established by a plurality of packet engines, each packet engine executing on a respective core in a multi-core system, the method comprising:
- a) establishing, by a multi-core system, a table comprising a plurality of partitions, each partition of the plurality of partitions assigned to a respective core of a plurality of cores of the multi-core device;
b) storing, by a first packet engine of a first core of the plurality of cores, resource information for resources established by the first packet engine to a first partition of the plurality of partitions, and storing, by a second packet engine of a second core of the plurality of cores, resource information established by the second core to a second partition of the plurality of partitions;
c) receiving, by the first packet engine of the first core, a request identifying a first resource; and
d) determining, by the first packet engine of first core, that the first resource is stored in a partition other than the first partition.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed towards systems and methods for using a distributed hash table to maintain the same configuration and resource persistency across a plurality of cores in a multi-core system. The distributed hash table includes a plurality of partitions, each partition being owned by a respective core of the multi-core system. A core may establish resources in the partition it owns. A core may request other cores to establish resources in the partitions they own and send resource information to the core. The core may locally cache the resource information.
-
Citations
26 Claims
-
1. A method of maintaining resource information via a distributed table for resources established by a plurality of packet engines, each packet engine executing on a respective core in a multi-core system, the method comprising:
-
a) establishing, by a multi-core system, a table comprising a plurality of partitions, each partition of the plurality of partitions assigned to a respective core of a plurality of cores of the multi-core device; b) storing, by a first packet engine of a first core of the plurality of cores, resource information for resources established by the first packet engine to a first partition of the plurality of partitions, and storing, by a second packet engine of a second core of the plurality of cores, resource information established by the second core to a second partition of the plurality of partitions; c) receiving, by the first packet engine of the first core, a request identifying a first resource; and d) determining, by the first packet engine of first core, that the first resource is stored in a partition other than the first partition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system of maintaining resource information via a distributed partition table for resources established by a plurality of packet engines, each packet engine executing on a respective core in a multi-core system, the system comprising:
-
a partition table established by a multi-core system, the partition table comprising a plurality of partitions, each partition being assigned to a respective core of the multi-core system; a first packet engine executing on a first core of the multi-core system that stores information for resources established by the first packet engine to a first partition in the partition table, receives a request identifying a first resource, determines that the first resource is not stored in the first partition, and identifies a second partition that stores the first resource; and a second packet engine of a second core of the multi-core system that stores information for resources established by the second packet engine to the second partition in the partition table. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification