System, apparatus and methods to implement high-speed network analyzers
Abstract
Systems, apparatus and methods for the implementation of high-speed network analyzers are provided. A set of high-level specifications is used to define the behavior of the network analyzer emitted by a compiler. An optimized inline workflow to process regular expressions is presented without sacrificing the semantic capabilities of the processing engine. An optimized packet dispatcher implements a subset of the functions implemented by the network analyzer, providing a fast and slow path workflow used to accelerate specific processing units. Such dispatcher facility can also be used as a cache of policies, wherein if a policy is found, then packet manipulations associated with the policy can be quickly performed. An optimized method of generating DFA specifications for network signatures is also presented. The method accepts several optimization criteria, such as min-max allocations or optimal allocations based on the probability of occurrence of each signature input bit.
- Inventors:
- Issue Date:
- Research Org.:
- Reservoir Labs, Inc., New York, NY(United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1225520
- Patent Number(s):
- 9185020
- Application Number:
- 12/770,649
- Assignee:
- Reservoir Labs, Inc. (New York, NY)
- Patent Classifications (CPCs):
-
H - ELECTRICITY H04 - ELECTRIC COMMUNICATION TECHNIQUE H04L - TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- DOE Contract Number:
- FG02-08ER85046
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2010 Apr 29
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 42 ENGINEERING
Citation Formats
Ezick, James, Lethin, Richard, Ros-Giralt, Jordi, Szilagyi, Peter, and Wohlford, David E. System, apparatus and methods to implement high-speed network analyzers. United States: N. p., 2015.
Web.
Ezick, James, Lethin, Richard, Ros-Giralt, Jordi, Szilagyi, Peter, & Wohlford, David E. System, apparatus and methods to implement high-speed network analyzers. United States.
Ezick, James, Lethin, Richard, Ros-Giralt, Jordi, Szilagyi, Peter, and Wohlford, David E. Tue .
"System, apparatus and methods to implement high-speed network analyzers". United States. https://www.osti.gov/servlets/purl/1225520.
@article{osti_1225520,
title = {System, apparatus and methods to implement high-speed network analyzers},
author = {Ezick, James and Lethin, Richard and Ros-Giralt, Jordi and Szilagyi, Peter and Wohlford, David E.},
abstractNote = {Systems, apparatus and methods for the implementation of high-speed network analyzers are provided. A set of high-level specifications is used to define the behavior of the network analyzer emitted by a compiler. An optimized inline workflow to process regular expressions is presented without sacrificing the semantic capabilities of the processing engine. An optimized packet dispatcher implements a subset of the functions implemented by the network analyzer, providing a fast and slow path workflow used to accelerate specific processing units. Such dispatcher facility can also be used as a cache of policies, wherein if a policy is found, then packet manipulations associated with the policy can be quickly performed. An optimized method of generating DFA specifications for network signatures is also presented. The method accepts several optimization criteria, such as min-max allocations or optimal allocations based on the probability of occurrence of each signature input bit.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2015},
month = {11}
}
Works referenced in this record:
An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS
conference, February 2007
- Vangal, Sriram; Howard, Jason; Ruhl, Gregory
- 2007 IEEE International Solid-State Circuits Conference. Digest of Technical Papers
A Compiler Framework for Tiling Imperfectly-Nested Loops
book, January 2000
- Song, Yonghong; Li, Zhiyuan; Goos, Gerhard
- Languages and Compilers for Parallel Computing
Normalised Givens rotations for recursive least squares processing
conference, January 1995
- McWhirter, J. G.; Walke, R. L.; Kadlec, J.
- VLSI Signal Processing, VIII
Flow-insensitive interprocedural alias analysis in the presence of pointers
book, June 2005
- Burke, Michael; Carini, Paul; Choi, Jong-Deok
- Languages and Compilers for Parallel Computing, p. 234-250
Maximal static expansion
conference, January 1998
- Barthou, Denis; Cohen, Albert; Collard, Jean-François
- Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98
Counting Integer Points in Parametric Polytopes Using Barvinok's Rational Functions
journal, February 2007
- Verdoolaege, Sven; Seghir, Rachid; Beyls, Kristof
- Algorithmica, Vol. 48, Issue 1
Array-data flow analysis and its use in array privatization
conference, January 1993
- Maydan, Dror E.; Amarasinghe, Saman P.; Lam, Monica S.
- Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93
A fast algorithm for finding dominators in a flowgraph
journal, January 1979
- Lengauer, Thomas; Tarjan, Robert Endre
- ACM Transactions on Programming Languages and Systems, Vol. 1, Issue 1
Maximizing parallelism and minimizing synchronization with affine transforms
conference, January 1997
- Lim, Amy W.; Lam, Monica S.
- Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '97
Polyhedral Code Generation in the Real World
book, January 2006
- Vasilache, Nicolas; Bastoul, Cedric; Cohen, Albert
- Compiler Construction, p. 185-201
Enabling Loop Fusion and Tiling for Cache Performance by Fixing Fusion-Preventing Data Dependences
conference, January 2005
- Jingling Xue,
- 2005 International Conference on Parallel Processing (ICPP'05)
Optimal weighted loop fusion for parallel programs
conference, January 1997
- Megiddo, Nimrod; Sarkar, Vivek
- Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures - SPAA '97
Register tiling in nonrectangular iteration spaces
journal, July 2002
- Jiménez, Marta; Llabería, José M.; Fernández, Agustín
- ACM Transactions on Programming Languages and Systems, Vol. 24, Issue 4
The Z-polyhedral model
conference, January 2007
- Gupta, Gautam; Rajopadhye, Sanjay
- Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '07
Conversion of control dependence to data dependence
conference, January 1983
- Allen, J. R.; Kennedy, Ken; Porterfield, Carrie
- Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '83
Efficient string matching: an aid to bibliographic search
journal, June 1975
- Aho, Alfred V.; Corasick, Margaret J.
- Communications of the ACM, Vol. 18, Issue 6
Software pipelining: an effective scheduling technique for VLIW machines
journal, July 1988
- Lam, M.
- ACM SIGPLAN Notices, Vol. 23, Issue 7
Sparsity in higher order methods for unconstrained optimization
journal, April 2012
- Gundersen, Geir; Steihaug, Trond
- Optimization Methods and Software, Vol. 27, Issue 2
Putting Polyhedral Loop Transformations to Work
book, January 2004
- Bastoul, Cédric; Cohen, Albert; Girbal, Sylvain
- Languages and Compilers for Parallel Computing
- p. 209-225
Parametric integer programming
journal, January 1988
- Feautrier, Paul
- RAIRO - Operations Research, Vol. 22, Issue 3
Static branch frequency and program profile analysis
conference, January 1994
- Wu, Youfeng; Larus, James R.
- Proceedings of the 27th annual international symposium on Microarchitecture - MICRO 27
On Tiling as a Loop Transformation
journal, December 1997
- Xue, Jingling
- Parallel Processing Letters, Vol. 07, Issue 04
The program dependence graph and its use in optimization
journal, July 1987
- Ferrante, Jeanne; Ottenstein, Karl J.; Warren, Joe D.
- ACM Transactions on Programming Languages and Systems, Vol. 9, Issue 3
Automatic mapping of nested loops to FPGAS
conference, January 2007
- Ramanujam, J.; Sadayappan, P.
- Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '07
Lattice-based memory allocation
conference, January 2003
- Darte, Alain; Schreiber, Rob; Villard, Gilles
- Proceedings of the international conference on Compilers, architectures and synthesis for embedded systems - CASES '03
Some efficient solutions to the affine scheduling problem. I. One-dimensional time
journal, October 1992
- Feautrier, Paul
- International Journal of Parallel Programming, Vol. 21, Issue 5, p. 313-347
Lattice-Based Memory Allocation
journal, October 2005
- Darte, A.; Schreiber, R.; Villard, G.
- IEEE Transactions on Computers, Vol. 54, Issue 10
Parallel Sparse Supports for Array Intrinsic Functions of Fortran 90
journal, March 2001
- Chang, Rong-Guey; Chuang, Tyng-Ruey; Lee, Jenq Kuen
- The Journal of Supercomputing, Vol. 18, Issue 3, p. 305-339
Tiling Imperfectly-nested Loop Nests
conference, January 2000
- Ahmed, N.; Mateev, N.; Pingali, K.
- ACM/IEEE SC 2000 Conference (SC'00)
Array expansion
conference, January 2014
- Feautrier, P.
- 25th Anniversary International Conference on Supercomputing Anniversary Volume -
An experimental evaluation of tiling and shackling for memory hierarchy management
conference, January 1999
- Kodukula, Induprakas; Pingali, Keshav; Cox, Robert
- Proceedings of the 13th international conference on Supercomputing - ICS '99
A Library for Doing Polyhedral Operations
journal, December 2000
- Wilde, Doran K.
- Parallel Algorithms and Applications, Vol. 15, Issue 3-4
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
conference, January 1977
- Cousot, Patrick; Cousot, Radhia
- Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '77
Distributed Microarchitectural Protocols in the TRIPS Prototype Processor
conference, December 2006
- Sankaralingam, Karthikeyan; Nagarajan, Ramadass; McDonald, Robert
- 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06)
Iterative modulo scheduling: an algorithm for software pipelining loops
conference, January 1994
- Rau, B. Ramakrishna
- Proceedings of the 27th annual international symposium on Microarchitecture - MICRO 27
On the Best Rank-1 and Rank-( R 1 , R 2 ,. . ., R N ) Approximation of Higher-Order Tensors
journal, January 2000
- De Lathauwer, Lieven; De Moor, Bart; Vandewalle, Joos
- SIAM Journal on Matrix Analysis and Applications, Vol. 21, Issue 4
Ultra-fast aliasing analysis using CLA: a million lines of C code in a second
conference, January 2001
- Heintze, Nevin; Tardieu, Olivier
- Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation - PLDI '01
A simple graph-based intermediate representation
conference, January 1995
- Click, Cliff; Paleczny, Michael
- Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations -
Compiler Transformation of Pointers to Explicit Array Accesses in DSP Applications
book, January 2001
- Franke, Björn; O’Boyle, Michael; Goos, Gerhard
- Compiler Construction
Generation of high-performance protocol-aware analyzers with applications in intrusion detection systems
conference, April 2010
- Ros-Giralt, Jordi; Szilagyi, Peter; Ezick, James
Revisiting the decomposition of Karp, Miller and Winograd
conference, January 1995
- Darte, A.; Vivien, F.
- Proceedings The International Conference on Application Specific Array Processors
A unified approach to global program optimization
conference, January 1973
- Kildall, Gary A.
- Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '73
Efficiently computing static single assignment form and the control dependence graph
journal, October 1991
- Cytron, Ron; Ferrante, Jeanne; Rosen, Barry K.
- ACM Transactions on Programming Languages and Systems, Vol. 13, Issue 4
Efficient data compression methods for multidimensional sparse array operations based on the ekmr scheme
journal, December 2003
- Chun-Yuan Lin,
- IEEE Transactions on Computers, Vol. 52, Issue 12
Scanning polyhedra with DO loops
conference, January 1991
- Ancourt, Corinne; Irigoin, François
- Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming - PPOPP '91
Early Control of Register Pressure for Software Pipelined Loops
book, January 2003
- Sid-Ahmed-Ali, Touati; Eisenbeis, Christine; Goos, Gerhard
- Compiler Construction
Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time
journal, December 1992
- Feautrier, Paul
- International Journal of Parallel Programming, Vol. 21, Issue 6
Supernode partitioning
conference, January 1988
- Irigoin, F.; Triolet, R.
- Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '88
Partial dead code elimination
conference, January 1994
- Knoop, Jens; Rüthing, Oliver; Steffen, Bernhard
- Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation - PLDI '94
Generation of Efficient Nested Loops from Polyhedra
journal, October 2000
- Quillere, Fabien; Rajopadhye, Sanjay; Wilde, Doran
- International Journal of Parallel Programming, Vol. 28, Issue 5, p. 469-498
Dataflow analysis of array and scalar references
journal, February 1991
- Feautrier, Paul
- International Journal of Parallel Programming, Vol. 20, Issue 1, p. 23-53
Synthesizing transformations for locality enhancement of imperfectly-nested loop nests
conference, January 2014
- Ahmed, Nawaaz; Mateev, Nikolay; Pingali, Keshav
- 25th Anniversary International Conference on Supercomputing Anniversary Volume -
The mapping of linear recurrence equations on regular arrays
journal, October 1989
- Quinton, Patrice; van Dongen, Vincent
- Journal of VLSI signal processing systems for signal, image and video technology, Vol. 1, Issue 2, p. 95-113
A Geometric Programming Framework for Optimal Multi-Level Tiling
conference, January 2004
- Renganarayana, L.; Rajopadhye, S.
- Proceedings of the ACM/IEEE SC2004 Conference
Precise Data Locality Optimization of Nested Loops
journal, January 2002
- Loechner, Vincent; Meister, Benoit; Clauss, Philippe
- The Journal of Supercomputing, Vol. 21, Issue 1, p. 37-76
Value dependence graphs: representation without taxation
conference, January 1994
- Weise, Daniel; Crew, Roger F.; Ernst, Michael
- Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '94
Scalable Tensor Decompositions for Multi-aspect Data Mining
conference, December 2008
- Kolda, Tamara G.; Sun, Jimeng
- 2008 Eighth IEEE International Conference on Data Mining (ICDM)
Operator strength reduction
journal, September 2001
- Cooper, Keith D.; Simpson, L. Taylor; Vick, Christopher A.
- ACM Transactions on Programming Languages and Systems, Vol. 23, Issue 5
Space–time mapping and tiling: a helpful combination
journal, January 2004
- Griebl, Martin; Faber, Peter; Lengauer, Christian
- Concurrency and Computation: Practice and Experience, Vol. 16, Issue 23, p. 221-246
Aggressive inlining
journal, May 1997
- Ayers, Andrew; Schooler, Richard; Gottlieb, Robert
- ACM SIGPLAN Notices, Vol. 32, Issue 5
A practical automatic polyhedral parallelizer and locality optimizer
journal, May 2008
- Bondhugula, Uday; Hartono, Albert; Ramanujam, J.
- ACM SIGPLAN Notices, Vol. 43, Issue 6
Code generation for multiple mappings
conference, January 1994
- Kelly, W.; Pugh, W.; Rosser, E.
- Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation
A data locality optimizing algorithm
conference, January 1991
- Wolf, Michael E.; Lam, Monica S.
- Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation - PLDI '91
Iterated register coalescing
journal, May 1996
- George, Lal; Appel, Andrew W.
- ACM Transactions on Programming Languages and Systems, Vol. 18, Issue 3
Constant propagation with conditional branches
journal, April 1991
- Wegman, Mark N.; Zadeck, F. Kenneth
- ACM Transactions on Programming Languages and Systems, Vol. 13, Issue 2
Solution and Optimization of Systems of Pseudo-Boolean Constraints
journal, October 2007
- Aloul, Fadi A.; Ramani, Arathi; Sakallah, Karem A.
- IEEE Transactions on Computers, Vol. 56, Issue 10
Efficient representation scheme for multidimensional array operations
journal, March 2002
- Chun-Yuan Lin,
- IEEE Transactions on Computers, Vol. 51, Issue 3
Global code motion/global value numbering
journal, June 1995
- Click, Cliff
- ACM SIGPLAN Notices, Vol. 30, Issue 6
Code generation in the polytope model
conference, January 1998
- Griebl, M.; Lengauer, C.; Wetzel, S.
- Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192)
Undecidability of static analysis
journal, December 1992
- Landi, William
- ACM Letters on Programming Languages and Systems, Vol. 1, Issue 4
Fuzzy array dataflow analysis
journal, August 1995
- Collard, Jean-François; Barthou, Denis; Feautrier, Paul
- ACM SIGPLAN Notices, Vol. 30, Issue 8
Blocking and array contraction across arbitrarily nested loops using affine partitioning
conference, January 2001
- Lim, Amy W.; Liao, Shih-Wei; Lam, Monica S.
- Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming - PPoPP '01
An Efficient Inclusion-Based Points-To Analysis for Strictly-Typed Languages
book, January 2002
- Whaley, John; Lam, Monica S.; Goos, Gerhard
- Static Analysis
Adaptive array beamforming with fixed-point arithmetic matrix inversion using Givens rotations
conference, November 2001
- Rabinkin, Daniel V.; Song, William; Vai, M. Michael
On the (Im)possibility of Obfuscating Programs
book, January 2001
- Barak, Boaz; Goldreich, Oded; Impagliazzo, Rusell
- Advances in Cryptology — CRYPTO 2001
Symbolic array dataflow analysis for array privatization and program parallelization
conference, January 1995
- Gu, Junjie; Li, Zhiyuan; Lee, Gyungho
- Proceedings of the 1995 ACM/IEEE conference on Supercomputing (CDROM) - Supercomputing '95
Effective partial redundancy elimination
journal, June 1994
- Briggs, Preston; Cooper, Keith D.
- ACM SIGPLAN Notices, Vol. 29, Issue 6
Forward Communication Only Placements and Their Use for Parallel Program Construction
book, January 2005
- Griebl, Martin; Feautrier, Paul; Größlinger, Armin
- Languages and Compilers for Parallel Computing, p. 16-30
Configurable string matching hardware for speeding up intrusion detection
journal, March 2005
- Aldwairi, Monther; Conte, Thomas; Franzon, Paul
- ACM SIGARCH Computer Architecture News, Vol. 33, Issue 1
Memory optimization by counting points in integer transformations of parametric polytopes
conference, January 2006
- Seghir, Rachid; Loechner, Vincent
- Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems - CASES '06
Efficient code generation for automatic parallelization and optimization
conference, January 2003
- Bastoul, C.
- Second International Symposium on Parallel and Distributed Computing, 2003. Proceedings.
The Omega test: a fast and practical integer programming algorithm for dependence analysis
conference, January 1991
- Pugh, William
- Proceedings of the 1991 ACM/IEEE conference on Supercomputing - Supercomputing '91
Scanning polyhedra without Do-loops
conference, January 1998
- Boulet, P.; Feautrier, P.
- Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192)
Cache miss equations: a compiler framework for analyzing and tuning memory behavior
journal, July 1999
- Ghosh, Somnath; Martonosi, Margaret; Malik, Sharad
- ACM Transactions on Programming Languages and Systems, Vol. 21, Issue 4
Scaling to the end of silicon with EDGE architectures
journal, July 2004
- Burger, D.; Keckler, S. W.; McKinley, K. S.
- Computer, Vol. 37, Issue 7
Automatic memory layout transformations to optimize spatial locality in parameterized loop nests
journal, March 2000
- Clauss, Philippe; Meister, Benoît
- ACM SIGARCH Computer Architecture News, Vol. 28, Issue 1
Deobfuscation: Reverse Engineering Obfuscated Code
conference, January 2005
- Udupa, S. K.; Debray, S. K.; Madou, M.
- 12th Working Conference on Reverse Engineering (WCRE'05)
Verifying safety properties of a class of infinite-state distributed algorithms
book, January 1995
- Jonsson, Bengt; Kempe, Lars; Goos, Gerhard
- Computer Aided Verification
An accurate cost model for guiding data locality transformations
journal, September 2005
- Vera, Xavier; Abella, Jaume; Llosa, Josep
- ACM Transactions on Programming Languages and Systems, Vol. 27, Issue 5
(Pen)-ultimate tiling?
journal, August 1994
- Boulet, Pierre; Darte, Alain; Risset, Tanguy
- Integration, the VLSI Journal, Vol. 17, Issue 1, p. 33-51
Parallel Sparse Matrix-Matrix Multiplication and Indexing: Implementation and Experiments
journal, January 2012
- Buluç, Aydin; Gilbert, John R.
- SIAM Journal on Scientific Computing, Vol. 34, Issue 4
Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition
journal, September 1978
- Gustavson, Fred G.
- ACM Transactions on Mathematical Software, Vol. 4, Issue 3