| US 7,536,674 B2 | ||
| Method and system for configuring network processing software to exploit packet flow data locality | ||
| James L. Jason, Hillsboro, Oreg. (US); Aaron R. Kunze, Portland, Oreg. (US); Erik J. Johnson, Portland, Oreg. (US); Harrick Vin, Austin, Tex. (US); and Ravi Sahita, Beaverton, Oreg. (US) | ||
| Assigned to Intel Corporation, Santa Clara, Calif. (US) | ||
| Filed on Aug. 13, 2003, as Appl. No. 10/639,501. | ||
| Prior Publication US 2005/0038937 A1, Feb. 17, 2005 | ||
| Int. Cl. G06F 9/44 (2006.01); G06F 9/445 (2006.01) | ||
| U.S. Cl. 717—106 [717/172; 717/177] | 16 Claims |

| 1. A method for automatically configuring network software, comprising:
analyzing network processing code to detect and interpret language therein relating to data structures;
determining a distribution of the data structures across respective local memories of a plurality of processing elements of
a network processor such that data structures specific to a particular packet flow are assigned to the local memory of a single
processing element;
generating modified network processing code configured to use the distribution to process packets;
generating run-time adaptive code to change the distribution of the data structures during execution of the modified network
processing code, based at least in part on frequency of accesses to the data structures; and
generating a classifier associated with the network processing code, the classifier being configured to distribute arriving
packets to appropriate processing elements, based upon which corresponding local memory stores the flow-specific data structures
associated with the flow to which a packet belongs.
|