1. A computer implemented method for optimizing a query on a parallel computer system comprising the steps of: receiving a query to a database; optimizing the query by generating an execution plan that includes using a network of a plurality of independent networks to execute the query; initiating the query execution; monitoring the query execution; monitoring the plurality of independent networks and recording information about network utilization for the plurality of independent networks in a network file; detecting a network failure based on the information in the network file indicating a network resource is below a threshold; and in response to the detected network failure, optimizing to re-optimize the query by generating an alternate execution plan for the query to use a different independent network to execute the query where the different independent network is selected by the query optimizer based on the information in the network file; wherein the network file comprises: network ID, a timestamp; current utilization, future utilization, availability, latency, and retransmits.