Energy-efficient Execution of Cryptographic Hash Functions on big.LITTLE Architecture

Oliver Korber, Jurg Keller, Simon Holmbacka · 2018

Performance and energy consumption of task execution depends on a large number of factors, ranging from operating frequency to platform details and temperature. Moreover, we have demonstrated that consideration of the task type, e.g. dominance of integer or floating point arithmetic, and frequency of conditional branches significantly impacts on the power consumption and performance. This fact is especially important when using heterogeneous platforms such as the big. LITTLE since a task consisting of a certain set of instructions is able to utilize one microarchitecture better than the other, hence being more energy efficient than the other. Presently, we focus on differences among tasks that seemingly all belong to the same task type (integer arithmetic, medium level of branches, not much possibility for vectorization). As a case study, we employ 8 different cryptographic hash functions: the 5 finalists from the SHA3 competition, and three classics for comparison, all executed on different cores of a big.LITTLE architecture with different sizes of hash values. We find that even within a single task type the performance and energy consumption varies notably, and beyond differences that would be expected from differences in algorithms. We conclude that while the task type gives a first approximation (and one that is accessible to humans), accurate prediction requires more sophisticated methods like machine learning.

Read the paper · More papers on PaperTik