Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1880918.1880944guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Resource oblivious sorting on multicores

Published: 06 July 2010 Publication History

Abstract

We present a new deterministic sorting algorithm that interleaves the partitioning of a sample sort with merging. Sequentially, it sorts n elements in O(n log n) time cache-obliviously with an optimal number of cache misses. The parallel complexity (or critical path length) of the algorithm is O(log n log log n), which improves on previous bounds for deterministic sample sort. Given a multicore computing environment with a global shared memory and p cores, each having a cache of size M organized in blocks of size B, our algorithm can be scheduled effectively on these p cores in a cache-oblivious manner.
We improve on the above cache-oblivious processor-aware parallel implementation by using the Priority Work Stealing Scheduler (PWS) that we presented recently in a companion paper [12]. The PWS scheduler is both processor- and cache-oblivious (i.e., resource oblivious), and it tolerates asynchrony among the cores. Using PWS, we obtain a resource oblivious scheduling of our sorting algorithm that matches the performance of the processor-aware version. Our analysis includes the delay incurred by false-sharing. We also establish good bounds for our algorithm with the randomized work stealing scheduler.

References

[1]
Acar, U.A., Blelloch, G.E., Blumofe, R.D.: The data locality of work stealing. In: Theory of Computing Systems, vol. 35(3). Springer, Heidelberg (2002).
[2]
Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. CACM 31, 1116-1127 (1988).
[3]
Ajtai, M., Komlos, J., Szemeredi, E.: An O(n log n) sorting network. Combinatorica 3, 1-19 (1983).
[4]
Arge, L., Goodrich, M.T., Nelson, M., Sitchinava, N.: Fundamental parallel algorithms for private-cache chip multiprocessors. In: ACM SPAA, pp. 197-206 (2008).
[5]
Blelloch, G., Chowdhury, R., Gibbons, P., Ramachandran, V., Chen, S., Kozuch, M.: Provably good multicore cache performance for divide-and-conquer algorithms. In: ACM-SIAM SODA, pp. 501-510 (2008).
[6]
Blelloch, G., Gibbons, P., Simhadri, H.: Brief announcement: Low depth cache-oblivious sorting. In: ACM SPAA. ACM, New York (2009).
[7]
Blumofe, R., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. JACM, 720-748 (1999).
[8]
Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. Journal of the ACM 46(5), 720-748 (1999).
[9]
Burton, F., Sleep, M.R.: Executing functional programs on a virtual tree of processors. In: ACM FPLCA, pp. 187-194 (1981).
[10]
Chowdhury, R.A., Silvestri, F., Blakeley, B., Ramachandran, V.: Oblivious algorithms for multicores and network of processors. In: IEEE IPDPS (2010).
[11]
Cole, R.: Parallel merge sort. SIAM J Comput 17(4) (1988).
[12]
Cole, R., Ramachandran, V.: Efficient resource oblivious scheduling of multicore algorithms (2010) (Manuscript).
[13]
Cole, R., Ramachandran, V.: Resource oblivious sorting on multicores. TR-10-13, Dept of Comp Sci, UT-Austin (2010).
[14]
Cole, R., Ramachandran, V.: Resource oblivious sorting on multicores. (Submitted, 2010).
[15]
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: IEEE FOCS (1999).
[16]
Valiant, L.G.: A bridging model for multi-core computing. In: Halperin, D., Mehlhorn, K. (eds.) Esa 2008. LNCS, vol. 5193, pp. 13-28. Springer, Heidelberg (2008).

Cited By

View all
  • (2017)Resource Oblivious Sorting on MulticoresACM Transactions on Parallel Computing10.1145/30402213:4(1-31)Online publication date: 23-Mar-2017
  • (2017)Two-level main memory co-designJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.12.009102:C(213-228)Online publication date: 1-Apr-2017
  • (2016)Network-Oblivious AlgorithmsJournal of the ACM10.1145/281280463:1(1-36)Online publication date: 30-Mar-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ICALP'10: Proceedings of the 37th international colloquium conference on Automata, languages and programming
July 2010
753 pages
ISBN:3642141641

Sponsors

  • GDR Informatique Mathçmatique
  • Conseil Régional d'Aquitaine
  • Communauté Urbaine de Bordeaux
  • CEA: Commissariat à l'énergie atomique et aux énergies alternatives
  • INRIA: Institut Natl de Recherche en Info et en Automatique

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 06 July 2010

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2017)Resource Oblivious Sorting on MulticoresACM Transactions on Parallel Computing10.1145/30402213:4(1-31)Online publication date: 23-Mar-2017
  • (2017)Two-level main memory co-designJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.12.009102:C(213-228)Online publication date: 1-Apr-2017
  • (2016)Network-Oblivious AlgorithmsJournal of the ACM10.1145/281280463:1(1-36)Online publication date: 30-Mar-2016
  • (2015)Practical Massively Parallel SortingProceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures10.1145/2755573.2755595(13-23)Online publication date: 13-Jun-2015
  • (2014)Cache-adaptive algorithmsProceedings of the twenty-fifth annual ACM-SIAM symposium on Discrete algorithms10.5555/2634074.2634145(958-971)Online publication date: 5-Jan-2014
  • (2014)Provably good scheduling for parallel programs that use data structures through implicit batchingProceedings of the 26th ACM symposium on Parallelism in algorithms and architectures10.1145/2612669.2612688(84-95)Online publication date: 23-Jun-2014
  • (2013)Work-stealing with configurable scheduling strategiesACM SIGPLAN Notices10.1145/2517327.244256248:8(315-316)Online publication date: 23-Feb-2013
  • (2013)Work-stealing with configurable scheduling strategiesProceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming10.1145/2442516.2442562(315-316)Online publication date: 23-Feb-2013
  • (2012)Brief announcementProceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures10.1145/2312005.2312020(74-76)Online publication date: 25-Jun-2012
  • (2011)Scheduling irregular parallel computations on hierarchical cachesProceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures10.1145/1989493.1989553(355-366)Online publication date: 4-Jun-2011

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media