Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/3241639.3241645acmconferencesArticle/Chapter ViewAbstractPublication PageshotparConference Proceedingsconference-collections
Article

Parallel synchronization-free approximate data structure construction

Published: 24 June 2013 Publication History

Abstract

We present approximate data structures with construction algorithms that execute without synchronization. The data races present in these algorithms may cause them to drop inserted or appended elements. Nevertheless, the algorithms 1) do not crash and 2) may produce a data structure that is accurate enough for its clients to use successfully. We advocate an approach in which the approximate data structures are composed of basic tree and array building blocks with associated synchronization-free construction algorithms. This approach enables developers to reuse the construction algorithms, which have been engineered to execute successfully in parallel contexts despite the presence of data races, without having to understand the details of why they execute successfully.
We evaluate the end-to-end accuracy and performance consequences of our approach by building a space-subdivision tree for the Barnes-Hut N-body simulation out of our presented tree and array building blocks. The resulting approximate data structure construction algorithm eliminates synchronization overhead and anomalies such as excessive serialization and deadlock. The algorithm exhibits good performance (running 14 times faster on 16 cores than the sequential version) and good accuracy (the accuracy loss is four orders of magnitude less than the accuracy gain associated with increasing the accuracy of the Barnes-Hut center of mass approximation by 20%).

References

[1]
J. Barnes and P. Hut. A hierarchical o(n log n) forcecalculation algorithm. Nature, 324(4):446-449, 1986.
[2]
G. Baudet. Asynchronous iterative methods for multiprocessors. Journal of the ACM, 25:225-244, April 1998.
[3]
Michael Carbin, Sasa Misailovic, Michael Kling, and Martin C. Rinard. Detecting and escaping infinite loops with jolt. In ECOOP, pages 609-633, 2011.
[4]
S. Chaudhuri, S. Gulwani, R. Lublinerman, and S. Navidpour. Proving Programs Robust. FSE, 2011.
[5]
D. Chazan and W. Mirankar. Chaotic relaxation. Linear Algebra and its Applications, 2:119-222, April 1969.
[6]
Don Dailey and Charles E. Leiserson. Using Cilk to write multiprocessor chess programs. The Journal of the International Computer Chess Association, 2002.
[7]
Maurice Herlihy. Wait-free synchronization. ACM Trans. Program. Lang. Syst., 13(1), 1991.
[8]
Maurice Herlihy and J. Eliot B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture. May 1993.
[9]
Henry Hoffmann, Sasa Misailovic, Stelios Sidiroglou, Anant Agarwal, and Martin Rinard. Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures . Technical Report MIT-CSAIL-TR-2009-042, MIT, September 2009.
[10]
Christoph M. Kirsch and Hannes Payer. Incorrect systems: it's not the problem, it's the solution. In DAC, 2012.
[11]
Michael Kling, Sasa Misailovic, Michael Carbin, and Martin C. Rinard. Bolt: on-demand infinite loop escape in unmodified binaries. In OOPSLA, 2012.
[12]
Leslie Lamport. A new solution of dijkstra's concurrent programming problem. Communications of the ACM, 17(8):453-455, 1974.
[13]
S. Misailovic, D. Kim, and M. Rinard. Parallelizing sequential programs with statistical accuracy tests. ACM Transactions on Embedded Computing Systems. "to appear".
[14]
S. Misailovic, D. Kim, and M. Rinard. Parallelizing sequential programs with statistical accuracy tests. Technical Report MIT-CSAIL-TR-2010-038, MIT, August 2010.
[15]
Sasa Misailovic, Daniel M. Roy, and Martin C. Rinard. Probabilistically accurate program transformations. In SAS, pages 316-333, 2011.
[16]
Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, and Martin C. Rinard. Quality of service profiling. In ICSE (1), pages 25-34, 2010.
[17]
Sasa Misailovic, Stelios Sidiroglou, and Martin Rinard. Dancing with uncertainty. RACES Workshop, 2012.
[18]
Martin Rinard. Parallel synchronization-free approximate data structure construction (full version). http://people.csail.mit.edu/rinard/paper/hotpar13.full.pdf.
[19]
Martin Rinard. A lossy, synchronization-free, race-full, but still acceptably accurate parallel space-subdivision tree construction algorithm. Technical Report MITCSAIL-TR-2012-005, MIT, February 2012.
[20]
Martin Rinard. Unsynchronized techniques for approximate parallel computing. RACES Workshop, 2012.
[21]
Martin C. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In ICS, pages 324-334, 2006.
[22]
Martin C. Rinard. Using early phase termination to eliminate load imbalances at barrier synchronization points. In OOPSLA, pages 369-386, 2007.
[23]
Nir Shavit. Data structures in the multicore age. CACM, 54(3), 2011.
[24]
Stelios Sidiroglou-Douskos, Sasa Misailovic, Henry Hoffmann, and Martin C. Rinard. Managing performance vs. accuracy trade-offs with loop perforation. In SIGSOFT FSE, pages 124-134, 2011.
[25]
Jaswinder Pal Singh, Chris Holt, Takashi Totsuka, Anoop Gupta, and John L. Hennessy. Load balancing and data locality in adaptive hierarchical n-body methods: Barneshut, fast multipole, and radiosity. Journal Of Parallel and Distributed Computing, 27:118-141, 1995.
[26]
J. Strikwerda. A convergence theorem for chaotic asynchronous relaxation. Linear Algebra and its Applications, 253:15-24, March 1997.
[27]
D. Ungar. Presentation at OOPSLA 2011, November 2011.
[28]
Zeyuan Allen Zhu, Sasa Misailovic, Jonathan A. Kelner, and Martin C. Rinard. Randomized accuracy-aware program transformations for efficient approximate computations. In POPL, pages 441-454, 2012.

Cited By

View all
  • (2023)Approximate High-Performance Computing: A Fast and Energy-Efficient Computing Paradigm in the Post-Moore EraIT Professional10.1109/MITP.2023.325464225:2(7-15)Online publication date: 1-Mar-2023
  • (2019)ReplicaProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304033(849-863)Online publication date: 4-Apr-2019
  • (2018)MemoDynProceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques10.1145/3243176.3243193(1-12)Online publication date: 1-Nov-2018
  • Show More Cited By

Recommendations

Comments

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Approximate High-Performance Computing: A Fast and Energy-Efficient Computing Paradigm in the Post-Moore EraIT Professional10.1109/MITP.2023.325464225:2(7-15)Online publication date: 1-Mar-2023
  • (2019)ReplicaProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304033(849-863)Online publication date: 4-Apr-2019
  • (2018)MemoDynProceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques10.1145/3243176.3243193(1-12)Online publication date: 1-Nov-2018
  • (2016)Accuracy BugsACM Transactions on Architecture and Code Optimization10.1145/301799113:4(1-24)Online publication date: 12-Dec-2016

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media