Abstract
The effective use of parallel computing resources to speed up algorithms in current multi-core parallel architectures remains a difficult challenge, with ease of programming playing a key role in the eventual success of various parallel architectures. In this paper we consider an alternative view of parallelism in the form of an ultra-wide word processor. We introduce the Ultra-Wide Word architecture and model, an extension of the word-ram model that allows for constant time operations on thousands of bits in parallel. Word parallelism as exploited by the word-ram model does not suffer from the more difficult aspects of parallel programming, namely synchronization and concurrency. For the standard word-ram algorithms, the speedups obtained are moderate, as they are limited by the word size. We argue that a large class of word-ram algorithms can be implemented in the Ultra-Wide Word model, obtaining speedups comparable to multi-threaded computations while keeping the simplicity of programming of the sequential ram model. We show that this is the case by describing implementations of Ultra-Wide Word algorithms for dynamic programming and string searching. In addition, we show that the Ultra-Wide Word model can be used to implement a non-standard memory architecture, which enables the sidestepping of lower bounds of important data structure problems such as priority queues and dynamic prefix sums. While similar ideas about operating on large words have been mentioned before in the context of multimedia processors [27], it is only recently that an architecture like the one we propose has become feasible and that details can be worked out.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
These operations are also known as PackSignBits and UnPackSignBits [27].
References
AMD: AMD FirePro W9100 Workstation Graphics. http://www.amd.com/Documents/FirePro_W9100_Data_Sheet.pdf. Acessed 20 Nov 2014
Andersson, A., Thorup, M.: Dynamic ordered sets with exponential search trees. J. ACM 54(3), 13 (2007)
Baeza-Yates, R., Gonnet, G.H.: A new approach to text searching. Commun. ACM 35(10), 74–82 (1992)
Baeza-Yates, R.A., Régnier, M.: Average running time of the Boyer-Moore-Horspool algorithm. Theoret. Comput. Sci. 92(1), 19–31 (1992)
Beame, P., Fich, F.: Optimal bounds for the predecessor problem and related problems. J. Comput. Syst. Sci. 65, 2002 (2002)
Bellman, R.: Dynamic Programming, 1st edn. Princeton University Press, Princeton (1957)
Bose, P., Chen, E.Y., He, M., Maheshwari, A., Morin, P.: Succinct geometric indexes supporting point location queries. In: Proceedings of SODA, pp. 635–644 (2009)
Brodnik, A.: Searching in Constant Time and Minimum Space. Ph.D. thesis, University of Waterloo (1995), also available as Technical Report CS-95-41
Brodnik, A., Carlsson, S., Fredman, M.L., Karlsson, J., Munro, J.I.: Worst case constant time priority queue. J. Syst. Softw. 78(3), 249–256 (2005)
Brodnik, A., Karlsson, J., Munro, J., Nilsson, A.: An O(1) solution to the prefix sum problem on a specialized memory architecture. In: Navarro, G., Bertossi, L., Kohayakawa, Y. (eds.) TCS 2006. IFIP, vol. 209, pp. 103–114. Springer, Boston (2006)
Chan, T.M.: Point location in o(log n) time, Voronoi diagrams in o(n log n) time, and other transdichotomous results in computational geometry. In: Proceedings of FOCS, pp. 333–344 (2006)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. The MIT Press, Cambridge (2001)
Crochemore, M., Iliopoulos, C.S., Pinzon, Y.J., Reid, J.F.: A fast and practical bit-vector algorithm for the longest common subsequence problem. Inf. Process. Lett. 80(6), 279–285 (2001)
Fisher, J.A.: Very long instruction word architectures and the ELI-512. SIGARCH Comput. Archit. News 11, 140–150 (1983)
Frazan, A., López-Ortiz, A., Nicholson, P.K., Salinger, A.: Algorithms in the Ultra-Wide Word Model (2014). http://arxiv.org/pdf/1411.7359v2
Fredman, M., Saks, M.: The cell probe complexity of dynamic data structures. In: Proceedings of STOC, pp. 345–354 (1989)
Fredman, M.L.: The complexity of maintaining an array and computing its partial sums. J. ACM 29(1), 250–260 (1982)
GeForce: GeForce GTX 285 Specifications. http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-285/specifications. Accessed 20 Nov 2014
Hagerup, T.: Sorting and searching on the word RAM. In: Meinel, C., Morvan, M. (eds.) STACS 1998. LNCS, vol. 1373, pp. 366–398. Springer, Heidelberg (1998)
Hampapuram, H., Fredman, M.L.: Optimal biweighted binary trees and the complexity of maintaining partial sums. SIAM J. Comput. 28(1), 1–9 (1998)
Han, Y.: Deterministic sorting in O(nlog logn) time and linear space. J. Algorithms 50, 96–105 (2004)
Horspool, R.N.: Practical fast searching in strings. Softw. Pract. Exp. 10(6), 501–506 (1980)
Masek, W.J., Paterson, M.: A faster algorithm computing string edit distances. J. Comput. Syst. Sci. 20(1), 18–31 (1980)
Munro, J.: Tables. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 37–42. Springer, Heidelberg (1996)
Pisinger, D.: Dynamic programming on the word RAM. Algorithmica 35, 128–145 (2003)
Russell, R.M.: The CRAY-1 computer system. Comm. ACM 21(1), 63–72 (1978)
Thorup, M.: Combinatorial power in multimedia processors. SIGARCH Comput. Archit. News 31(4), 5–11 (2003)
Wu, S., Manber, U.: Fast text searching: allowing errors. Commun. ACM 35(10), 83–91 (1992)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Farzan, A., López-Ortiz, A., Nicholson, P.K., Salinger, A. (2015). Algorithms in the Ultra-Wide Word Model. In: Jain, R., Jain, S., Stephan, F. (eds) Theory and Applications of Models of Computation. TAMC 2015. Lecture Notes in Computer Science(), vol 9076. Springer, Cham. https://doi.org/10.1007/978-3-319-17142-5_29
Download citation
DOI: https://doi.org/10.1007/978-3-319-17142-5_29
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-17141-8
Online ISBN: 978-3-319-17142-5
eBook Packages: Computer ScienceComputer Science (R0)