Affiliation:
1. Univ. of Colorado, Boulder
Abstract
A
future
is a language construct that allows programmers to expose parallelism in applicative languages such as MultiLisp [5] with minimal effort. In this paper we describe a technique for implementing futures, which we call
leapfrogging
, that reduces blocking due to load imbalance. The utility of leapfrogging is enhanced by the fact that it is completely platform-independent, is free from deadlock, and places a bound on stack sizes that is at most a small constant times the maximum stack size encountered during a sequential execution of the same computation. We demonstrate the performance of leapfrogging using a prototype implementation written in C++.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Portable Implementations of Work Stealing;Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region;2024-01-18
2. Distributed Continuation Stealing is More Scalable than You Might Think;2022 IEEE International Conference on Cluster Computing (CLUSTER);2022-09
3. Distributed binary decision diagrams for symbolic reachability;Proceedings of the 24th ACM SIGSOFT International SPIN Symposium on Model Checking of Software;2017-07-13
4. What drives leapfrogging? empirical assessment of consumer determinants of leapfrogging;Total Quality Management & Business Excellence;2015-08-24
5. Lace: Non-blocking Split Deque for Work-Stealing;Lecture Notes in Computer Science;2014