| Jorg Keller. Hashing and rehashing in emulated shared memory. Report CS--R9240, Centrum voor Wiskunde en Informatica, 1098 SJ Amsterdam, The Netherlands, 1992. |
.... some proper family of hash functions) and to rearrange the memory by choosing a new hash function hnew 2 H, if h turns out to be bad for the memory access patterns generated by the program(s) Choosing a proper hash functions for the emulation of shared memory has been studied extensively in e.g. [41, 26, 14, 11, 28, 17]. In this context, hash function h is often seen as a mapping from ZZ m 7 ZZ m , which is then used to define mappings own : ZZ m 7 f0; P Gamma 1g and loc : ZZ m 7 ZZ m 0 in the following way own(x) h(x) div m 0 ) mod P and loc(x) h(x) mod m 0 : It is obvious that h ....
....can easily be proved to be bijective, if m = 2 k for some k 2 IN , since gcd(a; 2 k ) 1. The reorganizing of memory is an expensive operation, and therefore the triggering criteria of reorganizing must be chosen very carefully. For the reorganizing we apply the methods used on the butterfly [44, 28]. If the processors have an extra shade memory of size O(m=P ) then it takes at most T 2D rehash (P; m) O(m P 2 ) respectivelyT 3D rehash (N ) O(m P 3=2 ) routing steps to rehash according to H mult or H i on a p N Theta p N coated mesh (respectively on a 3 p N Theta 3 ....
[Article contains additional citation context not shown here]
J. Keller. Hashing and Rehashing in Emulated Shared Memory. Technical Report CS-R9240, CWI, 1992.
....of the shared memory, and tools like routing, sorting and synchronization. Next, we review and modify known results concerning those tools and techniques for using later on. 3. 1 Hashing Choosing a proper hash function h for the emulation of shared memory has been studied extensively in e.g. [56, 36, 15, 19] (see also [44, Section 3.4.5] In this context hash function h is often seen as a mapping from M 7 M , which is then used to define mappings owner : M 7 f0; p N Gamma 1g Theta f0; p N Gamma 1g (in the case of p N Theta p N mesh) and location : M 7 f0; m ....
....hashing, but just remapping within the memory module. In that case, it might be necessary to send Mk in messages instead of location(Mk ) 14 It is, however, possible to reduce the cost with overloading and pipelining. For rehashing we can apply the methods that have been used on the butterfly [56, 36]. If processors have an extra shade memory of size O(m=N ) then it takes time T 2D rehash (N ) O(m= p N ) respectively T 3D rehash (N ) O( 3 p Nm=N ) to rehash according to H mult on p N Theta p N mesh (respectively 3 p N Theta 3 p N Theta 3 p N mesh) 36] Similarly, ....
[Article contains additional citation context not shown here]
J. Keller. Hashing and Rehashing in Emulated Shared Memory. Technical Report CS-R9240, CWI, 1992.
....to be permuted without additional storage. This can be done by starting with an item x and following the cycle x; x) x) x. At most two items have to be backed up, no matter how long the cycle is. If the permutation is fixed as in [1] or the class of permutations is restricted as in [3], then the structure of the permutation can be used to schedule the work between the processors. Otherwise, we have to keep track about which data items already have been visited, in order to prevent two processors working on the same cycle and permuting some items twice. This simple idea leads to ....
Jorg Keller. Hashing and rehashing in emulated shared memory. Report CS--R9240, Centrum voor Wiskunde en Informatica, 1098 SJ Amsterdam, The Netherlands, 1992.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC