Method for optimizing communication speed between processors
First Claim
1. A method of distributing a plurality of portions of a numerical problem to be solved among a corresponding plurality of computer processors for optimizing the speed of communication of data between the computer processors when solving the numerical problem, the computer processors being connected together in a network connection, the method comprising the steps of:
- identifying a plurality of characteristics of the network connection, each of the identified plurality of characteristics of the network connection being related to a speed of communication of data between any two of the plurality of computer processors connected together in the network connection; and
assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the plurality of computer processors, wherein the step of assigning assigns each one of the plurality of portions of the numerical problem to a corresponding at least one of the plurality of computer processors based on the speed of communication of data between the plurality of computer processors connected together in the network connection;
wherein the step of assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors further comprises the steps of;
iteratively assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors; and
determining an existence of an optimum condition regarding the speed of communication of data among the plurality of computer processors; and
wherein the step of iteratively assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors until the optimum arrangement condition is determined to exist, further comprises the steps of;
randomly assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors;
determining whether the optimum speed exists; and
if the optimum speed condition does not exist then iteratively assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors until the optimum speed condition is determined to exist.
5 Assignments
0 Petitions
Accused Products
Abstract
A method is disclosed for selecting from among a plurality of computer processors connected together to distribute portions of an overall numerical problem to be solved among the processors to optimize the speed of communication between the processors in solving the overall problem. The method utilizes various factors in determining the selection, including whether any of the processors are located within the same computer or workstation, whether any of the processors share a network switch, whether any of the processors are located on the same sub-network, the speed of the individual network connections, and any user-configurable groupings of the processors. Also considered are the known communication requirements of the problem to be solved. A simulated annealing algorithm is then used to determine the optimal arrangement of the processors in solving the problem.
94 Citations
12 Claims
-
1. A method of distributing a plurality of portions of a numerical problem to be solved among a corresponding plurality of computer processors for optimizing the speed of communication of data between the computer processors when solving the numerical problem, the computer processors being connected together in a network connection, the method comprising the steps of:
-
identifying a plurality of characteristics of the network connection, each of the identified plurality of characteristics of the network connection being related to a speed of communication of data between any two of the plurality of computer processors connected together in the network connection; and
assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the plurality of computer processors, wherein the step of assigning assigns each one of the plurality of portions of the numerical problem to a corresponding at least one of the plurality of computer processors based on the speed of communication of data between the plurality of computer processors connected together in the network connection;
wherein the step of assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors further comprises the steps of;
iteratively assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors; and
determining an existence of an optimum condition regarding the speed of communication of data among the plurality of computer processors; and
wherein the step of iteratively assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors until the optimum arrangement condition is determined to exist, further comprises the steps of;
randomly assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors;
determining whether the optimum speed exists; and
if the optimum speed condition does not exist then iteratively assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the computer processors until the optimum speed condition is determined to exist. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
calculating a value of a cost function that is a function of the plurality of characteristics of the network connection; and
determining when the calculated value of the cost function has stopped decreasing so as to indicate a determination of the existence of the optimum speed condition.
-
-
9. The method of claim 1, wherein the step of assigning each one of the plurality of portions of the numerical problem to a corresponding at least one of the plurality of computer processors further comprises a simulated annealing process.
-
10. The method of claim 1, further comprising the step of identifying at least one communication requirement of at least one of the portions of the numerical problem to be solved.
-
11. The method of claim 10, wherein the step of identifying at least one communication requirement of at least one of the portions of the numerical problem to be solved further includes the step of determining an existence of any communication of data between any two of the plurality of computer processors connected in the network connection.
-
12. The method of claim 10, wherein the step of identifying at least one communication requirement of at least one of the portions of the numerical problem to be solved further includes the step of determining an amount of any communication of data between any two of the plurality of computer processors connected in the network connection.
Specification