IEEE/ACM Transactions on Networking · 1995 · 65 citations · 8 references
EngineeringError Control TechniqueError Detection CodesError Detection PowerVerificationComputer ArchitectureSoftware EngineeringSource Code AnalysisFault ToleranceSoftware AnalysisFormal VerificationHardware SecurityRuntime VerificationCyclic Redundancy CheckComputer EngineeringComputer ScienceError Correction CodeProgram AnalysisSoftware TestingFormal MethodsParallel ProgrammingFault InjectionSystem Software
Software implementations of error detection codes are considered to be slow compared to other parts of the communication system. This is especially true for powerful error detection codes such as CRC. However, we have found that powerful error detection codes can run surprisingly fast in software. We discuss techniques for, and measure the performance of, fast software implementation of the cyclic redundancy check (CRC), weighted sum codes (WSC), one's-complement checksum, Fletcher (1982) checksum, CXOR checksum, and block parity code. Instruction count alone does not determine the fastest error detection code. Our results show the computer memory hierarchy also affects performance. Although our experiments were performed on a Sun SPARCstation LX, many of the techniques and conclusions will apply to other processors and error detection codes. Given the performance of various error detection codes, a protocol designer can choose a code with the desired speed and error detection power that is appropriate for his network and application.
8
Cyclic Codes for Error Detection
W. W. Peterson, Daniel G. Brown · Proceedings of the IRE · 1961 · 596 citations
A tutorial on CRC computations
Tenkasi V. Ramabadran, S. S. Gaitonde · IEEE Micro · 1988 · 225 citations
Engineering, Error Control Technique, Computer Architecture +18