Abstract
Since the development of applications for parallel architectures is complicated and error-prone, many frameworks were created to simplify this task. One promising approach which is applicable especially for the development of parallel databases is expressing algorithms as stream programs, i.e. inputs and outputs of procedures are data streams and these procedures are connected so that they form an oriented graph. In this paper, we introduce highly scalable sorting algorithm which is suitable for streaming systems. We achieve this mainly by introducing multiway merge algorithm which is able to merge multiple independent sorted streams in parallel.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bednárek, D., Dokulil, J., Yaghob, J., Zavoral, F.: Using Methods of Parallel Semi-structured Data Processing for Semantic Web. In: Third International Conference on Advances in Semantic Processing, SEMAPRO 2009, pp. 44–49. IEEE (2009)
Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., Hanrahan, P.: Brook for GPUs: Stream Computing on Graphics Hardware. ACM Transactions on Graphics 23, 777–786 (2004)
Čermak, M., Falt, Z., Dokulil, J., Zavoral, F.: Sparql query processing using bobox framework. In: The Fifth International Conference on Advances in Semantic Processing, SEMAPRO 2011, pp. 104–109 (2011)
Chamberlain, R., Galloway, G., Franklin, M.: Sorting as a streaming application executing on chip multiprocessors. Dept. of Computer Science and Engineering, Washington University, Tech. Rep. WUCSE-2010-21 (2010)
Chhugani, J., Nguyen, A., Lee, V., Macy, W., Hagog, M., Chen, Y., Baransi, A., Kumar, S., Dubey, P.: Efficient implementation of sorting on multi-core SIMD CPU architecture. Proceedings of the VLDB Endowment 1(2), 1313–1324 (2008)
Cole, R.: Parallel merge sort. In: 27th Annual Symposium on Foundations of Computer Science, pp. 511–516. IEEE (1988)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. The MIT Press (2009)
Falt, Z., Bednárek, D., Čermak, M., Zavoral, F.: On Parallel Evaluation of SPARQL Queries. In: The Fourth International Conference on Advances in Databases, Knowledge, and Data Applications, DBKDA 2012, pp. 97–102 (2012)
Falt, Z., Yaghob, J.: Task scheduling in data stream processing. In: Proceedings of the Dateso 2011 Workshop, pp. 85–96. Citeseer (2011)
Franklin, M., Tyson, E., Buckley, J., Crowley, P., Maschmeyer, J.: Auto-pipe and the X language: A pipeline design tool and description language. In: 20th International Parallel and Distributed Processing Symposium, IPDPS 2006, pp. 1–10. IEEE (2006)
Gordon, M.I., Thies, W., Amarasinghe, S.: Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS-XII, pp. 151–162. ACM, New York (2006)
Graefe, G.: Implementing sorting in database systems. ACM Comput. Surv. 38(3) (2006), http://doi.acm.org/10.1145/1132960.1132964 , doi:10.1145/1132960.1132964
Hao, S., Du, Z., Bader, D., Ye, Y.: A partition-merge based cache-conscious parallel sorting algorithm for cmp with shared cache. In: International Conference on Parallel Processing, ICPP 2009, pp. 396–403. IEEE (2009)
Kapasi, U.J., Dally, W.J., Rixner, S., Owens, J.D., Khailany, B.: Programmable stream processors. IEEE Computer 36, 282–288 (2003)
Mark, W.R., Steven, R., Kurt, G., Mark, A., Kilgard, J.: Cg: A system for programming graphics hardware in a c-like language. ACM Transactions on Graphics 22, 896–907 (2003)
Merrill, D., Grimshaw, A.: Revisiting sorting for GPGPU stream architectures. In: Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques, pp. 545–546. ACM (2010)
Satish, N., Harris, M., Garland, M.: Designing efficient sorting algorithms for manycore GPUs. In: IEEE International Symposium on Parallel & Distributed Processing, IPDPS 2009, pp. 1–10. IEEE (2009)
Satish, N., Kim, C., Chhugani, J., Nguyen, A., Lee, V., Kim, D., Dubey, P.: Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. In: Proceedings of the 2010 International Conference on Management of Data, pp. 351–362. ACM (2010)
Thies, W., Karczmarek, M., Amarasinghe, S.: StreamIt: A language for streaming applications. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 179–196. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Falt, Z., Bulánek, J., Yaghob, J. (2013). On Parallel Sorting of Data Streams. In: Morzy, T., Härder, T., Wrembel, R. (eds) Advances in Databases and Information Systems. Advances in Intelligent Systems and Computing, vol 186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32741-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-32741-4_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32740-7
Online ISBN: 978-3-642-32741-4
eBook Packages: EngineeringEngineering (R0)