WoolPlot: A Visual Wool Profiler
MetadataVis full innførsel
Task-based programming involves creating tasks, which can be run independently of each other, and letting the run-time system schedule the tasks on the underlying architecture. Wool is a new library for task-based programming created at SICS in Sweden. To assist a developer who is using Wool to parallelize a program, as well as the scientists who are actually developing Wool, a profiler which shows what happened in a computation can be very helpful.In this project we modify the Wool library to print more data about its computations. When the output is given to a Java application also developed in this project, the Java application produces a graphical representation of the execution. Each worker thread is visualized separately, with spawns, steals, leaps, critical path and CPU usage information included at a position corresponding to when the events actually occurred.The profiler, which we have named WoolPlot, is put to the test using a few real-world benchmarks, as well as some created especially for this project. The benchmarks show that WoolPlot works well when describing the distinct events such as steals and spawns. The reporting on the CPU load is too inaccurate to be sufficient for all practical uses. The overhead of the profiler is estimated to be between 3% and 6%.