# Computational Load Analysis of a Galileo OSNMA-Read Receiver for ARM-Based Embedded Platforms +
## 4 Software Profiling Analysis of the OSNMA Functions
### Analysis Results  
Table 4 reports the achieved profiling results in terms of call rate and execution times for all the four platforms indicated in Table 2 using the set of parameters S1 in Table 3. In particular, for each listed OSNMA function, Table 4 reports the call rate, along with the statistical analysis of the execution times on the four target platforms, i.e., the mean value \(avr\), the standard deviation \(\sigma\) and the estimated accuracy \(\varepsilon\), evaluated as the ratio between the mean value and the standard deviation. In Table 4, the OSNMA functions are presented in a decreasing order of call rate, thereby showing the MAC and TESLA key verifications at the top of the list, while the digital signature (DS) and public key verifications are at the bottom. Concerning the public key verification, it is worth noticing that, although the DSM-PKR transmission rate has not been specified yet, it is assumed to be very low in nominal conditions [25; 26]. Additionally, to remove the dependence of the TESLA key verification on the number of steps to be traversed in the chain (from the key to be verified back to the last verified key), the profiling of one step of TESLA chain has been reported. Looking at the statistical analysis of the execution times, a clear degradation can be observed for all the Cortex-A processors, due to the reduced computational performance of the embedded platforms with respect to the PC. As detailed in Table 5 the mean values of degradation range from a factor of 4.3 to 9.2 for all the functions, except the digital signature verification, which shows degradations by a factor of 10 to 21, thereby resulting in the heaviest load. Standard deviation increments are even bigger, varying from 3.5 to 29 times. Those achieved by the Cortex-A9 in particular, are inversely proportional with respect to the mean execution time, translating into a higher estimation inaccuracy for functions with a shorter execution time (see the TESLA key verification for platform 2 in Table 4). This behavior is likely due to the ODROID-X2 Ubuntu Linaro task scheduler. Now, such a trend cannot be observed for Cortex-A72 and Cortex-A55 processors (see platforms 3 and 4 in Table 4), where short execution times do not necessarily imply higher measurement \begin{table}
\begin{tabular}{l c c c c c c c c c c c c} \hline \hline  & \multicolumn{3}{c}{**Platform 1[16; 17]**} & \multicolumn{3}{c}{**Platform 2[16]**} & \multicolumn{3}{c}{**Platform 3**} & \multicolumn{3}{c}{**Platform 4**} \\ \cline{2-13}  & **Call** & **Call** & **Rate** & **avr (μs)** & \(\sigma\) (μs)** & \(\varepsilon\) (μs)** & **avr (μs)** & \(\sigma\) (μs)** & \(\varepsilon\) (μs) & \(\varepsilon\) (\%) & _avr (μs)_ & \(\sigma\) (μs)_ & \(\varepsilon\) (μs) & \(\varepsilon\) (\%) \\  & **(Hz)** & & & & & & & & & & & \\ \hline TESLA key verification & 13.60 & 0.61 & 0.02 & 2.87 & 2.77 & 0.50 & 18.16 & 2.66 & 0.09 & 3.44 & 2.70 & 0.07 & 2.44 \\ MAC verification & 2.62 & 7.85 & 0.21 & 2.66 & 68.36 & 2.44 & 3.57 & 45.69 & 6.19 & 13.54 & 47.34 & 0.91 & 1.91 \\ MACSCy verification & 0.27 & 5.84 & 0.18 & 3.11 & 44.54 & 5.05 & 11.35 & 40.94 & 0.60 & 1.48 & 40.92 & 0.92 & 2.24 \\ Digital Signature verification & 0.03 & 134.82 & 1.51 & 1.12 & 2835.13 & 6.64 & 0.23 & 1857.40 & 11.63 & 0.62 & 1416.60 & 18.25 & 1.29 \\ Public key verification & 0.01 & 2.76 & 0.08 & 3.08 & 25.46 & 0.35 & 1.38 & 14.36 & 0.50 & 3.52 & 11.30 & 1.03 & 9.09 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Software profiling analysis results obtained with the set of parameters S1 in Table 3. © [2020] IEEE. Extended, with permission, from [16].