Seeing the futures: profiling shared-memory parallel racket

  • Authors:
  • James Swaine;Burke Fetscher;Vincent St-Amour;Robert Bruce Findler;Matthew Flatt

  • Affiliations:
  • Northwestern University, Chicago, IL, USA;Northwestern University, Chicago, IL, USA;Northeastern University, Boston, MA, USA;Northwestern University, Chicago, IL, USA;University of Utah, Salt Lake City, UT, USA

  • Venue:
  • Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents the latest chapter in our adventures coping with a large, sequentially-tuned, legacy runtime system in today's parallel world. Specifically, this paper introduces our new graphical visualizer that helps programmers understand how to program in parallel with Racket's futures and, to some extent, what performs well in sequential Racket. Overall, our experience with parallelism in Racket is that we can achieve reasonable parallel performance in Racket without sacrificing the most important property of functional programming language implementations, namely safety. That is, Racket programmers are guaranteed that every Racket primitive (and thus all functions built using Racket primitives) will either behave properly, or it will signal an error explaining what went wrong. That said, however, it is challenging to understand how to best use futures to achieve interesting speedups, and the visualizer is our attempt to more widely disseminate key performance details of the runtime system in order to help Racket programmers maximize performance.