RESOURCE ALLOCATION STRATEGIES FOR CONSTRUCTIVE IN-NETWORK STREAM PROCESSING
Abstract
In this paper we consider the operator mapping problem for in-network stream processing applications. In-network stream processing consists in applying a tree of operators in steady-state to multiple data objects that are continually updated at various locations on a network. Examples of in-network stream processing include the processing of data in a sensor network, or of continuous queries on distributed relational databases. We study the operator mapping problem in a "constructive" scenario, i.e., a scenario in which one builds a platform dedicated to the application by purchasing processing servers with various costs and capabilities. The objective is to minimize the cost of the platform while ensuring that the application achieves a minimum steady-state throughput. The first contribution of this paper is the formalization of a set of relevant operator-placement problems, and a proof that even simple versions of the problem are NP-complete. Our second contribution is the design of several polynomial time heuristics, which are evaluated via extensive simulations and compared to theoretical bounds for optimal solutions.
Note that a short version of this paper appeared in the proceedings of APDCM'09, the 11th Workshop on Advances in Parallel and Distributed Computational Models, in conjunction with IPDPS 2009, Rome, Italy, May 2009. IEEE Computer Society Press.