Automatic cluster node discovery and configuration
A computer cluster system comprising a plurality of nodes and a software package comprising a user interface and a kernel for interpreting program code instructions is provided. In one embodiment, a cluster node module is configured to communicate with the kernel and other cluster node modules. The cluster node module accepts instructions from the user interface and interprets at least some of the instructions such that several cluster node modules in communication with one another and with a kernel can act as a computer cluster.
1. A cluster configuration utility comprising:
a computer-readable medium encoded with instructions executable by a processor, the instructions configured to:
locate one or more computers having discoverable network services, wherein the one or more computers are connected to a communications network;
identify one or more processors within the one or more located computers on which a kernel module can run;
cause at least one cluster node module to be copied to each of the one or more computers having an identified processor on which the kernel module can run; and
launch the cluster node modules on each of the identified one or more processors;
wherein each of the cluster node modules is configured to connect to a local kernel module associated with an identified processor.
2. The cluster configuration utility of claim 1 , wherein each of the cluster node modules is configured to connect with the local kernel module via connection tools built into the local kernel module.
3. The cluster configuration utility of claim 2 , wherein the connection tools comprise MathLink connection tools.
4. The cluster configuration utility of claim 1 , wherein each of the cluster node modules is further configured to communicate with each of the other cluster node modules over the communications network.
5. The cluster configuration utility of claim 1 , wherein at least one of the cluster node modules is integrated into an operating system.
6. The cluster configuration utility of claim 1 , wherein the kernel module comprises a Mathematica kernel.
7. The cluster configuration utility of claim 1 , wherein the cluster configuration utility automatically creates a computer cluster configured to execute Mathematica commands on multiple processors.
8. A method for configuring a computer cluster, the method comprising:
locating one or more computers having discoverable network services, the one or more computers connected to a communications network;
identifying one or more processors within the one or more located computers on which a kernel module can run;
copying at least one cluster node module to each of the one or more computers having an identified processor on which the kernel module can run; and
launching the cluster node modules on each of the identified one or more processors;
wherein each of the cluster node modules is configured to connect to a local kernel module associated with an identified processor.
9. The method of claim 8 , wherein each of the cluster node modules is configured to connect with the local kernel module via connection tools built into the local kernel module.
10. The method of claim 9 , wherein the connection tools comprise MathLink connection tools.
11. The cluster configuration utility of claim 8 , wherein each of the cluster node modules is further configured to communicate with each of the other cluster node modules over the communications network.
12. The method of claim 8 , wherein at least one of the cluster node modules is integrated into an operating system.
13. The method of claim 8 , wherein the kernel module comprises a Mathematica kernel.
14. The method of claim 8 , wherein the method automatically creates a computer cluster configured to execute Mathematica commands on multiple processors.