Abstract
The principle ideas of this paper are based on the uncontested statement that in the near future more and more dedicated hardware devices will be in use in addition to the general central processing unit. For reasons of performance it is desired to use algorithms which allow parallelism. In our particular case we discuss a scatter storage technique and describe appropriate parallel methods for most of the common collision strategies. The methods are based on a possible partition of the range of the tableaddresses 0≦a≦N−1. However, in addition, we present a simple and easily implemented quadratic residue search which in itself can be used as a conventional sequential method. This algorithm is deduced from classical lemmas on the theory of quadratic residues for primes of the form 8m±3.
Zusammenfassung
Die vorliegende Arbeit geht von der unbestrittenen Tatsache aus, daß in Zukunft immer mehr für häufig vorkommende Aufgaben in einem Computer-System spezielle Prozessoren zur Entlastung der Zentraleinheit eingesetzt werden. Aus Gründen der Leistungsfähigkeit und in Anbetracht der fallenden Kosten für Hardware ist man zur Lösung solcher Teilaufgaben an Algorithmen interessiert, die parallele Verarbeitung erlauben. Im konkreten Beispiel wird untersucht, wie Kollisionsstrategien durch mehrere Prozessoren beim Suchen in einer Hashtabelle ausgeführt werden können. Im besonderen wird eine quadratische Kollisionsstrategie entwickelt, die die ganze Tabelle bestreicht und wesentlich einfacher ist, als die bekannten (sequentiellen) Verfahren. Die Methode beruht auf Ergebnissen aus der Theorie der Quadratreste und ist auch als ein sequentielles Verfahren für Tabellenlängenp=8m±3 effizienter als vergleichbare andere Kollisionsstrategien.
Similar content being viewed by others
References
[AC 74] Ackermann, A. F.: Quadratic search for Hash tables of sizep n. Comm. ACM17, 164 (1974).
[BE 70] Bell, J. R.: The quadratic quotient method: a Hashcode eliminating secondary clustering. Comm. ACM13, 107–109 (1970).
[BH 73] Brinch Hansen, P.: Operating system principles. Prentice-Hall 1973.
[BK 70] Bell, J. R., Kaman, C. H.: The linear quotient Hash code. Comm. ACM13, 675–677 (1970).
[BU 63] Buchholz, W.: File organization and addressing. IBM Syst. Journal1963, 80–111.
[BU 73] Burkhard, W. A.: Full table quadratic quotient scatter table searching. Proc. 6th Hawaii Int. Conf. on System Sc., 81–82 (1973).
[CM 79] Chroust, G., Mühlbacher, J. R.: Rivalling multiprocessor organization: An approach to performance increases. Euromicro-Journal5, 65–72 (1979).
[DA 70] Day, A. C.: Full table quadratic searching for scatter storage. Comm. ACM13, 481–482 (1970).
[HA 64] Hasse, H.: Vorlesungen über Zahlentheorie. Berlin-Göttingen-Heidelberg-New York: Springer 1964.
[HE 63] Heising, W. P.: Note on random addressing techniques. IBM Syst. Journal1963, 112–116.
[KN 73] Knuth, D. E.: The art of computer programming, Vol. 3, Searching and Sorting. 1973.
[LA 70] Lamport, L.: Comment on Bell's quadratic quotient method for Hash code searching. Comm. ACM13, 573–574 (1970).
[LA 77] Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. o. Softw. Eng.SE-3, 125–143 (1977).
[LU 72] Luccio, F.: Weighted increment linear search for scatter tables. Comm. ACM15, 1045–1047 (1972).
[MA 68] Maurer, W. D.: An improved Hash code for scatter storage. Comm. ACM11, 35–38 (1968).
[MO 68] Morris, R.: Scatter storage techniques. Comm. ACM11, 38–43 (1968).
[MU 75] Mühlbacher, J. R.: Datenstrukturen. München: Carl Hanser Verlag 1975.
[PE 57] Peterson, W. W.: Adressing for random acces storage. IBM J. Res. Dev.1, 130–146 (1957).
[RA 70] Radke, C. E.: The use of quadratic residue research. Comm. ACM13, 103–107 (1970).
[SE 74] Severance, D. G.: Identifier search mechanisms: a survey and generalized method. Comp. Surveys6, 1975–1994 (1974).
[WI 71] Williams, J. G.: Storage utilization in a memory hierarchy, when storage assignment is performed by a Hashing algorithm. Comm. ACM14, 1972–1975 (1971).
Author information
Authors and Affiliations
Additional information
Research for this paper has been supported partially by the Austrian Fonds zur Förderung der wissenschaftlichen Forschung under project 3489.
Rights and permissions
About this article
Cite this article
Mühlbacher, J.R. Full table scatter storage parallel searching. Computing 26, 9–18 (1981). https://doi.org/10.1007/BF02243419
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF02243419