• DocumentCode
    1236720
  • Title

    Novel Table Lookup-Based Algorithms for High-Performance CRC Generation

  • Author

    Kounavis, Michael E. ; Berry, Frank L.

  • Author_Institution
    Corp. Technol. Group, Intel Corp., Hillsboro, OR
  • Volume
    57
  • Issue
    11
  • fYear
    2008
  • Firstpage
    1550
  • Lastpage
    1560
  • Abstract
    A framework for designing a family of novel fast CRC generation algorithms is presented. Our algorithms can ideally read arbitrarily large amounts of data at a time, while optimizing their memory requirement to meet the constraints of specific computer architectures. In addition, our algorithms can be implemented in software using commodity processors instead of specialized parallel circuits. We use this framework to design two efficient algorithms that run in the popular Intel IA32 processor architecture. First, a ´slicing-by-4´ algorithm doubles the performance of existing software-based, table-driven CRC implementations based on the Sarwate [12] algorithm while using a 4K cache footprint. Second, a ´slicing-by-8´ algorithm triples the performance of existing software-based CRC implementations while using an 8K cache footprint. Whereas well-known software- based CRC implementations compute the current CRC value from a bit-stream reading 8 bits at a time, our algorithms read 32 and 64 bits at a time respectively. The slicing-by-8 source code is freely available for experimentation and can be found at: http://sourceforge.net/projects/slicing-by-8
  • Keywords
    cyclic redundancy check codes; table lookup; 4-Kbyte cache footprint; 8-Kbyte cache footprint; bitstream reading 8 bits; fast cyclic redundancy code generation algorithm; high-performance CRC generation; slicing-by-4 algorithm; slicing-by-8 algorithm; table lookup-based algorithm; Acceleration; Algorithm design and analysis; Circuits; Computer architecture; Constraint optimization; Cyclic redundancy check; Polynomials; Production; Software algorithms; Transport protocols; Data communications; Error handling and recovery; Mathematical Software; Network Protocols;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2008.85
  • Filename
    4531728