An information processing system, a computer readable storage medium, and a method for distributing an application among computing nodes in a distributed processing system. The method estimates a cost of storing information pertaining to the application on different computing nodes; estimates a cost for computing resources required to execute the application on different computing nodes; estimates a cost of inter-node communication required to execute the application on different computing nodes; and selects at least one computing node to execute the application based on minimizing a total of at least one of the cost estimates.