Loading…

TSGL: A tool for visualizing multithreaded behavior

Since multicore processors are now the architectural standard and parallel computing is in the core CS curriculum, CS educators must create pedagogical materials and tools to help their students master parallel abstractions and concepts. This paper describes the thread safe graphics library (TSGL),...

Full description

Saved in:
Bibliographic Details
Published in:Journal of parallel and distributed computing 2018-08, Vol.118, p.233-246
Main Authors: Adams, Joel C., Crain, Patrick A., Dilley, Christopher P., Hazlett, Christiaan D., Koning, Elizabeth R., Nelesen, Serita M., Unger, Javin B., Stel, Mark B. Vande
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Since multicore processors are now the architectural standard and parallel computing is in the core CS curriculum, CS educators must create pedagogical materials and tools to help their students master parallel abstractions and concepts. This paper describes the thread safe graphics library (TSGL), a tool by which an educator can add graphics calls to a working multithreaded program in order to make visible the underlying parallel behavior. Using TSGL, an instructor (or student) can create parallel visualizations that clearly show the parallel patterns or techniques a given program is using, allowing students to see the parallel behavior in near real-time as the program is running. TSGL includes many examples that illustrate its use; this paper presents a representative sample, that can be used either in a lecture or a self-paced lab format. We also present evidence that such visualizations improve student understanding of abstract parallel concepts. •Why a thread safe graphics library (TSGL) is needed in the multicore era.•Overview of the project goals, design, implementation issues and how they were resolved.•Detailed presentation of TSGL visualization examples.•Description of a CS 2 lab exercise in which TSGL has been used.•Assessment evidence that use of a multithreaded visualization significantly improved student understanding of a parallel abstraction.•Guidelines for creating multithreaded visualizations.•How visualization can aid testing and debugging.
ISSN:0743-7315
1096-0848
DOI:10.1016/j.jpdc.2018.02.025