System and method for creating a virtual supercomputer using computers working collaboratively in parallel and uses for the same
First Claim
Patent Images
1. A method for solving a computationally intensive problem using a plurality of multipurpose computer workstations, said method comprising the steps of:
- (a) building a virtual supercomputer comprising a master computer and at least one slave computer, wherein the at least one slave computer is selected from the plurality of multipurpose computer workstations;
(b) starting a master application on the master computer;
(c) starting a slave application on the at least one slave computer;
(d) dividing the computationally intensive problem into a plurality of task quantum;
(e) assigning to the at least one slave computer at least one task quanta selected from the plurality of task quantum;
(f) completing on the at least one slave computer the at least one task quanta;
(g) receiving on the master computer a result provided by the at least one slave computer; and
(h) repeating steps (e) through (g) until the computationally intensive task is solved.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for solving a computationally intensive problem using a virtual supercomputer comprising a plurality of multipurpose workstations. The virtual supercomputer and application software for solving the computationally intensive problem are adapted for minimum impact on the multipurpose workstations which may be used for performing other tasks as needed by primary users. The computationally intensive problem is solved by the virtual supercomputer using any excess computational resources available on the multipurpose workstations.
122 Citations
72 Claims
-
1. A method for solving a computationally intensive problem using a plurality of multipurpose computer workstations, said method comprising the steps of:
-
(a) building a virtual supercomputer comprising a master computer and at least one slave computer, wherein the at least one slave computer is selected from the plurality of multipurpose computer workstations;
(b) starting a master application on the master computer;
(c) starting a slave application on the at least one slave computer;
(d) dividing the computationally intensive problem into a plurality of task quantum;
(e) assigning to the at least one slave computer at least one task quanta selected from the plurality of task quantum;
(f) completing on the at least one slave computer the at least one task quanta;
(g) receiving on the master computer a result provided by the at least one slave computer; and
(h) repeating steps (e) through (g) until the computationally intensive task is solved. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method of building a virtual supercomputer comprising a master computer and at least one slave computer selected from a plurality of multipurpose workstations, said method comprising the steps of:
-
(a) starting a first virtual supercomputer daemon on the master computer;
(b) identifying a potential slave computer selected from the plurality of multipurpose workstations;
(c) starting a second virtual supercomputer daemon on the potential slave computer;
(d) establishing a communications session between the first virtual supercomputer daemon and the second virtual supercomputer daemon;
(e) starting the slave application on the potential slave computer;
(f) testing the slave application on the potential slave computer; and
(g) making the potential slave computer the at least one slave computer in the virtual supercomputer if the testing of the slave application is successful. - View Dependent Claims (32, 33, 34, 35, 37, 38, 39, 40, 41)
-
-
36. A method for dynamically reconfiguring a virtual supercomputer while the virtual supercomputer is solving a computationally intensive problem, said method comprising the steps of:
-
(a) detecting an event affecting a size of the virtual supercomputer;
(b) reassigning a task quantum from a failed slave computer to at least one slave computer in the virtual supercomputer if the event is a slave failure event; and
(c) retrieving a task quantum from at least one slave computer in the virtual supercomputer and assigning the retrieved task quantum to a new slave computer if the event is a newly available slave event.
-
-
42. A method for solving a computationally intensive problem using a plurality of multipurpose computer workstations, said method comprising the steps of:
-
(a) building a virtual supercomputer comprising a master computer and at least one slave computer, wherein the slave computer is selected from the plurality of multipurpose computer workstations;
(b) distributing a plurality of data sets to the at least one slave computer;
(c) balancing an initial load distribution on the virtual supercomputer;
(d) assigning initial computational tasks to the at least one slave computer;
(e) initiating computations on the at least one slave computer;
(f) receiving a first set of results from the at least one slave computer;
(g) adding an additional slave computer to the virtual supercomputer if a workstation selected from the plurality of multipurpose workstations becomes available;
(h) removing a slave computer from the virtual supercomputer if the slave computer becomes unavailable; and
(i) distributing the first set of results and additional data sets to the at least one slave computer until the computationally intensive problem has been solved. - View Dependent Claims (43)
-
-
44. A method for incorporating a new member computer into a virtual supercomputer solving a computationally intensive problem, said method comprising the steps of:
-
(a) sending a first messages from the new member computer to a master computer in the virtual supercomputer, said first message comprising an availability status for the new member computer;
(b) starting a virtual supercomputer daemon on the new member computer;
(c) starting a slave application on the new member computer;
(d) performing a self-test of the slave application on the new computer;
(e) sending a second message from the new member computer to the master computer, said second message comprising a performance statistic report;
(f) receiving a data set on the new member computer;
(g) receiving a task on the new member computer, said task comprising computational instructions for solving a portion of the computationally intensive problem; and
(h) completing the task on the new member computer. - View Dependent Claims (45, 46, 48, 49, 50)
-
-
47. A method for dynamically adding a new member computer to a virtual supercomputer while the virtual supercomputer is solving a computationally intensive problem, said method comprising the steps of:
-
(a) detecting the availability of the new member computer;
(b) providing a virtual supercomputer daemon to the new member computer;
(c) instructing the new member computer to start the virtual supercomputer daemon;
(d) providing a slave application to the new member computer;
(e) instructing the new member computer to start the slave application;
(f) redistributing a computational load on the virtual supercomputer; and
(g) performing computational tasks on the virtual supercomputer.
-
-
51. A method for dynamically processing a slave application failure on a member computer in a virtual supercomputer while the virtual supercomputer is solving a computationally intensive problem, said method comprising the steps of:
-
(a) detecting the slave application failure;
(b) instructing the member computer to restart the slave application;
(c) providing an initial data set to the member computer;
(d) instructing the member computer to perform a self-test using the initial data set;
(e) instructing the member computer to continue performing computational tasks for a previously assigned task quanta. - View Dependent Claims (52, 53)
-
-
54. A method for dynamically processing a termination of a virtual supercomputer daemon on a member computer in a virtual supercomputer while the virtual supercomputer is solving a computationally intensive problem, said method comprising the steps of:
-
(a) detecting the termination of the virtual supercomputer daemon;
(b) instructing the member computer to restart the virtual supercomputer daemon;
(c) instructing the member computer to restart the slave application;
(d) providing an initial data set to the member computer;
(e) instructing the member computer to perform a self-test using the initial data set;
(f) instructing the member computer to continue performing computational tasks for a previously assigned task quanta. - View Dependent Claims (55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
-
-
57. A system for solving a computationally intensive problem using a virtual supercomputer, said system comprising:
-
(a) a virtual supercomputer comprising a master computer in communication with at least one slave computer;
(b) a master application running on the master computer; and
(c) a slave application running on the at least one slave computer;
wherein the master application divides the computationally intensive task into a plurality of task quantum and distributes a subset of the plurality of task quantum to the at least one slave computer, and wherein the slave application performs computations on the subset as directed by the master computer.
-
Specification