skip to main content
10.1145/2509136.2509525acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Multiverse: efficiently supporting distributed high-level speculation

Published: 29 October 2013 Publication History

Abstract

Algorithmic speculation or high-level speculation is a promising programming paradigm which allows programmers to speculatively branch an execution into multiple independent parallel sections and then choose the best (perhaps fastest) amongst them. The continuing execution after the speculatively branched section sees only the modifications made by the best one. This programming paradigm allows programmers to harness parallelism and can provide dramatic performance improvements.
In this paper we present the Multiverse speculative programming model. Multiverse allows programmers to exploit parallelism through high-level speculation. It can effectively harness large amounts of parallelism by speculating across an entire cluster and is not bound by the parallelism available in a single machine. We present abstractions and a runtime which allow programmers to introduce large scale high-level speculative parallelism into applications with minimal effort. We introduce a novel on-demand address space sharing mechanism which provide speculations efficient transparent access to the original address space of the application (including the use of pointers) across machine boundaries. Multiverse provides single commit semantics across speculations while guaranteeing isolation between them. We also introduce novel mechanisms to deal with scalability bottlenecks when there are a large number of speculations.
We demonstrate that for several benchmarks, Multiverse achieves impressive speedups and good scalability across entire clusters. We study the overheads of the runtime and demonstrate how our special scalability mechanisms are crucial in scaling cluster wide.

References

