Optimizing Galois Field Arithmetic for Diverse Processor Architectures
Appeared in Proceedings of the 16th Annual IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS 2008).
Abstract
Galois field implementations are central to the design of many reliable and secure systems, with many systems implementing them in software. The two most common Galois field operations are addition and multiplication; typically, multiplication is far more expensive than addition. In software, multiplication is generally done with a look-up to a pre-computed table, limiting the size of the field and resulting in uneven performance across architectures and applications.
In this paper, we first analyze existing table-based implementation and optimization techniques for multiplication in fields of the form GF(2l). Next, we propose the use of techniques in composite fields: extensions of GF(2l) in which multiplications are performed in GF(2l) and efficiently combined. The composite field technique trades computation for storage space, which prevents eviction of look-up tables from the CPU cache and allows for arbitrarily large fields. Most Galois field optimizations are specific to a particular implementation; our technique is general and may be applied in any scenario requiring Galois fields. A detailed performance study across five architectures shows that the relative performance of each approach varies with architecture, and that CPU, memory limitations and fields size must be considered when selecting an appropriate Galois field implementation. We also find that the use of our composite field implementation is often faster and less memory intensive than traditional algorithms for GF(2l).
Publication date:
September 2008
Authors:
Kevin Greenan
Ethan L. Miller
Thomas Schwarz
Projects:
Archival Storage
Reliable Storage
Available media
Full paper text: PDF
Bibtex entry
@inproceedings{greenan-mascots08, author = {Kevin Greenan and Ethan L. Miller and Thomas Schwarz}, title = {Optimizing Galois Field Arithmetic for Diverse Processor Architectures}, booktitle = {Proceedings of the 16th Annual IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS 2008)}, month = sep, year = {2008}, }