1: \begin{thebibliography}{10}
2:
3: \bibitem{pim}
4: T.E. Anderson, S.S. Owicki, J.B. Saxe, and C.P. Thacker.
5: \newblock High speed switch scheduling for local area networks.
6: \newblock {\em In ACM Transactions on Computer Systems}, November 1993.
7:
8: \bibitem{classify12}
9: F.~Baboescu and G.~Varghese.
10: \newblock Scalable packet classification.
11: \newblock In {\em Proceedings of ACM SIGCOMM}, 2001.
12:
13: \bibitem{classify7}
14: M.M. Buddhikot and M.~Waldvogel S.~Suri.
15: \newblock Space decomposition techniques for fast layer-4 switching.
16: \newblock In {\em Proceedings of Protocols for High Speed Networks (pfHSN99)},
17: 1999.
18:
19: \bibitem{cport}
20: C-5 : C-5[tm] network processor (np).
21: \newblock http://www.motorola.cport.com.
22:
23: \bibitem{msfq}
24: Yen-Ping Chu and E-Hong Hwang.
25: \newblock A new packet scheduling algorithm: Minimum starting-tag fair
26: queueing.
27: \newblock {\em In Transactions on Communications}, October 1997.
28:
29: \bibitem{cioq}
30: Shang-Tse Chuang, Ashish Goel, Nick McKeown, and Balaji Prabhakar.
31: \newblock Matching output queueing with a combined input output queued switch.
32: \newblock In {\em Proceedings of IEEE INFOCOM}, 1998.
33:
34: \bibitem{srr}
35: Guo Chuanxiong.
36: \newblock Srr: An o(1) time complexity packet scheduler for flows in
37: multi-service packet networks.
38: \newblock In {\em Proceedings of ACM SIGCOMM}, 2001.
39:
40: \bibitem{attinternet}
41: K.G. Coffman and A.M. Odlyzko.
42: \newblock Internet growth: Is there a moore's law for data traffic.
43: \newblock Technical report, ATT, 2001.
44:
45: \bibitem{fq90}
46: Alan Demers, Srinivasan Keshav, and Scott Shenker.
47: \newblock Analysis and simulation of a fair queueing algorithm.
48: \newblock {\em In Internetworking: Research and Experience}, September 1990.
49:
50: \bibitem{ezchip}
51: Ezchip technologies 10/40-gigabit 7-layer network processors.
52: \newblock http://www.ezchip.com.
53:
54: \bibitem{classify4}
55: Anja Feldman and S.~Muthukrishnan.
56: \newblock Tradeoffs for packet classification.
57: \newblock In {\em Proceedings of IEEE INFOCOM}, 2000.
58:
59: \bibitem{scfq}
60: S.~Jamaloddin Golestani.
61: \newblock A self-clocked fair queueing scheme for broadband applications.
62: \newblock In {\em Proceedings of IEEE INFOCOM}, June 1994.
63:
64: \bibitem{cache-ecsl2}
65: Kartik Gopalan and Tzicker Chiueh.
66: \newblock Improving route lookup performance using network processor cache.
67: \newblock In {\em Proceedings of SC High Performance Networking and Computing},
68: 2002.
69:
70: \bibitem{sfq}
71: Pawan Goyal, Harrick~M. Vin, and Haichen Cheng.
72: \newblock Start-time fair queueing: A scheduling algorithm for integrated
73: services packet switching networks.
74: \newblock {\em In Computer Communications Review}, October 2000.
75:
76: \bibitem{classify3}
77: Pankaj Gupta and Nick McKeown.
78: \newblock Packet classification on multiple fields.
79: \newblock In {\em Proceedings of ACM SIGCOMM}, 1999.
80:
81: \bibitem{classify6}
82: Pankaj Gupta and Nick McKeown.
83: \newblock Packet classification using hierarchical intelligent cuttings.
84: \newblock In {\em Proceedings of Hot Interconnects VII}, 1999.
85:
86: \bibitem{bi-match2}
87: J.E. Hopcroft and R.M. Karp.
88: \newblock An $n^{2.5}$ algorithm for maximum matching in bipartite graphs.
89: \newblock {\em In Society for Industrial and Applied Mathematics Journal of
90: Computation}, 1973.
91:
92: \bibitem{ixp1200}
93: Intel ixp1200.
94: \newblock http://www.intel.com/design/network/products/npfamily/ixp1200.htm.
95:
96: \bibitem{ecqf}
97: Sundar Iyer, Ramana~Rao Kompella, and Nick McKeown.
98: \newblock Analysis of a memory architecture for fast packet buffers.
99: \newblock In {\em Proceedings of IEEE Workshop on High Performance Switching
100: and Routing}, May 2001.
101:
102: \bibitem{pps}
103: Sundar Iyer and Nick McKeown.
104: \newblock Analysis of the parallel packet switch architecture.
105: \newblock {\em IEEE ACM Transactions on Networking}, April 2003.
106:
107: \bibitem{sbrouter}
108: Sundar Iyer, Rui Zhang, and Nick McKeown.
109: \newblock Routers with a single stage of buffering.
110: \newblock In {\em Proceedings of ACM SIGCOMM}, 2002.
111:
112: \bibitem{ping-pong}
113: Youngmi Joo and Nick McKeown.
114: \newblock Doubling memory bandwidths for network buffers.
115: \newblock In {\em Proceedings of IEEE Infocom}, April 1998.
116:
117: \bibitem{classify1}
118: T.V. Lakshman and D.~Stiliadis.
119: \newblock High-speed policy-based packet forwarding using efficient
120: multi-dimensional range matching.
121: \newblock In {\em Proceedings of ACM SIGCOMM}, 1998.
122:
123: \bibitem{sw-survey1}
124: M.~Ajmone Marsan, A.~Bianco, et~al.
125: \newblock On the behavior of input queueing switch architectures.
126: \newblock {\em In European Transactions on Telecommunications}, March 2000.
127:
128: \bibitem{islip}
129: Nick McKeown.
130: \newblock islip: A scheduling algorithm for input-queued switches.
131: \newblock {\em In IEEE Transactions on Networking}, 7(2), April 1999.
132:
133: \bibitem{sw-survey2}
134: Nick McKeown and Thomas~E. Anderson.
135: \newblock A quantitaive comparison of scheduling algorithms for input-queued
136: switches.
137: \newblock {\em In Computer Networks and ISDN Systems}, 30(24):2309--2326, 1998.
138:
139: \bibitem{ocf}
140: Adisak Mekkittikul and Nick McKeown.
141: \newblock A starvation-free algorithm for achieving 100\% throughput in an
142: input-queued switch.
143: \newblock In {\em Proceedings of ICCCN}, 1996.
144:
145: \bibitem{lqf}
146: Adisak Mekkittikul and Nick McKeown.
147: \newblock A starvation-free algorithm for achieving 100\% throughput in an
148: input-queued switch.
149: \newblock In {\em Proceedings of ICCCN}, 1996.
150:
151: \bibitem{netbench}
152: Gokhan Memik, William~H. Mangione-Smith, and Wendong Hu.
153: \newblock Netbench: A benchmarking suite for network processors.
154: \newblock In {\em Proceedings of ICCAD}, 2001.
155:
156: \bibitem{mmcNP}
157: Mmc networks - np7xxx.
158: \newblock http://www.mmcnetworks.com.
159:
160: \bibitem{lookup1}
161: Donald~R. Morrison.
162: \newblock Patricia - practical algorithm to retrieve information coded in
163: alphanumeric.
164: \newblock {\em In Journal of the Asociation for Computing Machinery}, October
165: 1989.
166:
167: \bibitem{pilo}
168: Anindya Neogi.
169: \newblock Gigabit ip network devices.
170: \newblock Research Proficiency Examination Report: Section 6, 1999.
171:
172: \bibitem{pgps}
173: Abhay~K. Parekh and Robert~G. Gallager.
174: \newblock A generalised processor sharing approach to flow control in
175: integrated services networks: the single-node case.
176: \newblock {\em In IEEE/ACM Transactions on Networking}, June 2000.
177:
178: \bibitem{payloadplus}
179: Lucent agere payload plus.
180: \newblock http://www.agere.com.
181:
182: \bibitem{powernp}
183: Ibm powernp.
184: \newblock
185: http://www-3.ibm.com/chips/techlib/techlib.nsf/products/IBM\_PowerNP\_NP4GS3.
186:
187: \bibitem{dfq}
188: Prashant Pradhan.
189: \newblock {\em Link Scheduling}.
190: \newblock PhD thesis, Stony Brook University, 2001.
191:
192: \bibitem{cache-ecsl}
193: Prashant Pradhan and Tzicker Chiueh.
194: \newblock Cache memory design for network processors.
195: \newblock In {\em Proceedings of Sixth Symposium on High-Performance Computer
196: Architecture (HPCA-6)}, 2000.
197:
198: \bibitem{compgeom}
199: F.~Preparata and M.I. Shamos.
200: \newblock {\em Computational Geometry: An Introduction}.
201: \newblock Springer-Verlag, 1985.
202:
203: \bibitem{classify9}
204: Lili Qiu, G.~Varghese, and S.~Suri.
205: \newblock Fast firewall implementations for software and hardware-based
206: routers.
207: \newblock In {\em Proceedings of ICNP}, 2001.
208:
209: \bibitem{npfbwg}
210: Network processors benchmark framework.
211: \newblock NP BenchMarking Workgroup (http://www.npforum.org).
212:
213: \bibitem{random2}
214: Devavrat Shah, Paolo Giaccone, , and Balaji Prabhakar.
215: \newblock An efficient randomized algorithm for input-queued switch scheduling.
216: \newblock In {\em IEEE Micro}, January 2002.
217:
218: \bibitem{drr}
219: M.~Shreedhar and George Varghese.
220: \newblock Efficient fair queueing using deficit round robin.
221: \newblock In {\em Proceedings of ACM SIGCOMM}, 1995.
222:
223: \bibitem{classify11}
224: V.~Srinivasan.
225: \newblock A packet classification and filter management system.
226: \newblock In {\em Proceedings of IEEE INFOCOM}, 2001.
227:
228: \bibitem{classify5}
229: V.~Srinivasan, S.~Suri G.~Varghese, and M.~Waldvogel.
230: \newblock Fast and scalable layer four switching.
231: \newblock In {\em Proceedings of ACM SIGCOMM}, 1998.
232:
233: \bibitem{tss}
234: V.~Srinivasan, S.~Suri, and G.~Varghese.
235: \newblock Packet classification using tuple space search.
236: \newblock In {\em Proceedings of ACM SIGCOMM}, 1999.
237:
238: \bibitem{dpfq}
239: Donpaul Stephens and Hui Zhang.
240: \newblock Implementing distributed packet fair queueing in a scalable switch
241: architecture.
242: \newblock In {\em Proceedings of IEEE INFOCOM}, 1998.
243:
244: \bibitem{wpim}
245: Dimitrios Stiliadis and Anujan Varma.
246: \newblock Providing bandwidth guarantees in an input0-buffered crossbar switch.
247: \newblock In {\em Proceedings of IEEE INFOCOM}, 1995.
248:
249: \bibitem{rps}
250: Dimitrios Stiliadis and Anujan Varma.
251: \newblock Rate proportional servers: A design methodology for fair queueing
252: algorithms.
253: \newblock {\em In IEEE/ACM Transactions on Networking}, April 2000.
254:
255: \bibitem{bi-match1}
256: R.E. Tarjan.
257: \newblock Data structures and network algorithms.
258: \newblock {\em In Society for Industrial and Applied Mathematics Journal of
259: Computation}, 1983.
260:
261: \bibitem{random1}
262: Leandros Tassiulas.
263: \newblock Linear complexity algorithms for maximum throughput in radio in
264: networks and input queued switches.
265: \newblock In {\em Proceedings of IEEE INFOCOM}, 1998.
266:
267: \bibitem{ucbBM}
268: Mel Tsai, C.~Kulkarni, et~al.
269: \newblock A benchmarking methodology for network processors.
270: \newblock In {\em Proceedings of First Workshop on Network Processors}, 2002.
271:
272: \bibitem{smt}
273: Dean~M. Tullsen, Susan~J. Eggers, and Henry~M. Levy.
274: \newblock Simultaneous multithreading: Maximizing on-chip parallelism.
275: \newblock In {\em Proceedings of ISCA}, June 1995.
276:
277: \bibitem{commbench}
278: Tilman Wolf and Mark Franklin.
279: \newblock Commbench - a telecommunications benchmark for network processors.
280: \newblock In {\em Proceedings of International Symposium on Performance
281: Analysis of Systems and Software}, 2000.
282:
283: \bibitem{vclock}
284: Lixia Zhang.
285: \newblock Virtual clock: A new traffic control algorithm for packet switching
286: networks.
287: \newblock In {\em Proceedings of ACM SIGCOMM}, 1990.
288:
289: \end{thebibliography}
290: