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

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

Efficiently speeding up sequential computation through the n-way programming model

Published: 22 October 2011 Publication History

Abstract

With core counts on the rise, the sequential components of applications are becoming the major bottleneck in performance scaling as predicted by Amdahl's law. We are therefore faced with the simultaneous problems of occupying an increasing number of cores and speeding up sequential sections. In this work, we reconcile these two seemingly incompatible problems with a novel programming model called N-way. The core idea behind N-way is to benefit from the algorithmic diversity available to express certain key computational steps. By simultaneously launching in parallel multiple ways to solve a given computation, a runtime can just-in-time pick the best (for example the fastest) way and therefore achieve speedup.
Previous work has demonstrated the benefits of such an approach but has not addressed its inherent waste. In this work, we focus on providing a mathematically sound learning-based statistical model that can be used by a runtime to determine the optimal balance between resources used and benefits obtainable through N-way. We further describe a dynamic culling mechanism to further reduce resource waste.
We present abstractions and a runtime support to cleanly encapsulate the computational-options and monitor their progress. We demonstrate a low-overhead runtime that achieves significant speedup over a range of widely used kernels. Our results demonstrate super-linear speedups in certain cases.

References

[1]
J. Ansel, Y. L. Wong, C. Chan, M. Olszewski, A. Edelman, and S. Amarasinghe. Language and compiler support for auto-tuning variable-accuracy algorithms. In CGO '11. IEEE Computer Society, 2011.
[2]
K. Asanovic et al. The landscape of parallel computing research: A view from berkeley. Technical Report UCB/EECS-2006--183, EECS Department, University of California, Berkeley, Dec 2006.
[3]
E. D. Berger, T. Yang, T. Liu, and G. Novark. Grace: safe multithreaded programming for C/C+. In OOPSLA '09, pages 81--96, New York, NY, USA, 2009. ACM.
[4]
J. Cachopo and A. Rito-Silva. Versioned boxes as the basis for memory transactions. Sci. Comput. Program., 63(2):172--185, 2006.
[5]
CLANG: A C family frontend for LLVM. http://clang.llvm.org/, 2010.
[6]
R. Cledat, T. Kumar, J. Sreeram, and S. Pande. Opportunistic computing: A new paradigm for scalable realism on many cores. In HotPar 2009: 1st USENIX Workshop on Hot Topics in Parallelism. USENIX, 2009.
[7]
R. Cledat and S. Pande. Energy efficiency via the n-way model. In PESPMA 2010, in conjunction with ISCA. ACM, 2010.
[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 In Proceedings of the 15th USENIX Security Symposium, pages 105--120, 2006.
[9]
Dimacs benchmarks. http://tinyurl.com/myj2m7, 2009.
[10]
Y. Hamadi, S. Jabbour, and L. Sais. Manysat: Solver description. Technical Report MSR-TR-2008--83, Microsoft Research, May 2008.
[11]
T. Harris and K. Fraser. Language support for lightweight transactions. In OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pages 388--402, New York, NY, USA, 2003. ACM Press.
[12]
M. D. Hill and M. R. Marty. Amdahl's law in the multicore era. IEEE COMPUTER, 2008.
[13]
Intel haswell. http://tinyurl.com/28dxp67, 2010.
[14]
Intel shows 48-core 'datacentre on a chip'. http://tinyurl.com/2fyhejo, 2010.
[15]
S. K. Iyer, J. Jain, M. R. Prasad, D. Sahoo, and T. Sidle. Error detection using BMC in a parallel environment. In CHARME, pages 354--358, 2005.
[16]
C. F. Joerg. The Cilk System for Parallel Multithreaded Computing. PhD thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, Jan. 1996. Available as MIT Laboratory for Computer Science Technical Report MIT/LCS/TR-701.
[17]
K. Knobe. Ease of use with concurrent collections (CnC). In HotPar 2009: 1st USENIX Workshop on Hot Topics in Parallelism. USENIX, 2009.
[18]
J. J. Kuffner Jr. and S. M. Lavalle. RRT-connect: An efficient approach to single-query path planning. In Proc. IEEE Int. Conf. Robot. Autom. (ICRA), pages 995--1001, 2000.
[19]
M. Kulkarni, K. Pingali, B. Walter, G. Ramanarayanan, K. Bala, and L. P. Chew. Optimistic parallelism requires abstractions. In PLDI '07, pages 211--222, 2007.
[20]
M. Luby and W. Ertel. Optimal parallelization of las vegas algorithms. In STACS '94, pages 463--474. Springer, 1994.
[21]
S. Misailovic, S. Sidiroglou, H. Hoffmann, and M. Rinard. Quality of service profiling. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE '10, pages 25--34, New York, NY, USA, 2010. ACM.
[22]
M. Mitzenmacher and E. Upfal. Probability and Computing. Cambridge University Press, 2005.
[23]
R. Motwani and P. Raghavan. Randomized Algorithms. Cambridge University Press, 1995.
[24]
D. Patterson. The trouble with multicore. http://spectrum.ieee.org/computing/software/the-trouble-with-multicore/%, July 2010.
[25]
G. Reinelt. TSPLIB - a traveling salesman problem library. In ORSA Journal on Computing, volume 3, pages 376--384, 1991.
[26]
M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In Proceedings of the 20th annual international conference on Supercomputing, ICS '06, pages 324--334, New York, NY, USA, 2006. ACM.
[27]
B. Salamat, T. Jackson, A. Gal, and M. Franz. Orchestra: intrusion detection using parallel execution and monitoring of program variants in user-space. In EuroSys '09: Proceedings of the 4th ACM European conference on Computer systems, pages 33--46, New York, NY, USA, 2009. ACM.
[28]
B. Selman, H. Kautz, and B. Cohen. Local search strategies for satisfiability testing. In DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pages 521--532, 1995.
[29]
TomLab. CPLEX parameters interface. http://tomopt.com/docs/cplexug/tomlab_cplex014.php, March 2010.
[30]
O. Trachsel and T. Gross. A platform for competitive execution. In PESPMA 2008, in conjunction with ISCA. ACM, 2008.
[31]
O. Trachsel and T. R. Gross. Variant-based competitive parallel execution of sequential programs. In CF '10: Proceedings of the 7th ACM international conference on Computing frontiers, pages 197--206, New York, NY, USA, 2010. ACM.
[32]
M. Tygert. A fast algorithm for computing minimal-norm solutions to underdetermined systems of linear equations. May 2009.
[33]
V. Vazirani. Approximation Algorithms. Springer, 2001.
[34]
M. Wall. GAlib. http://lancet.mit.edu/ga/, 2009.
[35]
C. M. Wintersteiger, Y. Hamadi, and L. Moura. A concurrent portfolio approach to smt solving. In CAV '09, pages 715--720, Berlin, Heidelberg, 2009. Springer-Verlag.

Cited By

View all
  • (2021)Scalable FSM parallelization via path fusion and higher-order speculationProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446705(887-901)Online publication date: 19-Apr-2021
  • (2018)MemoDynProceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques10.1145/3243176.3243193(1-12)Online publication date: 1-Nov-2018
  • (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
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '11: Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
October 2011
1104 pages
ISBN:9781450309400
DOI:10.1145/2048066
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 46, Issue 10
    OOPSLA '11
    October 2011
    1063 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2076021
    Issue’s Table of Contents
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: 22 October 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithmic diversity
  2. n-way
  3. parallel programming model
  4. sequential computations
  5. speedup

Qualifiers

  • Research-article

Conference

SPLASH '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2021)Scalable FSM parallelization via path fusion and higher-order speculationProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446705(887-901)Online publication date: 19-Apr-2021
  • (2018)MemoDynProceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques10.1145/3243176.3243193(1-12)Online publication date: 1-Nov-2018
  • (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
  • (2013)MultiverseACM SIGPLAN Notices10.1145/2544173.250952548:10(533-552)Online publication date: 29-Oct-2013
  • (2013)MultiverseProceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications10.1145/2509136.2509525(533-552)Online publication date: 29-Oct-2013
  • (2021)Scalable FSM parallelization via path fusion and higher-order speculationProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446705(887-901)Online publication date: 19-Apr-2021

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