Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2364474.2364485acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Seeing the futures: profiling shared-memory parallel racket

Published: 15 September 2012 Publication History

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.

References

[1]
David F. Bacon, Perry Cheng, Daniel Frampton, and David Grove. TuningFork: Visualization, Analysis and Debugging of Complex Real-time Systems. IBM Research, RC24162, 2007.
[2]
Jost Berthold and Rita Loogen. Visualizing Parallel Functional Program Runs: Case Studies with the Eden Trace Viewer. In Proc. Intl. Conf. on Parallel Computing: Architectures, Algorithms, and Applications, 2007.
[3]
Matthew Flatt and PLT. Reference: Racket. PLT Inc., PLT-TR-2010-1, 2010. http://racket-lang.org/tr1/.
[4]
Robert H. Halstead Jr. A language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems, 1985.
[5]
Yuxiong He, Charles E. Leiserson, and William M. Leiserson. The Cilkview Scalability Analyzer. In Proc. ACM Symp. Parallelism in Algorithms and Architectures, pp. 145--156, 2010.
[6]
Don Jones Jr., Simon Marlow, and Satnam Singh. Parallel performance tuning for Haskell. In Proc. ACM Symp. Haskell, pp. 81--92, 2009.
[7]
J. Chassin de Kergommeaux, B. Stein, and P. E. Bernard. Paje, an interactive tool for tuning multi-threaded parallel applications. Parallel Computing 26, pp. 1253--1274, 2000.
[8]
Andreas Knupfer, Ronny Brendel, Holger Brunst, Hartmut Mix, and Wolf- gang E. Nagel. Introducing the Open Trace Format (OTF). In Proc. Intl. Conf. on Computational Science, pp. 526--533, 2006.
[9]
Andreas Knupfer, Holger Brunst, Jens Doleschal, Matthias Jurenz, Matthias Lieber, Holger Mickler, Matthias S. Muller, and Wolfgang E. Nagel. The Vampir Performance Analysis Tool-Set. Tools for High Perfor- mance Computing 4, pp. 139--155, 2008.
[10]
Colin Runciman and David Wakeling. Profiling Parallel Functional Computations (Without Parallel Machines). In Proc. Glasgow Workshop on Functional Programming, pp. 236--251, 1993.
[11]
Vincent St-Amour, Sam Tobin-Hochstadt, Matthew Flatt, and Matthias Felleisen. Typing the Numeric Tower. In Proc. Intl. Symp. Practical Aspects of Declarative Languages, 2012.
[12]
James Swaine, Kevin Tew, Peter Dinda, Robert Bruce Findler, and Matthew Flatt. Back to the Futures: Incremental Parallelization of Existing Sequential Runtimes. In Proc. ACM Intl. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, 2010.
[13]
Kevin Tew, James Swaine, Matthew Flatt, Robert Bruce Findler, and Peter Dinda. Places: Adding Message-Passing Parallelism to Racket. In Proc. Dynamic Languages Symposium, 2011.
[14]
Sam Tobin-Hochstadt and Matthias Felleisen. The Design and Implementa- tion of Typed Scheme. In Proc. ACM Symp. Principles of Programming Languages, 2008.
[15]
Omer Zaki, Ewing Lusk, and Deborah Swider. Toward Scalable Performance Visualization with Jumpshot. High Performance Computing Applications 13, pp. 277--288, 1999.

Cited By

View all
  • (2023)Trace contractsJournal of Functional Programming10.1017/S095679682300009633Online publication date: 13-Dec-2023
  • (2018)An Evaluation of Asynchronous Software Events on Modern Hardware2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS)10.1109/MASCOTS.2018.00041(355-368)Online publication date: Sep-2018
  • (2016)Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization SupportACM SIGPLAN Notices10.1145/3007611.289225551:7(161-175)Online publication date: 25-Mar-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
FHPC '12: Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computing
September 2012
110 pages
ISBN:9781450315777
DOI:10.1145/2364474
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. parallel functional programming
  2. performance tuning
  3. racket

Qualifiers

  • Research-article

Conference

ICFP'12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 18 of 25 submissions, 72%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 29 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Trace contractsJournal of Functional Programming10.1017/S095679682300009633Online publication date: 13-Dec-2023
  • (2018)An Evaluation of Asynchronous Software Events on Modern Hardware2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS)10.1109/MASCOTS.2018.00041(355-368)Online publication date: Sep-2018
  • (2016)Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization SupportACM SIGPLAN Notices10.1145/3007611.289225551:7(161-175)Online publication date: 25-Mar-2016
  • (2016)Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization SupportProceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/2892242.2892255(161-175)Online publication date: 25-Mar-2016

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media