1. A method comprising: separating, by a first processor, workflow admission decisions from processing and communication resource allocation decisions in a stream processing network operating on a plurality of workflows using a primal-dual approach; making, by a second processor, workflow admission decisions in the stream processing network in a distributed manner; making, by a third processor of a processing element, workflow processing and communication resource allocation decisions for the processing element in the stream processing network in a distributed manner based at least in part on received workflow-related information from at least one neighboring processing element; processing, by a fourth processor of the processing element, at least one task for the plurality of workflows in accordance with the workflow admission decisions and workflow processing and communication resource allocation decisions; and providing output to a downstream element based on the at least one processed task, wherein the distributed workflow admission decisions and distributed workflow processing and communication resource allocation decisions are made in such a manner so as to meet a pre-determined utility criterion.