[1]
H. Abdel-Shafi, E. Speight, and J. K. Bennett. Efficient user-level thread migration and checkpointing on windows nt clusters. In phProceedings of the 3rd conference on USENIX Windows NT Symposium - Volume 3, WINSYM'99, pages 1--1, Berkeley, CA, USA, 1999. USENIX Association. URL http://dl.acm.org/citation.cfm?id=1268427.1268428.
[2]
J. Ansel, C. Chan, Y. L. Wong, M. Olszewski, Q. Zhao, A. Edelman, and S. Amarasinghe. Petabricks: a language and compiler for algorithmic choice. In phProceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation, PLDI '09, pages 38--49, New York, NY, USA, 2009. ACM. ISBN 978--1--60558--392--1. 10.1145/1542476.1542481. URL http://doi.acm.org/10.1145/1542476.1542481.
[3]
G. Antoniu, L. Bougé, and R. Namyst. An efficient and transparent thread migration scheme in the pm2 runtime system. In phProceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing, pages 496--510, London, UK, UK, 1999. Springer-Verlag. ISBN 3--540--65831--9. URL http://dl.acm.org/citation.cfm?id=645611.662349.
[4]
E. D. Berger, T. Yang, T. Liu, and G. Novark. Grace: safe multithreaded programming for c/c
[5]
. In phProceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, OOPSLA '09, pages 81--96, New York, NY, USA, 2009. ACM. ISBN 978--1--60558--766-0. 10.1145/1640089.1640096. URL http://doi.acm.org/10.1145/1640089.1640096.
[6]
Y. Caniou, D. Diaz, F. Richoux, P. Codognet, and S. Abreu. Performance analysis of parallel constraint-based local search. In phProceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming, PPoPP '12, pages 337--338, New York, NY, USA, 2012. ACM. ISBN 978--1--4503--1160--1. 10.1145/2145816.2145883. URL http://doi.acm.org/10.1145/2145816.2145883.
[7]
R. E. Cledat, T. Kumar, and S. Pande. Efficiently speeding up sequential computation through the n-way programming model. In phProceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications, OOPSLA '11, pages 537--554, New York, NY, USA, 2011. ACM. ISBN 978--1--4503-0940-0. 10.1145/2048066.2048109. URL http://doi.acm.org/10.1145/2048066.2048109.
[8]
B. Cox, D. Evans, A. Filipi, J. Rowanhill, W. Hu, J. Davidson, J. Knight, A. Nguyen-Tuong, and J. Hiser. N-variant systems: a secretless framework for security through diversity. In phProceedings of the 15th conference on USENIX Security Symposium - Volume 15, USENIX-SS'06, Berkeley, CA, USA, 2006. USENIX Association. URL http://dl.acm.org/citation.cfm?id=1267336.1267344.
[9]
H. Croft, K. Falconer, and R. Guy. phUnsolved problems in geometry. Problem books in mathematics. Springer-Verlag, 1991. ISBN 9780387975061. URL http://books.google.com/books?id=xF4PAQAAMAAJ.
[10]
D. Diaz, P. Codognet, and S. Abreu. Adaptive search distribution, http://cri-dist.univ-paris1.fr/diaz/adaptive/.
[11]
W. R. Dieter and J. E. Lumpp, Jr. User-level checkpointing for linuxthreads programs. In phProceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference, pages 81--92, Berkeley, CA, USA, 2001. USENIX Association. ISBN 1--880446--10--3. URL http://dl.acm.org/citation.cfm?id=647054.715766.
[12]
G. Fursin, A. Cohen, M. O'Boyle, and O. Temam. A practical method for quickly evaluating program optimizations. In phProceedings of the First international conference on High Performance Embedded Architectures and Compilers, HiPEAC'05, pages 29--46, Berlin, Heidelberg, 2005. Springer-Verlag. ISBN 3--540--30317-0, 978--3--540--30317--6. 10.1007/11587514_4. URL http://dx.doi.org/10.1007/11587514_4.
[13]
R. P. Garg and I. Sharapov. phTechniques for Optimizing Applications: High Performance Computing. Prentice Hall Professional Technical Reference, 2002. ISBN 0130091189.
[14]
S. Golomb and H. Taylor. Constructions and properties of costas arrays. phProceedings of the IEEE, 72 (9): 1143--1163, 1984. ISSN 0018--9219. 10.1109/PROC.1984.12994.
[15]
L. Hammond, M. Willey, and K. Olukotun. Data speculation support for a chip multiprocessor. In phProceedings of the eighth international conference on Architectural support for programming languages and operating systems, ASPLOS VIII, pages 58--69, New York, NY, USA, 1998. ACM. ISBN 1--58113--107-0. 10.1145/291069.291020. URL http://doi.acm.org/10.1145/291069.291020.
[16]
T. Harris, J. Larus, and R. Rajwar. phTransactional Memory, 2nd Edition. Morgan and Claypool Publishers, 2nd edition, 2010. ISBN 1608452352, 9781608452354.
[17]
K. Helsgaun. An effective implementation of the linkernighan traveling salesman heuristic. phEuropean Journal of Operational Research, 126 (1): 106--130, 2000. ISSN 0377--2217. http://dx.doi.org/10.1016/S0377--2217(99)00284--2. URL http://www.sciencedirect.com/science/article/pii/S0377221799002842.
[18]
H. Hoos. phStochastic Local Search - Methods, Models, Applications. IOS Press. ISBN 9783898382151. URL http://books.google.com/books?id=xc\_4OtzmHUUC.
[19]
P. Hosek and C. Cadar. Safe software updates via multi-version execution. In phProceedings of the 2013 International Conference on Software Engineering, ICSE '13, pages 612--621, Piscataway, NJ, USA, 2013. IEEE Press. ISBN 978-1-4673-3076-3. URL http://dl.acm.org/citation.cfm?id=2486788.2486869.
[20]
T. IEEE and T. O. Group. The open group base specifications, issue 6, ieee std 1003.1, 2004.
[21]
C. Jung, D. Lim, J. Lee, and S. Han. Adaptive execution techniques for smt multiprocessor architectures. In phProceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP '05, pages 236--246, New York, NY, USA, 2005. ACM. ISBN 1--59593-080--9. 10.1145/1065944.1065976. URL http://doi.acm.org/10.1145/1065944.1065976.
[22]
L. V. Kale and S. Krishnan. Charm
[23]
: a portable concurrent object oriented system based on c
[24]
. In phProceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, OOPSLA '93, pages 91--108, New York, NY, USA, 1993. ACM. ISBN 0--89791--587--9. 10.1145/165854.165874. URL http://doi.acm.org/10.1145/165854.165874.
[25]
A. P. Kamath, N. K. Karmarkar, K. G. Ramakrishnan, and M. G. C. Resende. A continuous approach to inductive inference. phMath. Program., 57 (2): 215--238, Nov. 1992. ISSN 0025--5610. 10.1007/BF01581082. URL http://dx.doi.org/10.1007/BF01581082.
[26]
M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew. Optimistic parallelism requires abstractions. In phProceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, PLDI '07, pages 211--222, New York, NY, USA, 2007. ACM. ISBN 978--1--59593--633--2. 10.1145/1250734.1250759. URL http://doi.acm.org/10.1145/1250734.1250759.
[27]
J. Lau, M. Arnold, M. Hind, and B. Calder. Online performance auditing: using hot optimizations without getting burned. In phProceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, PLDI '06, pages 239--251, New York, NY, USA, 2006. ACM. ISBN 1--59593--320--4. 10.1145/1133981.1134010. URL http://doi.acm.org/10.1145/1133981.1134010.
[28]
M. Luby and W. Ertel. Optimal parallelization of las vegas algorithms. In phProceedings of the 11th Annual Symposium on Theoretical Aspects of Computer Science, STACS '94, pages 463--474, London, UK, UK, 1994. Springer-Verlag. ISBN 3--540--57785--8. URL http://dl.acm.org/citation.cfm?id=646510.695012.
[29]
M. Mitzenmacher and E. Upfal. phProbability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, 2005. ISBN 9780521835404. URL http://books.google.com/books?id=0bAYl6d7hvkC.
[30]
S. Negara, G. Zheng, K.-C. Pan, N. Negara, R. E. Johnson, L. V. Kalé, and P. M. Ricker. Automatic mpi to ampi program transformation using photran. In phProceedings of the 2010 conference on Parallel processing, Euro-Par 2010, pages 531--539, Berlin, Heidelberg, 2011. Springer-Verlag. ISBN 978--3--642--21877--4. URL http://dl.acm.org/citation.cfm?id=2031978.2032050.
[31]
AMD64 Architecture Programmer's Manual, Volume 2, 2010.
[32]
P. S. Pacheco. phParallel programming with MPI. 1996. ISBN 1--55860--339--5.
[33]
P. Prabhu, G. Ramalingam, and K. Vaswani. Safe programmable speculative parallelism. In phProceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation, PLDI '10, pages 50--61, New York, NY, USA, 2010. ACM. ISBN 978--1--4503-0019--3. 10.1145/1806596.1806603. URL http://doi.acm.org/10.1145/1806596.1806603.
[34]
H. K. Pyla, C. Ribbens, and S. Varadarajan. Exploiting coarse-grain speculative parallelism. In phProceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications, OOPSLA '11, pages 555--574, New York, NY, USA, 2011. ACM. ISBN 978--1--4503-0940-0. 10.1145/2048066.2048110. URL http://doi.acm.org/10.1145/2048066.2048110.
[35]
M. Rieker, J. Ansel, and G. Cooperman. Transparent user-level checkpointing for the native posix thread library for linux. In phThe 2006 International Conference on Parallel and Distributed Processing Techniques and Applications, Jun 2006.
[36]
Rutgers. Dimacs benchmarks, http://dimacs.rutgers.edu/challenges/.
[37]
B. Selman, H. A. Kautz, and B. Cohen. Noise strategies for improving local search. In phProceedings of the twelfth national conference on Artificial intelligence (vol. 1), AAAI '94, pages 337--343, Menlo Park, CA, USA, 1994. American Association for Artificial Intelligence. ISBN 0--262--61102--3. URL http://dl.acm.org/citation.cfm?id=199288.178090.
[38]
A. Shye, J. Blomstedt, T. Moseley, V. J. Reddi, and D. A. Connors. Plr: A software approach to transient fault tolerance for multicore architectures. phIEEE Trans. Dependable Secur. Comput., 6 (2): 135--148, Apr. 2009. ISSN 1545--5971. 10.1109/TDSC.2008.62. URL http://dx.doi.org/10.1109/TDSC.2008.62.
[39]
J. Steffan and T. Mowry. The potential for using thread-level data speculation to facilitate automatic parallelization. In phProceedings of the 4th International Symposium on High-Performance Computer Architecture, HPCA '98, pages 2--, Washington, DC, USA, 1998. IEEE Computer Society. ISBN 0--8186--8323--6. URL http://dl.acm.org/citation.cfm?id=822079.822712.
[40]
O. Trachsel and T. R. Gross. Variant-based competitive parallel execution of sequential programs. In phProceedings of the 7th ACM international conference on Computing frontiers, CF '10, pages 197--206, New York, NY, USA, 2010. ACM. ISBN 978--1--4503-0044--5. 10.1145/1787275.1787325. URL http://doi.acm.org/10.1145/1787275.1787325.
[41]
S. P. Vanderwiel and D. J. Lilja. Data prefetch mechanisms. phACM Comput. Surv., 32 (2): 174--199, June 2000. ISSN 0360-0300. 10.1145/358923.358939. URL http://doi.acm.org/10.1145/358923.358939.
[42]
M. J. Voss and R. Eigenmann. High-level adaptive program optimization with adapt. In phACM SIGPLAN Notices, pages 93--102. ACM Press, 2001.
[43]
C. M. Wintersteiger, Y. Hamadi, and L. Moura. A concurrent portfolio approach to smt solving. In phProceedings of the 21st International Conference on Computer Aided Verification, CAV '09, pages 715--720, Berlin, Heidelberg, 2009. Springer-Verlag. ISBN 978--3--642-02657--7. 10.1007/978--3--642-02658--4_60. URL http://dx.doi.org/10.1007/978--3--642-02658--4_60.
[44]
W. Wulf and M. Shaw. Global variable considered harmful. phSIGPLAN Not., 8 (2): 28--34, Feb. 1973. ISSN 0362--1340. 10.1145/953353.953355. URL http://doi.acm.org/10.1145/953353.953355.
[45]
K. Xu and W. Li. Exact phase transitions in random constraint satisfaction problems. phJournal of Artificial Intelligence Research, 12: 93--103, 2000.
[46]
T.-Y. Yeh and Y. N. Patt. A comparison of dynamic branch predictors that use two levels of branch history. In phProceedings of the 20th annual international symposium on computer architecture, ISCA '93, pages 257--266, New York, NY, USA, 1993. ACM. ISBN 0--8186--3810--9. 10.1145/165123.165161. URL http://doi.acm.org/10.1145/165123.165161.

