1. A method for compiling a graph-based program specification to execute on a computing system that supports concurrent execution of operations, the method including: receiving the graph-based program specification, the graph-based program specification including a graph that includes: a plurality of components, each corresponding to at least one operation; and a plurality of directed links, each directed link connecting an upstream component of the plurality of components to a downstream component of the plurality of components; and processing the graph-based program specification to generate processed code representing one or more groups of operations, the processing including: identifying a possible level of concurrency in a first group of the operations based at least in part on a topology of the graph, such that multiple operations in the first group are not prevented by the topology of the graph from executing concurrently; analyzing at least some of the operations in the first group to determine runtime characteristics associated with the analyzed operations; and generating processed code for executing the operations in the first group, where the processed code enforces a reduced level of concurrency in the first group, lower than the identified possible level of concurrency, based at least in part on the determined runtime characteristics.