Efficient GF arithmetic for linear network coding using hardware SIMD extensions
Stephan Günther, Maximilian Riemensberger, Wolfgang Utschick · 2014
A limiting factor for the performance of coded packet networks is the inherent arithmetic complexity of network coding. This is in particular true for high-throughput networks such as IEEE802.11n/ac, but also for lower throughput embedded and mobile systems as well as for alternate applications of network coding such as replication of data in distributed systems. While arithmetic complexity is normally not an issue when operating in GF(2), any higher order fields suffer a severe performance degradation. This paper presents hardware-efficient implementations for GF(2), GF(22), GF(24), and GF(28) using different levels of SIMD extensions offered by the ×86 and ARM processor architectures. The results are compared to scalar implementations without SIMD, showing an increase of up to factor 15 (×86) and 5 (ARM), respectively. The implementation of the finite field arithmetic called libmoepgf is published under GPLv2 at [1].