High-Performance Interconnects, Symposium on (2002)
Stanford, California, USA
Aug. 21, 2002 to Aug. 23, 2002
Samar Sharma , Cisco Systems
Rina Panigrahy , Cisco Systems
<p>Sorting and searching are classic problems in computing and several RAM based solutions exist. In this paper, we present sorting and searching algorithms using TCAMs. Using these algorithms, one can perform sorting in O(n) memory cycles using a TCAM. Furthermore, inserts and deletes to a sorted list and priority queue operations can be done in O(1) cycles.</p> <p>A searching problem may typically involve finding if a query point is contained in a given set of ranges. We call this the point intersection problem. The ranges may be inserted or deleted from the set dynamically.</p> <p>For these problems, we present several algorithms with different time, space and implementation complexity tradeoffs. One of the algorithms uses only O(1) time for all operations and O(1) space for each range in the set when the ranges are disjoint. More precisely, one can perform disjoint range search in one memory cycle using a 2-stage pipeline. We also provide several solutions in scenarios where the ranges in the set are allowed to overlap.</p>
R. Panigrahy and S. Sharma, "Sorting and Searching Using Ternary CAMs," High-Performance Interconnects, Symposium on(HOTI), Stanford, California, USA, 2002, pp. 101.