ation-based for- warding that will be decided on rules applied to a set of up to eight fields. With millions of users and tens of millions of active sessions in a large metropolitan network, a router's classifier must be able to look up answers by searching through a database of two plus million rules. 2,3 Given the current status of CAM technology, which is already pushing silicon to its limits (which keeps the costs high through semiconductor production yield), Figure 12.4 proves that in order for the trend to continue, CAM vendors will have to come up with new advanced techniques such as paral- lel lookup engines that will allow the concurrent execution of even more searches per second. 2. Jose Pereira, "Moving Classification and Forwarding to OC-768," a NetLogic Microsystems white paper. 3. IDT white paper, "Taking Packet Processing to the Next Level." Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. SEARCH ENGINES 226 NETWORK PROCESSORS In summary, CAMs assist the systems designer when the following tasks are performed: Recognizing large bit patterns (they do a lot of work per trip across the I/O pins), where approaches using conventional memory typically need to make many trips as the bit pattern to be classified gets bigger. Handling tables that are small (storing large lookup tables in CAMs is prohibitively expensive in terms of both chip cost and power). An application environment where lookup latency is critical (although latency can often be hidden with a suitable use of pipelining and threads with memory-based approaches). MANAGEMENT OF TABLES INSIDE A CAM The direct cost of a CAM in dollars and the indirect cost of its use, such as power consumption and line-card board real estate, are probably the two main driving forces behind the creativity that design- ers must exhibit to optimize the functionality of CAMs. It is important to