## 3 Technology Background
### Fun
However, this behavior is inverted when processing large images, even if communication time is still longer for the hardware-based solutions. It is important to highlight that, when only considering processing time, performance scales almost linearly for both ARTICo3-powered and software versions. This, together with the partitioning that generates smaller images to be processed in each node, makes it better to scale in the number of nodes than in the number of accelerators per node. ## 6 Conclusions and Future Work

In this paper, a two-way scalable and runtime-adaptive implementation of a linear unmixing algorithm for on-board hyperspectral image processing has been presented. This implementation deploys a modified version of the FUN algorithm with explicit data-level parallelism over a low-cost cluster of ARTICo3-powered SoC that emulates a collaborative constellation of CubeSats. Regarding the algorithm, the proposed modifications enable seamless parallelization without compromising functional correctness, as demonstrated by experimental evaluation. In addition, the hardware-oriented optimizations applied to the algorithm itself do not affect the functionality of the algorithm either. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \multirow{2}{*}{\(\mathbf{Nz\times Ny\times Nx}\)} & \multirow{2}{*}{\#Nodes} & \multicolumn{4}{c}{**ARTICo3**} & \multicolumn{4}{c}{**Software**} \\ \cline{3-8}  & & **Comm. (s)** & **Exec. (s)** & **Total (s)** & **Comm. (s)** & **Exec. (s)** & **Total (s)** \\ \hline \multirow{4}{*}{\(256\times 128\times 128\)} & 1 & 0.06 & 0.59 & 0.65 & 0.08 & 0.35 & 0.43 \\  & 2 & 0.18 & 0.27 & 0.46 & 0.15 & 0.21 & 0.36 \\  & 4 & 0.29 & 0.14 & 0.34 & 0.22 & 0.09 & 0.31 \\  & 8 & 0.27 & 0.07 & 0.28 & 0.24 & 0.04 & 0.28 \\ \hline \multirow{4}{*}{\(256\times 256\times 256\)} & 1 & 0.22 & 2.41 & 2.64 & 0.19 & 1.6 & 1.79 \\  & 2 & 0.74 & 1.12 & 1.83 & 0.64 & 0.83 & 1.47 \\  & 4 & 1.15 & 0.59 & 1.32 & 0.82 & 0.45 & 1.27 \\  & 8 & 1.07 & 0.3 & 1.09 & 0.91 & 0.26 & 1.17 \\ \hline \multirow{4}{*}{\(256\times 512\times 512\)} & 1 & 0.89 & 19.36 & 21.25 & 0.44 & 25.93 & 26.37 \\  & 2 & 2.87 & 9.77 & 12.36 & 1.4 & 13.8 & 15.2 \\ \cline{1-1}  & 4 & 4.52 & 4.94 & 7.87 & 3.69 & 6.63 & 10.32 \\ \cline{1-1}  & 8 & 5.51 & 2.42 & 5.58 & 3.45 & 3.45 & 6.9 \\ \hline \end{tabular}
\end{table} 
Table 11: Execution performance—ARTICo3 (multiple nodes, four accelerators @ 166.67 MHz per node) versus software-based implementation (multiple nodes, two ARM cores @ 666.67 MHz per node). From an architectural point of view, the proposed implementation scheme provides transparent hardware acceleration and management, with two degrees of freedom to dynamically adapt the working point in a solution space defined by computing performance, energy efficiency and fault tolerance. These three elements are key aspects in low-cost deployments of COTS-based CubeSats, making the proposed solution highly relevant in this context. Experimental results demonstrate the feasibility of the proposed approach and widen the solution space of the accelerated application, providing an additional degree of freedom (number of network nodes used for processing) that can be used to maintain performance levels, while also enabling fault tolerance by means of hardware redundancy. The communication infrastructure has proven to be one of the major bottlenecks in the proposed approach. Thus, an optimized communication infrastructure, paired with efficient data-transmission mechanisms, is envisioned as future activity to further enhance system performance. In the long run, and after optimizing network communications, the goal is to generalize the proposed platform to support general-purpose computing in constellation-based on-board processing. To this end, intelligent load balancing and distribution algorithms are to be implemented to transparently manage the system from the application developer's point of view. Conceptualization, A.O. ([PERSON]), A.R., R.G., S.L., A.O. ([PERSON]), R.S. and E.d.I.T. ; Investigation, A.O. ([PERSON]) and A.R.