Starsscheck: a tool to find errors in task-based parallel programs
Document typeConference report
Rights accessRestricted access - publisher's policy
European Commisision's projectENCORE - ENabling technologies for a programmable many-CORE (EC-FP7-248647)
Star Superscalar is a task-based programming model. The programmer starts with an ordinary C program, and adds pragmas to mark functions as tasks, identifying their inputs and outputs. When the main thread reaches a task, an instance of the task is added to a run-time dependency graph, and later scheduled to run on a processor. Variants of Star Superscalar exist for the Cell Broadband Engine and SMPs. Star Superscalar relies on the annotations provided by the programmer. If these are incorrect, the program may exhibit race conditions or exceptions deep inside the run-time system. This paper introduces Starsscheck, a tool based on Valgrind, which helps debug Star Superscalar programs. Starsscheck verifies that the pragma annotations are correct, producing a warning if a task or the main thread performs an invalid access. The tool can be adapted to support similar programming models such as TPC. For most benchmarks, Starsscheck is faster than memcheck, the default Valgrind tool.
CitationCarpenter, P.; Alex Ramirez; Ayguade, E. Starsscheck: a tool to find errors in task-based parallel programs. A: EURO-PAR Conference. "EURO-PAR Conference 2010". Ischia: Springer Verlag, 2010, p. 2-13.