Adaptive Optimizations for Stream-Based Workflows
TimeWednesday, 11 November 20202:30pm - 3pm EST
DescriptionThis work presents three new adaptive optimization techniques to maximize the performance of dispel4py workflows. dispel4py is a parallel Python-based stream-oriented dataflow framework that acts as a bridge to existing parallel programming frameworks like MPI or Python multiprocessing. When a user runs a dispel4py workflow, the original framework performs a fixed workload distribution among the processes available for the run. This allocation does not take into account workflows’ features, which can cause scalability issues, especially for data-intensive scientific workflows. Therefore, our aim is to improve the performance of dispel4py workflows by testing different workload strategies that automatically adapt to workflows. For achieving this objective, we have implemented three new techniques, called Naive Assignment, Staging, and Dynamic Scheduling. The evaluations show that our proposed techniques have significantly improved the performance of the original dispel4py framework.