Abstract
Linear Hashing is an efficient and widely used version of extendible hashing. LH\(*\) is its distributed version that stores key-value pairs on up to hundreds of thousands of sites in a distributed system. LH\(*\) implements the dictionary data structure efficiently by not using a central component and allows the key-based operations of insertion, deletion, actualization, and retrieval as well as the scan operation. Because it does not use a central addressing component, clients or servers in LH\(*\) can commit an addressing error by sending a request to a wrong server. This server then forwards the message to the correct server either directly or in one but never more than one additional forward operation. We discuss here methods to avoid this double forward, which, while rare, still might breach quality of service guarantees. We compare our methods with \(\mathrm{LH}*_{\mathrm{RS}^{\mathrm{\tiny P2P}}}\) that pushes information about changes in the file structure to clients, whether they are active or not. A second problem especially relevant in high churn environments such as modern data centers is that sites can suddenly become inaccessible. The various high and scalable reliability versions of LH\(*\) then reconstruct the data lost on this site elsewhere. We present a solution to the resulting “wandering bucket” problem that allows clients to find the data at their new location.
Similar content being viewed by others
References
Birman, K.P.: Reliable Distributed Systems: Technologies, Web Services, and Applications. Springer, Berlin (2005)
Chabkinian, J., Schwarz, T.: Fast LH*. In: 2013 25th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pp. 57–64. IEEE (2013)
Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., Gruber, R.E.: Bigtable: a distributed storage system for structured data. ACM Trans. Comput. Syst. (TOCS) 26(2), 4 (2008)
Devine, R.: Design and implementation of DDH: a distributed dynamic hashing algorithm. In: Foundations of Data Organization and Algorithms, pp. 101–114 (1993)
Fagin, R., Nievergelt, J., Pippenger, N., Strong, H.R.: Extendible hashing—a fast access method for dynamic files. ACM Trans. Database Syst. 4(3), 315–344 (1979)
Kröll, B., Widmayer, P.: Distributing a search tree among a growing number of processors. In: ACM SIGMOD Record, vol. 23(2), pp. 265–276. ACM (1994)
Litwin, W.: Linear hashing: a new tool for file and table addressing. In: Proceedings of the Sixth International Conference on Very Large Data Bases (VLDB), vol. 6, pp. 212–223 (1980)
Litwin, W., Menon, J., Risch, T.: LH\(\ast \) Schemes with Scalable Availability. Tech. rep., IBM Almaden (1998). RJ10121 (91937)
Litwin, W., Menon, J., Risch, T., Schwarz, T.J.: Design issues for scalable availability LH* schemes with record grouping. In: Second Workshop on Distributed Data and Structures, pp. 38–55 (1999)
Litwin, W., Moussa, R., Schwarz, T.: LH\(\ast \)RS—a highly-available scalable distributed data structure. ACM Trans. Database Syst. (TODS) 30(3), 769–811 (2005)
Litwin, W., Neimat, M.A., Schneider, D.: RP*: A family of order preserving scalable distributed data structures. In: Proceedings of the International Conference on Very Large Data Bases (VLDB), pp. 342–342 (1994)
Litwin, W., Neimat, M.A., Schneider, D.: RP\(\ast \): a family of order preserving scalable distributed data structures. In: Proceedings of the International Conference on Very Large Databases (VLDB), vol. 94, pp. 12–15 (1994)
Litwin, W., Neimat, M.A., Schneider, D.A.: LH\(\ast \): linear hashing for distributed files. In: Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (SIGMOD ’93), pp. 327–336. ACM (1993)
Litwin, W., Neimat, M.A., Schneider, D.A.: LH\(\ast \)—a scalable, distributed data structure. ACM Trans. Database Syst. 21(4), 480–525 (1996)
Litwin, W., Schwarz, T.: Algebraic signatures for scalable distributed data structures. In: Proceedings of the 20th International Conference on Data Engineering, 2004, pp. 412–423. IEEE (2004)
Litwin, W., Yakouben, H., Schwarz, T.: LH\(\ast \) RS P2P: a scalable distributed data structure for P2P environment. In: Proceedings of the 8th International Conference on New Technologies in Distributed Systems, p. 1. ACM (2008)
Metzner, J.J.: Efficient replicated remote file comparison. IEEE Trans. Comput. 40(5), 651–660 (1991)
Nardelli, E.: Distributed k–d trees. In: Proceedings of the 16th Conference of Chilean Computer Science Society (SCCC96), pp. 142–154 (1996)
Rathi, A., Lu, H., Hedrick, G.E.: Performance comparison of extendible hashing and linear hashing techniques. In: Proceedings of the 1990 ACM SIGSMALL/PC Symposium on Small Systems, SIGSMALL ’90, pp. 178–185 (1990)
Yakouben, H., Soror, S.: LH* RS P2P: a fast and high churn resistant scalable distributed data structure for P2P systems. Int. J. Internet Technol. Secur. Trans. 2(1), 5–31 (2010)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Chabkinian, J., Schwarz SJ, T.J.E. Fast LH\(*\) . Int J Parallel Prog 44, 709–734 (2016). https://doi.org/10.1007/s10766-015-0371-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-015-0371-8