CLUSTER COMPUTING SUPPORT FOR APPLICATION PROGRAMS
First Claim
Patent Images
1. A computer cluster comprising:
- a first processor;
a second processor;
a third processor;
at least one computer-readable medium in communication with at least one of the first processor, the second processor, or the third processor;
a first kernel residing in the at least one computer-readable medium, said first kernel configured to translate commands into code for execution on the first processor;
a first cluster node module residing in the at least one computer-readable medium, said first cluster node module configured to send commands to the first kernel and receives commands from a user interface;
a second kernel residing in the at least one computer-readable medium, said second kernel configured to translate commands into code for execution on the second processor;
a second cluster node module residing in the at least one computer-readable medium, said second cluster node module configured to send commands to the second kernel and communicates with the first cluster node module;
a third kernel residing in the at least one computer-readable medium, said third kernel configured to translate commands into code for execution on the third processor; and
a third cluster node module residing in the at least one computer-readable medium, said third cluster node module configured to send commands to the third kernel and configured to communicate with the first cluster node module and the second cluster node module;
wherein the first cluster node module comprises a data structure in which messages originating from the second and third cluster node modules are stored.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
24 Claims
-
1. A computer cluster comprising:
-
a first processor; a second processor; a third processor; at least one computer-readable medium in communication with at least one of the first processor, the second processor, or the third processor; a first kernel residing in the at least one computer-readable medium, said first kernel configured to translate commands into code for execution on the first processor; a first cluster node module residing in the at least one computer-readable medium, said first cluster node module configured to send commands to the first kernel and receives commands from a user interface; a second kernel residing in the at least one computer-readable medium, said second kernel configured to translate commands into code for execution on the second processor; a second cluster node module residing in the at least one computer-readable medium, said second cluster node module configured to send commands to the second kernel and communicates with the first cluster node module; a third kernel residing in the at least one computer-readable medium, said third kernel configured to translate commands into code for execution on the third processor; and a third cluster node module residing in the at least one computer-readable medium, said third cluster node module configured to send commands to the third kernel and configured to communicate with the first cluster node module and the second cluster node module; wherein the first cluster node module comprises a data structure in which messages originating from the second and third cluster node modules are stored. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer cluster comprising:
-
a plurality of nodes, wherein each node is configured to access a computer-readable medium comprising program code for a user interface and program code for a single-node kernel module configured to interpret user instructions; a plurality of cluster node modules, wherein each cluster node module is configured to communicate with a single-node kernel and with one or more other cluster node modules, to accept instructions from the user interface, and to interpret at least some of the user instructions such that the plurality of cluster node modules communicate with one another in order to act as a cluster; and a communications network to connect the nodes; wherein one of the plurality of cluster node modules returns a result to the user interface. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method of evaluating a command on a computer cluster comprising:
-
communicating a command from at least one of a user interface or a script to one or more cluster node modules within the computer cluster; for each of the one or more cluster node modules, communicating a message based on the command to a respective kernel module associated with the cluster node module; for each of the one or more cluster node modules, receiving a result from the respective kernel module associated with the cluster node module; and for at least one of the one or more cluster node modules, responding to messages from other cluster node modules. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computing system for executing Mathematica code on multiple nodes comprising:
-
a first node module in communication with a first Mathematica kernel executing on a first node; a second node module in communication with a second Mathematica kernel executing on a second node; and a third node module in communication with a third Mathematica kernel executing on a third node; wherein the first node module, the second node module, and the third node module are configured to communicate with one another using a peer-to-peer architecture. - View Dependent Claims (20, 21, 22, 23)
-
-
24. The computing system of claim 53, wherein the operating system comprises a programming interface exposed to an application program, the programming interface being configured to allow the application program to access functionality supplied by the at least one node module.
Specification