## 4 Methodology
### Device Characteristics  
Four different devices inspired the setups that we used in the experiments. These setups are progressively constrained in memory, computational power, and communication performance and these values are shown in Table 4. The first column shows the maximum number of devices allowed to be used in each experiment. The second column shows the name of the device model that inspired each experiment. The third column shows the amount of Random Access Memory (RAM) that each device provides, which is available in the respective device datasheet [43; 44; 45; 46]. The amount of RAM that each device provides varies from 16 KiB to 388 KiB (1 Kibibyte (KiB) = 1024 B). The fourth column represents the estimated computational performance of each device, which varies from 1.6 MFLOP/s to 180 MFLOP/s. Finally, communication is performed through a wireless medium. As this medium is shared with all the devices, the communication performance is an estimation that depends on the number of devices used in the experiments. Therefore, considering connections able to transfer up to 300 Mbits/s, the communication performance for each device varies from 9.4 KiB/s to 6103.5 KiB/s.  
The reasoning for the maximum number of devices allowed to participate in the partitioning is the following. As the amount of memory provided by each device decreases, we need to employ more devices to enable a valid partitioning. Furthermore, the memory of shared parameters and biases should be taken into account when choosing the number of devices in an experiment because of the experiments that start with random-generated partitionings. To make these experiments work, each device should be able to contain at least one vertex of each neural network layer and its respective shared parameters and biases. This condition, in some cases, may increase the number of needed devices. For instance, the memory needed for LeNet (to store intermediate results, parameters, and biases) is 546.625 KiB if each layer is entirely assigned to one device. If the devices provide up to 64 KiB, it is possible to achieve valid partitionings using nine devices to fit the LeNet model. However, to start with random-generated partitionings and, thus, requiring that each device can contain at least one vertex of each layer and its respective shared parameters and biases, the number of required devices increases to 11 to produce valid random-generated partitionings.  
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline
**Characteristic** & **Model** & **Input** & **C1** & **P1** & **C2** & **P2** & **FC1** & **FC2** & **FC3** \\ \hline Memory of shared parameters & both & 0 & 1248 & 96 & 12128 & 256 & 0 & 0 & 0 \\ and biases per layer (B) & & & & & & & & & \\ \multirow{2}{*}{Memory per vertex (B)} & LeNet 1:1 & 8 & 48 & 48 & 128 & 128 & 3216 & 976 & 688 \\  & LeNet 2:1 & 32 & 192 & 192 & 512 & 128 & 12864 & 3904 & 3440 \\ \multirow{2}{*}{Computation per vertex (FLOP)} & LeNet 1:1 & 0 & 306 & 36 & 765 & 96 & 51 & 240 & 168 \\  & LeNet 2:1 & 0 & 1224 & 144 & 3060 & 96 & 204 & 960 & 840 \\ \hline \hline \end{tabular}
\end{table}
Table 3: Per-layer and per-vertex characteristics of each LeNet model used in this paper.  
For each experiment, the communication links between each device present the same performance, which is constant during the whole partitioning algorithm. The difference in the communication performance for the most constrained setups (with 56 and 63 devices) is due to the different number of devices sharing the same wireless connection. Thus, for the experiment in which the system can employ up to 63 devices for the partitioning, the communication links perform a little worse than with up to 56 devices, although the same device models with the same available memory and computational power are used.