Systems and methods for monitor distribution in a multi-core system
First Claim
Patent Images
1. A method of distributing monitoring of one or more services across a plurality of cores managing the one or more services in a multi-core system, the method comprising:
- a) establishing a configuration for monitors in a multi-core system having a plurality of cores, the configuration identifying a plurality of monitors to monitor one or more services managed by a plurality of packet processing engines operating on each of the plurality of cores;
b) identifying, by each of the plurality of packet processing engines, from the configuration a monitor name and service name for each monitor of the plurality of monitors;
c) computing, by each of the plurality of packet processing engines, for each monitor of the plurality of monitors a value based on a function of a sum of ASCII values of the monitor name and ASCII values of the service name divided by a number of the plurality of packet processing engines; and
d) determining, by each of the plurality of packet processing engines, a packet processing engine from the plurality of packet processing engines to establish the monitor for the service based on the value corresponding to an identifier of the packet processing engine.
7 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed towards systems and methods for monitoring services in a multi-core system. The systems and methods distribute the monitors for a service and the ownership of a service across the cores of the multi-core device. The greater resources of the multi-core device process the workload of the monitors for the services and the workload for monitoring the states of the services more efficiently than a single packet engine on a core.
9 Citations
18 Claims
-
1. A method of distributing monitoring of one or more services across a plurality of cores managing the one or more services in a multi-core system, the method comprising:
-
a) establishing a configuration for monitors in a multi-core system having a plurality of cores, the configuration identifying a plurality of monitors to monitor one or more services managed by a plurality of packet processing engines operating on each of the plurality of cores; b) identifying, by each of the plurality of packet processing engines, from the configuration a monitor name and service name for each monitor of the plurality of monitors; c) computing, by each of the plurality of packet processing engines, for each monitor of the plurality of monitors a value based on a function of a sum of ASCII values of the monitor name and ASCII values of the service name divided by a number of the plurality of packet processing engines; and d) determining, by each of the plurality of packet processing engines, a packet processing engine from the plurality of packet processing engines to establish the monitor for the service based on the value corresponding to an identifier of the packet processing engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 17, 18)
-
-
10. A multi-core system that distributes monitoring of one or more services across a plurality of cores managing the one or more services, the system comprising:
a plurality of cores of a device, each of the cores operating a packet processing engine, wherein the plurality of cores establishes a configuration identifying a plurality of monitors to monitor one or more services managed by a plurality of packet processing engines operating on each of the plurality of cores; and
each of the plurality of packet processing engines identifies from the configuration a monitor name and service name for each monitor of the plurality of monitors;
computes for each monitor of the plurality of monitors a value based on a function of a sum of ASCII values of the monitor name and ASCII values of the service name divided by a number of the plurality of packet processing engines; and
determines a packet processing engine from the plurality of packet processing engines to establish the monitor for the service based on the value corresponding to an identifier of the packet processing engine.- View Dependent Claims (11, 12, 13, 14, 15, 16)
Specification