{"title":"超立方体中的平行k集互区间连接","authors":"Hong Shen","doi":"10.1016/0165-6074(95)00018-J","DOIUrl":null,"url":null,"abstract":"<div><p>The mutual range-join of <em>k</em> sets, <em>S</em><sub>1</sub>, <em>S</em><sub>2</sub>,…, <em>S</em><sub><em>k</em></sub>, is the set containing all tuples (<em>s</em><sub>1</sub>, <em>s</em><sub>2</sub>…, <em>s</em><sub><em>k</em></sub>) that satisfy <span><math><msub><mi></mi><mn>1</mn></msub><mtext> ≤ ¦s</mtext><msub><mi></mi><mn>i</mn></msub><mtext> − s</mtext><msub><mi></mi><mn>j</mn></msub></math></span> ¦ ≤ e<sub>2</sub> for all 1 ≤<em>i</em>≠<em>j</em>≤<em>k</em>, where <em>s</em><sub><em>i</em></sub> <em>ϵ</em> <em>S</em><sub><em>i</em></sub> and <em>e</em><sub>1</sub> ≤ <em>e</em><sub>2</sub> are fixed constants. This paper presents an efficient parallel algorithm for computing the <em>k</em>-set mutual range-join in hypercube computers. The proposed algorithm uses a fast method to determine whether the differences of all pair numbers among <em>k</em> given numbers are within a given range and applies the technique of permutation-based range-join [11]. To compute the mutual range-join of <em>k</em> sets <em>S</em><sub>1</sub>,<em>S</em><sub>2</sub>,…, <em>S</em><sub><em>k</em></sub> in a hypercube of <em>p</em> processors with <em>O</em>(∑<sup><em>k</em></sup><sub><em>i</em> = 1</sub><em>n</em><sub><em>i</em></sub><em>n</em><sub><em>i</em></sub>/<em>p</em>) local memory, <span><math><mtext>p ≤ ¦S</mtext><msub><mi></mi><mn>i</mn></msub><mtext>¦ = n</mtext><msub><mi></mi><mn>i</mn></msub></math></span> and 1 ≤ <em>i</em> ≤ <em>k</em>, our algorithm requires at most <em>O</em>((<em>k</em> <em>log</em> <em>k</em>/<em>p</em>)<em>π</em><sup><em>k</em></sup><sub><em>i</em> = 1</sub><em>n</em><sub><em>i</em></sub>) data comparisons in the worst case. The algorithm is implemented in <em>PVM</em> and its performance is extensively evaluated on various input data.</p></div>","PeriodicalId":100927,"journal":{"name":"Microprocessing and Microprogramming","volume":"41 7","pages":"Pages 443-448"},"PeriodicalIF":0.0000,"publicationDate":"1995-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0165-6074(95)00018-J","citationCount":"2","resultStr":"{\"title\":\"Parallel K-set mutual range-join in hypercubes\",\"authors\":\"Hong Shen\",\"doi\":\"10.1016/0165-6074(95)00018-J\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>The mutual range-join of <em>k</em> sets, <em>S</em><sub>1</sub>, <em>S</em><sub>2</sub>,…, <em>S</em><sub><em>k</em></sub>, is the set containing all tuples (<em>s</em><sub>1</sub>, <em>s</em><sub>2</sub>…, <em>s</em><sub><em>k</em></sub>) that satisfy <span><math><msub><mi></mi><mn>1</mn></msub><mtext> ≤ ¦s</mtext><msub><mi></mi><mn>i</mn></msub><mtext> − s</mtext><msub><mi></mi><mn>j</mn></msub></math></span> ¦ ≤ e<sub>2</sub> for all 1 ≤<em>i</em>≠<em>j</em>≤<em>k</em>, where <em>s</em><sub><em>i</em></sub> <em>ϵ</em> <em>S</em><sub><em>i</em></sub> and <em>e</em><sub>1</sub> ≤ <em>e</em><sub>2</sub> are fixed constants. This paper presents an efficient parallel algorithm for computing the <em>k</em>-set mutual range-join in hypercube computers. The proposed algorithm uses a fast method to determine whether the differences of all pair numbers among <em>k</em> given numbers are within a given range and applies the technique of permutation-based range-join [11]. To compute the mutual range-join of <em>k</em> sets <em>S</em><sub>1</sub>,<em>S</em><sub>2</sub>,…, <em>S</em><sub><em>k</em></sub> in a hypercube of <em>p</em> processors with <em>O</em>(∑<sup><em>k</em></sup><sub><em>i</em> = 1</sub><em>n</em><sub><em>i</em></sub><em>n</em><sub><em>i</em></sub>/<em>p</em>) local memory, <span><math><mtext>p ≤ ¦S</mtext><msub><mi></mi><mn>i</mn></msub><mtext>¦ = n</mtext><msub><mi></mi><mn>i</mn></msub></math></span> and 1 ≤ <em>i</em> ≤ <em>k</em>, our algorithm requires at most <em>O</em>((<em>k</em> <em>log</em> <em>k</em>/<em>p</em>)<em>π</em><sup><em>k</em></sup><sub><em>i</em> = 1</sub><em>n</em><sub><em>i</em></sub>) data comparisons in the worst case. The algorithm is implemented in <em>PVM</em> and its performance is extensively evaluated on various input data.</p></div>\",\"PeriodicalId\":100927,\"journal\":{\"name\":\"Microprocessing and Microprogramming\",\"volume\":\"41 7\",\"pages\":\"Pages 443-448\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1995-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/0165-6074(95)00018-J\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Microprocessing and Microprogramming\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/016560749500018J\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Microprocessing and Microprogramming","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/016560749500018J","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The mutual range-join of k sets, S1, S2,…, Sk, is the set containing all tuples (s1, s2…, sk) that satisfy ¦ ≤ e2 for all 1 ≤i≠j≤k, where siϵSi and e1 ≤ e2 are fixed constants. This paper presents an efficient parallel algorithm for computing the k-set mutual range-join in hypercube computers. The proposed algorithm uses a fast method to determine whether the differences of all pair numbers among k given numbers are within a given range and applies the technique of permutation-based range-join [11]. To compute the mutual range-join of k sets S1,S2,…, Sk in a hypercube of p processors with O(∑ki = 1nini/p) local memory, and 1 ≤ i ≤ k, our algorithm requires at most O((klogk/p)πki = 1ni) data comparisons in the worst case. The algorithm is implemented in PVM and its performance is extensively evaluated on various input data.