Weighted processor selection apparatus and method for use in multiprocessor systems
AssigneeIntel Corporation
InventorTodd A. Schelling
Life of this patent
Estimating the term…
Abstract
A multiprocessor system includes an interconnection network, a shared resource coupled to the interconnection network and a plurality of processors coupled to each other and the shared resource via the interconnection network. The processors are programmed to associate a weighted value with each of the plurality of processors, compare the weighted values and select at least one of the processors from the plurality of processors based on the comparison of the weighted values.
Claims63
A method, comprising:
- writing to a memory location by a first processing unit a first weighted value;
- overwriting the memory location by a second processing unit with a second weighted value;
- comparing each of the first and second weighted values to the second weighted value stored in the memory location;
- and
- selecting at least one of the processing units based on the comparison of the weighted values.
A system, comprising:
- an interconnection network;
- a memory location coupled to the interconnection network;
- and
- a plurality of processing units coupled to the interconnection network, wherein, in operation, each of the processing units has a weighted value and writes the weighted value to the memory location a plurality of times prior to selecting one of the plurality of processing units;
- and wherein each of the processing units selects at least one of the processing units from the plurality of processing units based on a comparison of the weighted values.
A system, comprising:
- a computer readable medium;
- and
- computer code stored on the computer readable medium that, when executed by a processor, causes the processor to:
- write to a memory location a first weighted value corresponding to the processor to overwrite a second weighted value stored in the memory location and associated with another processor;
- compare the first weighted value of the processor with the second weighted value associated with the other processor;
- and
- select the processor if the first weighted value of the processor is better than the second weighted value.
A method comprising:
- writing a first value to a memory location via a first one of a plurality of processors based on information stored in the memory location;
- writing a second value to the memory location via a second one of the plurality of processors based on information stored in the memory location;
- comparing at least one of the first and second values to weighted values associated with the plurality of processors;
- and
- identifying one of the plurality of processors having a best weighted value.
A system, comprising:
- a plurality of processors coupled to each other via an interconnection network, wherein the processors:
- write a first value to a memory location based on information stored in the memory location;
- write a second value to the memory location at substantially the same time as the first value is written to the memory location based on information stored in the memory location;
- compare at least one of the first and second values to weighted values associated with the plurality of processors;
- and
- identify one of the plurality of processors having a best weighted value.
A computer readable medium having
- computer code stored thereon to be executed by a processor to cause the processor to write a first weighted value to a memory location based on information stored in the memory location at substantially the same time as another processor writes a second weighted value to the memory location, compare the first weighted value associated with the processor to the second weighted value associated with the other processor, and select the processor if the first weighted value is better than the second weighted value.
A method, comprising:
- prior to completion of a booting process for a system, substantially synchronizing the operation of a plurality of processors;
- writing to a memory location via a first one of the processors a first value based on information stored in the memory location, wherein the first value is associated with relative performance characteristics of the first one of the processors;
- writing to the memory location via a second one of the processors a second value based on information stored in the memory location, wherein the second value is associated with relative performance characteristics of the second one of the processors;
- and
- selecting one of the plurality of processors as a boot strap processor based on at least one of the first and second values.
A method, comprising:
- assigning a health value associated with a performance condition to each processor within a set of processors;
- and
- comparing the health values during a boot operation by repeatedly reading and writing via each of the processors to the same memory location.
A method comprising:
- following a reset operation, substantially synchronizing a plurality of processing units;
- causing each of the the processing units to contend for a memory location a plurality of times;
- and
- reading data in the memory location to select a bootstrap processing unit.
A method, comprising:
- executing instructions via a plurality of processors, each of which is selectable as a boot strap processor;
- writing a first weighted value, via a first one of the plurality of processors, to a memory location;
- writing a second weighted value, via a second one of the plurality of processors, to the memory location based on a comparison of the first weighted value and the second weighted value;
- and
- selecting one of the plurality of processors based on the comparison.
A system, comprising:
- a computer readable medium;
- and
- computer code stored on the computer readable medium that, when executed by a processor, causes the processor to:
- write a first weighted value to a memory location based on a comparison of the first weighted value to a second weighted value stored in the memory location, wherein the second weighted value is associated with another processor;
- and
- select the processor based on the comparison.
Dependencies are inferred from the claim text.