1. A method for processing graph-based computations including: providing one or more graph templates each associated with a different type of computation graph, each computation graph including a number of graph elements each associated with a corresponding computation; forming one or more pools of computing resources, wherein each graph element of a computation is associated with a corresponding one of the pools of computing resources; and processing one or more data streams, each associated with a corresponding type of computation graph, including for each of the data streams, forming a graph instance from a graph template for the corresponding computation graph, for each graph element of the graph instance, assigning computing resources from corresponding pools of computing resources, and processing the data stream with the graph instance, including performing the computations corresponding to the graph elements of such graph instance using the assigned computing resources.