Sharing Resources for Performance and Energy Optimization of Concurrent Streaming Applications
Résumé
We aim at finding optimal mappings for concurrent streaming applications. Each application consists of a linear chain with several stages, and processes successive data sets in pipeline mode. The objective is to minimize the energy consumption of the whole platform, while satisfying given performance-related bounds on the period and latency of each application. The problem is to decide which processors to enroll, at which speed (or mode) to use them, and which stages they should execute. We distinguish two mapping categories, interval mappings without reuse, and fully arbitrary general mappings. On the theoretical side, we establish complexity results for this tri-criteria mapping problem (energy, period, latency). Furthermore, we derive an integer linear program that provides the optimal solution in the most general case. On the experimental side, we design polynomial-time heuristics, and assess their absolute performance thanks to the linear program. One main goal is to evaluate the impact of processor sharing on the quality of the solution.
Mots clés
computational complexity
concurrency control
integer programming
linear programming
pipeline processing
absolute performance
concurrent streaming applications
energy optimization
fully arbitrary general mappings
integer linear program
interval mappings
mapping category
optimal mappings
performance-related bounds
pipeline mode
polynomial-time heuristics
processor sharing
tri-criteria mapping problem
Bandwidth
Complexity theory
Energy consumption
Polynomials
Processor scheduling
Program processors
Resource management
energy
heterogeneous platforms
latency
mapping
period
resource sharing