Cited By

View all
  • (2017)The entangled strands of time in software developmentProceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience10.1145/3167107(11-16)Online publication date: 22-Oct-2017
  • (2016)First-class effect reflection for effect-guided programmingACM SIGPLAN Notices10.1145/3022671.298403751:10(820-837)Online publication date: 19-Oct-2016
  • (2016)First-class effect reflection for effect-guided programmingProceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2983990.2984037(820-837)Online publication date: 19-Oct-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '13: Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
October 2013
904 pages
ISBN:9781450323741
DOI:10.1145/2509136
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: 29 October 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithmic speculation
  2. cluster
  3. function speculation
  4. multiverse
  5. parallelism
  6. speculation

Qualifiers

  • Research-article

Conference

SPLASH '13
Sponsor:

Acceptance Rates

OOPSLA '13 Paper Acceptance Rate 50 of 189 submissions, 26%;
Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)The entangled strands of time in software developmentProceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience10.1145/3167107(11-16)Online publication date: 22-Oct-2017
  • (2016)First-class effect reflection for effect-guided programmingACM SIGPLAN Notices10.1145/3022671.298403751:10(820-837)Online publication date: 19-Oct-2016
  • (2016)First-class effect reflection for effect-guided programmingProceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2983990.2984037(820-837)Online publication date: 19-Oct-2016
  • (2018)Software Speculation on Caching DSMsInternational Journal of Parallel Programming10.1007/s10766-017-0499-946:2(313-332)Online publication date: 1-Apr-2018

View Options

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