Selecting a master processor from an ambiguous peer group
First Claim
1. A method of electing a master processor from a plurality of processors, comprising:
- storing in a first portion of a shared memory a first unique identifier for a first processor of the plurality of processors, wherein the shared memory is accessible by the plurality of processers via a network fabric;
traversing the network fabric comprising the plurality of processors to identify a network topology, while traversing the network fabric to identify the network topology;
reading, from a second portion of the shared memory, a second unique identifier for a second processor of the plurality of processors,determining, based on one or more criteria, a nominee identifier from among the first and the second unique identifiers, andstoring the nominee identifier in a register in the first portion of the shared memory, wherein the nominee identifier is read from the register by one of the plurality of processors; and
electing the master processor that corresponds to the nominee identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed switch may include a plurality of special-purpose processors that control the different functions of the switch. To enable some special services, however, the distributed switch may need one of these processors to perform the role of a master. When a processor is powered on, the processor may publish a corresponding unique ID. Before electing the master, the special-purpose processors may use a discovery process to identify the network topology of the switch and evaluate the published IDs to determine which processor should be the master. If all the processors nominate the same master processor, then that processor is elected as the master and may finish configuring the distributed switch to enable the special services.
-
Citations
14 Claims
-
1. A method of electing a master processor from a plurality of processors, comprising:
-
storing in a first portion of a shared memory a first unique identifier for a first processor of the plurality of processors, wherein the shared memory is accessible by the plurality of processers via a network fabric; traversing the network fabric comprising the plurality of processors to identify a network topology, while traversing the network fabric to identify the network topology; reading, from a second portion of the shared memory, a second unique identifier for a second processor of the plurality of processors, determining, based on one or more criteria, a nominee identifier from among the first and the second unique identifiers, and storing the nominee identifier in a register in the first portion of the shared memory, wherein the nominee identifier is read from the register by one of the plurality of processors; and electing the master processor that corresponds to the nominee identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, comprising:
-
providing a plurality of switch modules, and each of the plurality of switch modules including a respective processor of a plurality of processors, each of the respective processors including a respective unique identifier; storing the unique identifiers in respective registers of the plurality of switch modules, wherein the registers are accessible by any of the plurality of processers via a network fabric; traversing the network fabric with each of the plurality of processors to identify a network topology by identifying the plurality of switch modules; nominating a candidate master processor at each of the plurality of processors by reading with each of the plurality of processors the unique identifiers stored within the registers of the plurality of switch modules when traversing the network fabric; and electing a master processor based on a consensus of the candidate master processors. - View Dependent Claims (13, 14)
-
Specification