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),...
Saved in:
Published in: | Journal of parallel and distributed computing 2018-08, Vol.118, p.233-246 |
---|---|
Main Authors: | , , , , , , , |
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!
|
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 |