Parallel computing system, method and architecture
First Claim
1. A method for parallelizing an application, comprising the steps of:
- providing a plurality of adapters each affording a specific type of processing algorithm;
at successive portions in an application, identifying an adapter appropriate for parallelizing that portion of the application;
associating the identified adapter with the portion;
generating a code segment which represents the functionality of for each identified portion and which includes a call to a client-server library;
including a call to the client-server library in the application which, at run-time, launches said codes segment from a main entry point in each respective code segment in lieu of executing the portion.
7 Assignments
0 Petitions
Accused Products
Abstract
A parallel or computing system and method make use of a plurality of adapters each affording a specific type of processing algorithm. At each point in an application, an adapter is identified, to parallelize that portion of the application. The process involves associating an appropriate adapter with the application portion, parsing the application portion to define tasks that may be distributed over the available computers. Combined with the parallelized program is a software server that is designed to cooperate with the adapters to control and supervise distributed processing functions. Such functions include mapping, load balancing, and error detection and correction. Also included are functions that cause the results of the computing to be coordinated in real-time and returned appropriately, according to the application. In addition to the parallelized program and server, an application created by the present invention is provided with the functionality of virtual middleware, which interfaces with and controls existing forms of middleware.
122 Citations
19 Claims
-
1. A method for parallelizing an application, comprising the steps of:
-
providing a plurality of adapters each affording a specific type of processing algorithm;
at successive portions in an application, identifying an adapter appropriate for parallelizing that portion of the application;
associating the identified adapter with the portion;
generating a code segment which represents the functionality of for each identified portion and which includes a call to a client-server library;
including a call to the client-server library in the application which, at run-time, launches said codes segment from a main entry point in each respective code segment in lieu of executing the portion. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for running a parallelized application in which a pool of work is to be performed, comprising the steps of:
-
using a master server that operates in a master mode, instantiating a stateless server which contains a first object including a code segment suitable for processing work from the pool;
dispatching from the master server to the stateless server a first portion of work from the pool;
reporting to the master server a progress of the first portion of work dispatched to the stateless server; and
distributing additional portions of work from the master server to the stateless server once a prescribed amount of work progress has been reported by the stateless server. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for running a parallelized application, comprising the steps of:
-
obtaining a portion of an application at a first server, the portion containing an algorithm to process and an interface to a crosscaller;
executing the portion at the first server in a master mode;
calling the interface to obtain global data for use as an input to the algorithm executing at the server;
replicating the portion from the first server to at least one other resource; and
permitting the replicated portion to dynamically select whether to operate in a master or slave mode. - View Dependent Claims (19)
-
Specification