Dynamic Task Discovery In A Data-Flow, Task-Based Runtime System