Patent ID: 8418181

Claim:
A computer-implemented method for managing execution of programs, the method comprising: receiving, by one or more computing systems configured to provide a program execution service, configuration information regarding using indicated input data as part of executing an indicated program in a distributed manner on a computing node cluster; selecting, by the one or more configured computing systems, multiple computing nodes for the computing node cluster, the selected multiple computing nodes including one or more candidate computing nodes of a program execution service that are each identified as locally storing at least some of the indicated input data prior to the receiving of the configuration information, the selected multiple computing nodes further including an additional computing node that does not locally store the indicated input data; providing at least a portion of the indicated input data to the additional computing node by attaching, to the additional computing node, a non-local data storage volume that includes the at least portion of the indicated input data and that is provided by a remote storage service; and initiating, by the one or more configured computing systems, the executing of the indicated program on the selected multiple computing nodes of the computing node cluster by, for each of the candidate computing nodes, initiating use of the at least some indicated input data that is locally stored on the candidate computing node and by, for the additional computing node, initiating use of the at least portion of the indicated input data included in the attached non-local data storage volume.