1. A computer system for placing message transformations on broker machines to improve end-to-end performance, the system consisting of: a processor; an overlay network of the broker machines coupled to the processor; a process residing on the processor having instructions for: defining a message transformation flow graph including computational nodes and edges; receiving information about measured and estimated properties of a message flow associated with the message transformation flow graph; receiving information about physical brokers and links in the overlay network onto which the message transformation flow graph is deployed; labeling each of a plurality of stateless transformations associated with the message transformation flow graph as replicable; heuristically determining a number of replicas and a corresponding load partitioning ratios among the number of replicas for the each of the plurality of replicable stateless transformations; converting the message transformation flow graph into an enhanced flow graph having a plurality of virtual replicas of the each of the plurality of replicable stateless transformations, and having a plurality of additional data partitioning filter transformations configured to partition a workload for the each of the plurality of replicable stateless transformations; running a placement algorithm with the enhanced flow graph to generate an optimal assignment of the message transformations in the enhanced flow graph to the broker machines in the overlay network; and consolidating each of the plurality of virtual replicas that are assigned to a common message broker, wherein the information about measured and estimated properties of the message flow associated with the message transformation flow graph, are selected from a group consisting of: message rates into the message transformation, message size, CPU utilization per message in each of the message transformations, and expected number of output messages per input message, wherein the information about the physical brokers and links in the overlay network onto which the message transformation flow graph is deployed, are selected from a group consisting of: CPU capacity of each of the physical brokers, link capacity and link latency, wherein the message transformation flow graph is converted into the enhanced flow graph by replicating the plurality of replicable stateless transformations with the number of replicas heuristically determined and the corresponding load partitioning ratios among the number of replicas for the each of the plurality of replicable stateless transformations, wherein the placement algorithm uses an objective function based on expected overall end-to-end latency between producers and consumers, wherein the optimal assignment generated assigns the each of the plurality of replicable stateless transformations to a particular broker, and replicas of each stateful transformation to one or more brokers, together with a percentage of message traffic destined for the each of the plurality of replicable stateless transformations that is to be routed to each of the replicas of the each of the plurality of replicable stateless transformations.