US 7,478,376 B2
Computer program code size partitioning method for multiple memory multi-processing systems
Kathryn M. O'Brien, South Salem, N.Y. (US); and John Kevin Patrick O'Brien, South Salem, N.Y. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Dec. 02, 2004, as Appl. No. 11/2,552.
Prior Publication US 2006/0123404 A1, Jun. 08, 2006
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/45 (2006.01); G06F 9/46 (2006.01)
U.S. Cl. 717—149  [717/159; 718/106] 1 Claim
OG exemplary drawing
 
1. A method for computer program code size partitioning for multiple memory multi-processor systems, comprising:
identifying at least one system parameter of a computer system comprising one or more disparate processing nodes;
receiving computer program code comprising a program to be run on the computer system;
generating a program representation based on received computer program code;
identifying at least one single-entry-single-exit (SESE) region based on the whole program representation;
identifying at least one store-size-specific SESE region based on identified SESE regions and the at least one system parameter, thereby forming a specified node;
identifying SESE regions proximate to the identified store-size-specific SESE region based on an ability of the specified node to process the identified proximate SESE regions, wherein the identified proximate SESE regions are grouped with identified store-size-specific SESE regions and are configured to be compiled for the specified node;
presenting the identified store-size-specific SESE regions and the identified proximate SESE regions to a user;
receiving user input from the user as to a grouping that should be used for the identified store-size-specific SESE regions and the identified proximate SESE regions;
grouping each store-size-specific SESE region with at least one proximate SESE region into a node-specific subroutine based on the user input;
modifying the non node-specific parts of the computer program code based on the node-specific subroutines; and
compiling the modified computer program code including each node-specific subroutine based on a specified node characteristic.