A Feedback-Based Approach to DVFS in Data-Flow Applications