Contributor
Freyam Mehta

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.