Machine cut task identification for efficient partition and distribution

   
   

A task management system, method and computer program product for determining optimal placement of task components on multiple machines for task execution, particularly for placing program components on multiple computers for distributed processing. First, a communication graph is generated representative of the computer program with each program unit (e.g., an object) represented as a node in the graph. Nodes are connected to other nodes by edges representative of communication between connected nodes. A weight is applied to each edge, the weight being a measure of the level of communication between the connected edges. Terminal nodes representative of the multiple computers are attached to the communication graph. Independent nets may be separated out of the communication graph. A cut is made at each terminal node and the weights of the cut edges are summed. The second heaviest terminal is identified from the cut and edges connected to at least one internal node and not connected to the second heaviest edge are compared against the weight of the second heaviest edge. Any edge found in the comparison to be at least as heavy as the second heaviest terminal node need not be included in the min cut for the communication graph and so, is removed from consideration for the final min cut solution. Finally, program components which may be a single program unit or an aggregate of units are placed on computers according to the communication graph min cut solution.

Un prodotto del sistema di amministrazione di operazione, di metodo e di programma destinato all'elaboratore per la determinazione della disposizione ottimale dei componenti di operazione sulle macchine multiple per l'esecuzione di operazione, specialmente per la disposizione dei componenti di programma sui calcolatori multipli per elaborazione distribuita. In primo luogo, un grafico di comunicazione è rappresentante generato del programma destinato all'elaboratore con ogni unità di programma (per esempio, un oggetto) rappresentata come nodo nel grafico. I nodi sono collegati ad altri nodi dal rappresentante dei bordi della comunicazione fra i nodi collegati. Un peso è applicato ad ogni bordo, il peso che è una misura del livello della comunicazione fra i bordi collegati. Il rappresentante terminale di nodi dei calcolatori multipli è fissato al grafico di comunicazione. Le reti indipendenti possono essere separate dal grafico di comunicazione. Un taglio è fatto ad ogni nodo terminale ed i pesi dei bordi del taglio sono sommati. Il secondo terminale più pesante è identificato dal taglio ed i bordi collegati almeno ad un nodo interno e non collegati al secondo bordo più pesante sono confrontati contro il peso del secondo bordo più pesante. Tutto il bordo ha trovato nel confronto per essere almeno pesante come il secondo nodo terminale più pesante non deve essere incluso nei verbali tagliati per il grafico di comunicazione e così, è rimosso da considerazione per la soluzione finale del taglio di minuto. Per concludere, i componenti di programma che possono essere una singola unità di programma o un complesso delle unità sono disposti sui calcolatori secondo il grafico che di comunicazione il minuto ha tagliato la soluzione.

 
Web www.patentalert.com

< Virtual machine with reinitialization

< Thermal conditioning for integrated circuit testing

> Image editing via grid elements

> Method and apparatus for creating a glossary of terms

~ 00144