Task-driven computing