Repeating history: Execution replay for parallel Haskell programs

0Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Parallel profiling tools, such as ThreadScope for Parallel Haskell, allow programmers to obtain information about the performance of their parallel programs. However, the information they provide is not always sufficiently detailed to precisely pinpoint the cause of some performance problems. Often, this is because the cost of obtaining that information would be prohibitive for a complete program execution. In this paper, we adapt the well-known technique of execution replay to make it possible to simulate a previous run of a program. We ensure that the non-deterministic parallel behaviour of the Parallel Haskell application is properly emulated while its deterministic functionality is unmodified. In this way, we can gather additional data about the behaviour of a parallel program by replaying some parts of it with more detailed profiling information. We exploit this ability to identify performance bottlenecks in a quicksort implementation, and to derive a version that achieves an 82% speedup over a naive parallelisation. © 2013 Springer-Verlag.

Cite

CITATION STYLE

APA

Ferreiro, H., Janjic, V., Castro, L. M., & Hammond, K. (2013). Repeating history: Execution replay for parallel Haskell programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7829 LNCS, pp. 231–246). https://doi.org/10.1007/978-3-642-40447-4_15

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free