Visualizing the Performance Characteristics of Computations (Dask)
- Mentors
- Genevieve Buckley
- Organization
- NumFOCUS
Dask's primary job is building task graphs and optimizing them before decorating the functions to operate lazily. Task graphs are a visual representation of the order and dependencies of each task within a dask computation. They are a handy diagnostic tool. However, task graphs can currently be daunting when dealing with complex computations and do not provide a clear picture of job feasibility. There is room for improvement here.
I redesigned the task graph visualizations by introducing colors and enhancing the illustration of information. I worked on making them more illustrative, engaging, and informative. The Graphviz library boasts a great set of attributes that can be modified to create a more visually appealing output. My work also involved pushing more metadata to the user-end of the task graphs in a creative way.
These new features would enable users to learn more about their program's performance characteristics and find room for optimizations easily.