Effective Scheduling Techniques For High-Level Parallel Programming Languages