Task Debugging with TEMANEJO
In recent years memory layouts have become more and more complex and bandwidth turned out to be the crucial performance parameter. This reflects in new programming paradigms which focus on data flow rather than instruction sequence. A very successful approach is StarSs, where the parallel programme consists of small computing units called tasks and dependencies between these tasks which are defined by the programmer. At runtime a dependency graph is created which determines the parallel or sequential execution of the tasks. When it comes to debugging StarSs applications, traditional debuggers such as gdb don’t provide enough information and control to uncover shortcomings of the program. We present a new type of debugger which acts on the task level giving the user access to the dependency graph. Information is extracted from the running application with the lightweight library Ayudame and the information is passed to the remote client Temanejo which visualises the dependency graph and passes user requests, such as blocking or prioritising a task, to the application.
- 1.SMPSs. http://www.bsc.es/smpss
- 2.OMPSs. http://pm.bsc.es/ompss
- 3.Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.-A.: StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures. Concurrency and Computation: Practice and Experience, Special Issue: Euro-Par 2009Google Scholar
- 4.Gautier, Th., Besseron, X., Pigeon, L.: KAAPI: A Thread Scheduling Runtime System for Data Flow Computations on Cluster of Multi-Processors. Parallel Symbolic Computation’07 (PASCO’07), (15–23), London, Ontario, Canada, 2007.Google Scholar
- 5.Brinkmann, S., Gracia, J., Niethammer, Chr., Keller, R.: Temanejo – a debugger for task based parallel programming models. ParCo (2011)Google Scholar