Mark N. Wegman - Ossining NY Tova Roth - Woodmere NY Douglas N. Kimelman - Yorktown Heights NY Karin Hogstedt - Chester NJ
Assignee:
International Business Machines Corp. - Armonk NY
International Classification:
G06F 15163
US Classification:
719310, 716 7
Abstract:
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. Then, dominant edges are identified within the communication graph. For any non-terminal node, a connected edge is dominant if it is at least as heavy (its weight is greater than or equal to) as the sum of the remaining non-terminal edges and the heaviest of the remaining terminal edges.
Machine Cut Task Identification For Efficient Partition And Distribution
Douglas N. Kimelman - Yorktown Heights NY Tova Roth - Woodmere NY Mark N. Wegman - Ossining NY Karin Hogstedt - Chester NJ
Assignee:
International Business Machines Corp. - Armonk NY
International Classification:
G06F 946
US Classification:
718100, 718102, 718104
Abstract:
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.
Net Zeroing For Efficient Partition And Distribution
Tova Roth - Woodmere NY, US Douglas N. Kimelman - Yorktown Heights NY, US Mark N. Wegman - Ossining NY, US Karin Hogstedt - Chester NJ, US
Assignee:
International Business Machines Corp. - Armonk NY
International Classification:
G06F009/46 G06F015/173
US Classification:
718100, 718102, 709226, 719310
Abstract:
The present invention is 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 ones of the multiple computers are attached to the communication graph. Independent nets may be separated out of the communication graph. For each net, non-terminal nodes adjacent to all of terminal nodes on the net and connected to the net by non-zero weighted edges are identified For each identified non-terminal node, the smallest weight for any terminal edge is identified and the weight of each terminal edge is reduced by the value of that smallest weight, the weight of terminal edges having the smallest weight being reduced to zero.
Independent Net Task Identification For Efficient Partition And Distribution
Douglas N. Kimelman - Yorktown Heights NY, US Tova Roth - Woodmere NY, US Mark N. Wegman - Ossining NY, US Karin Hogstedt - Chester NJ, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 9/46
US Classification:
718100, 718102, 718104
Abstract:
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. Then, the communication graph is divided into independent nets and a min cut is found for each independent net. The min cut for the communication graph is the combination of the min cuts for all of the independent nets.
Problem Determination Method, System And Program Product
John R. Hind - Raleigh NC, US Douglas N. Kimelman - Hawthorne NY, US Vincent J. Kruskal - Harrison NY, US Harold L. Ossher - South Salem NY, US Bala Rajaraman - Cary NC, US Tova Roth - Woodmere NY, US Brad B. Topol - Raleigh NC, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 17/00
US Classification:
707101, 707103 Y, 717118
Abstract:
A problem determination method, system and program product are provided. Specifically, the present invention identifies problems with software programs by inserting compiled problem determination probes into program classes while the computer system on which the program is loaded is running. Once the probes have been inserted, the classes will be run and trace data will be generated. The trace data can be retrieved and analyzed to identify and address the problem. When the probes are no longer needed, they can be removed while the computer system continues to run.
Minimizing Interaction Costs Among Components Of Computer Programs
Douglas N. Kimelman - Hawthorne NY, US Tova Roth - Woodmere NY, US Vugranam C. Sreedhar - White Plains NY, US Mark N. Wegman - Ossining NY, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 9/44 G01D 3/00
US Classification:
717130, 717141, 717151, 717153, 702108, 700 5
Abstract:
A system and method for minimizing total cost of interaction among components of a computer program which are each characterized by at least one implementation property. A implementation property may, for example, be a choice of string representation (e. g. ASCII, UNICODE, EBCDIC or choice of data structure (e. g. hash, tree, compressed). The method comprises the steps of: carrying out a run of the program; monitoring that run to measure an amount of interaction between each pair of components; determining a cost of interaction between each pair of interacting components; determining a choice of implementation properties which minimizes total cost of the run; and assigning choices of implementation properties to said components for a future run of the program.
Program Components Having Multiple Selectable Implementations
Douglas N. Kimelman - Hawthorne NY, US Tova Roth - Woodmere NY, US Vugranam C. Sreedhar - White Plains NY, US Mark N. Wegman - Ossining NY, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 9/44 G06F 9/45
US Classification:
717158, 717127, 717131, 717151
Abstract:
Libraries and individual program components are provided with a common interface and a number of alternative implementations (e. g. hash table, tree, compressed) which can be selected. The component is instrumented to measure a cost of each of its alternative implementations, both independent of and in the context of the interaction of that component with other components of the computer program. Based on measured cost, the desired implementation is chosen for the component by an external controller that is generic to the computer program or by an application program that interfaces with the library or component.
Computer System Program And Method To Characterize Each Of A Plurality Of Objects Used At Runtime To Determine A Lowest Cost Property Among A Plurality Of Potential Alternative Properties For Each Of Said Objects Minimizing Total Cost Of Interaction Among Components During Program Execution
A method is provided for characterizing objects generated during an initial run of a program, each object being characterized by a number of alternative properties which can be chosen. The method includes steps of instrumenting an initial run of program to determine characterization information about each of objects, then determining a desirable property for each object, then determining a correlation between the desirable property and the characterization information for each of the objects. This correlation is then used to select a property for an object that is subsequently created during a run of the program based only upon characterization information about the subsequently created object.