当前位置: X-MOL 学术arXiv.cs.DS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Searching and Sorting with O(n^2) processors in O(1) time
arXiv - CS - Data Structures and Algorithms Pub Date : 2020-11-23 , DOI: arxiv-2011.11144
Taeyoung An, A. Yavuz Oruc

The proliferation of number of processing elements (PEs) in parallel computer systems, along with the use of more extensive parallelization of algorithms causes the interprocessor communications dominate VLSI chip space. This paper proposes a new architecture to overcome this issue by using simple crosspoint switches to pair PEs instead of a complex interconnection network. Based on the cyclic permutation wiring idea described in \cite{oruc2016self}, this pairing leads to a linear crosspoint array of $n(n-1)/2$ processing elements and as many crosspoints. We demonstrate the versatility of this new parallel architecture by designing fast searching and sorting algorithms for it. In particular, we show that finding a minimum, maximum, and searching a list of $n$ elements can all be performed in $O(1)$ time with elementary logic gates with $O(n)$ fan-in, and in $O(\lg n)$ time with $O(1)$ fan-in. We further show that sorting a list of $n$ elements can also be carried out in $O(1)$ time using elementary logic gates with $O(n)$ fan-in and threshold logic gates. The sorting time increases to $O(\lg n\lg\lg n)$ if only elementary logic gates with $O(1)$ fan-in are used. The algorithm can find the maximum among $n$ elements in $O(1)$ time, and sort $n$ elements in $O(\lg n (\lg\lg n))$ time. In addition, we show how other fundamental queries can be handled within the same order of time complexities.

中文翻译:

在O(1)时间内使用O(n ^ 2)个处理器进行搜索和排序

并行计算机系统中处理元件(PE)数量的激增,以及使用更广泛的算法并行化导致处理器间通信在VLSI芯片空间中占主导地位。本文提出了一种新的体系结构,可以通过使用简单的交叉点交换机将PE配对而不是使用复杂的互连网络来解决此问题。根据\ cite {oruc2016self}中描述的循环置换连线思想,此配对将导致一个线性交叉点数组,其中包含$ n(n-1)/ 2 $个处理元素和许多交叉点。我们通过为其设计快速搜索和排序算法来证明这种新的并行体系结构的多功能性。特别是,我们表明找到最小,最大,搜索$ n $元素的列表都可以在$ O(1)$时间使用扇形输入$ O(n)$进行基本逻辑门,而在$ O(\ lg n)$时间使用$ O执行(1)$扇入。我们进一步表明,使用具有$ O(n)$扇入和阈值逻辑门的基本逻辑门,也可以在$ O(1)$时间内对$ n $元素列表进行排序。如果仅使用带有$ O(1)$扇入的基本逻辑门,则排序时间将增加到$ O(\ lg n \ lg \ lg n)$。该算法可以在$ O(1)$时间中找到$ n $个元素中的最大值,并在$ O(\ lg n(\ lg \ lg n))$个时间中对$ n $个元素进行排序。此外,我们展示了如何在相同的时间复杂度顺序内处理其他基本查询。我们进一步表明,使用具有$ O(n)$扇入和阈值逻辑门的基本逻辑门,也可以在$ O(1)$时间内对$ n $元素列表进行排序。如果仅使用带有$ O(1)$扇入的基本逻辑门,则排序时间将增加到$ O(\ lg n \ lg \ lg n)$。该算法可以在$ O(1)$时间中找到$ n $个元素中的最大值,并在$ O(\ lg n(\ lg \ lg n))$个时间中对$ n $个元素进行排序。此外,我们展示了如何在相同的时间复杂度顺序内处理其他基本查询。我们进一步表明,使用具有$ O(n)$扇入和阈值逻辑门的基本逻辑门,也可以在$ O(1)$时间内对$ n $元素列表进行排序。如果仅使用带有$ O(1)$扇入的基本逻辑门,则排序时间将增加到$ O(\ lg n \ lg \ lg n)$。该算法可以在$ O(1)$时间中找到$ n $个元素中的最大值,并在$ O(\ lg n(\ lg \ lg n))$个时间中对$ n $个元素进行排序。此外,我们展示了如何在相同的时间复杂度顺序内处理其他基本查询。
更新日期:2020-11-25
down
wechat
bug