Louri A, Hatch J A, Na J
Appl Opt. 1995 Jun 10;34(17):3087-96. doi: 10.1364/AO.34.003087.
Sorting is a fundamental operation that has important implications in a vast number of areas. For instance, sorting is heavily utilized in applications such as database machines, in which hashing techniques are used to accelerate data-processing algorithms. It is also the basis for interprocessor message routing and has strong implications in video telecommunications. However, high-speed electronic sorting networks are difficult to implement with VLSI technology because of the dense, global connectivity required. Optics eliminates this bottleneck by offering global interconnects, massive parallelism, and noninterfering communications. We present a parallel sorting algorithm and its efficient optical implementation. The algorithm sorts n data elements in few steps, independent of the number of elements to be sorted. Thus it is a constant-time sorting algorithm [i.e., O(1) time]. We also estimate the system's performance to show that the proposed sorting algorithm can provide at least 2 orders of magnitude improvement in execution time over conventional electronic algorithms.
排序是一项基本操作,在众多领域都有着重要意义。例如,排序在诸如数据库机器等应用中被大量使用,在数据库机器中,哈希技术被用于加速数据处理算法。它也是处理器间消息路由的基础,并且在视频通信中有着重要影响。然而,由于所需的密集全局连接性,高速电子排序网络难以用超大规模集成电路(VLSI)技术来实现。光学技术通过提供全局互连、大规模并行性和无干扰通信消除了这一瓶颈。我们提出了一种并行排序算法及其高效的光学实现。该算法能在几步内对n个数据元素进行排序,与要排序的元素数量无关。因此它是一种常数时间排序算法[即O(1)时间]。我们还估计了系统性能,以表明所提出的排序算法在执行时间上比传统电子算法至少能提高两个数量级。