Benchmarking Further Single Board Computers for Building a Mini Supercomputer for Simulation of Telecommunication Systems

 Abstract —Parallel Discrete Event Simulation (PDES) with the conservative synchronization method can be efficiently used for the performance analysis of telecommunication systems because of their good lookahead properties. For PDES, a cost effective execution platform may be built by using single board computers (SBCs), which offer relatively high computation capacity compared to their price or power consumption and especially to the space they take up. A benchmarking method is proposed and its operation is demonstrated by benchmarking ten different SBCs, namely Banana Pi, Beaglebone Black, Cubieboard2, Odroid-C1+, Odroid-U3+, Odroid-XU3 Lite, Orange Pi Plus, Radxa Rock Lite, Raspberry Pi Model B+, and Raspberry Pi 2 Model B+. Their benchmarking results are compared to find out which one should be used for building a mini supercomputer for parallel discrete-event simulation of telecommunication systems. The SBCs are also used to build a heterogeneous cluster and the performance of the cluster is tested, too.


I. INTRODUCTION
Raspberry Pi [1] was originally aimed of encouraging basic computer science in schools, but having shipped one million units in the first year [2], its success also encouraged several vendors to design similar single board computers with somewhat better performance characteristics both for hobbyists and for commercial class applications.
Whereas a demonstration cluster made up by 64 Raspberry Pi single board computers was reported in [3], our aim is to test a number of SBCs (single board computers) from different vendors, to find out which one should be selected for building a cluster for parallel discreteevent simulation.For building such a cluster, several factors must be taken into consideration.Computing power, memory size and speed, as well as communication speed are primary factors.Heat dissipation is also important both for operation costs and especially for cooling.Size also matters, if high number of elements are built together.As for usability, the support of standard Linux distributions (e.g.Debian or Ubuntu) is essential.Last but not least, the price of the devices must also be considered.
technology and clock speed, NIC type, etc.) we believe that their performance concerning discrete-event simulation can be estimated the most appropriate way if we benchmark them by executing discrete-event simulation.For benchmarking, we used the OMNeT++ discrete event simulator [4] and its CQN (Closed Queueing Network) sample model.We have first used the proposed benchmarking method for estimating the computing power of the different members of a heterogeneous cluster in [5] where we also proved that PDES with the conservative synchronization method can be efficiently used in the simulation of telecommunication systems because the delay of the long distance lines ensures the good lookahead.
This paper is an extended version of our conference paper [6], where we used the proposed method to benchmark six SBCs to find out which one would be the best choice to build a suitably large cluster for simulation, however, our main aim was to validate the proposed method.The validation of our choice between the two possible performance metrics (the sequential and the parallel performance, see their details later) was done by testing the performance of a small heterogeneous cluster of the different tested single board computers.Now, we extend our previous results with the testing of four further SBCs.We also disclose our plans for future research concerning SBCs.
The remainder of this paper is organized as follows.First, we give the tested SBCs with their most important parameters.Second, we summarize the method of benchmarking with the CQN model.Third, we present the benchmarking results and discuss them.Fourth, we summarize the theoretical background of heterogeneous simulation clusters.Fifth, we present our experiments and results with the experimental heterogeneous cluster.Sixth, we present our size and power consumption measurement results and do a final comparison of the tested devices using these values, too.Seventh, we disclose our plans for future research concerning SBCs.Finally, we give our conclusion.

II. SELECTED SINGLE BOARD COMPUTERS FOR TESTING
For our conference paper [6], six SBCs were selected for comparison.Raspberry Pi was a must, as it was the first popular one.Banana Pi was chosen because it has a Gigabit Ethernet NIC, which one is not yet very common for SBCs today.Odroid-U3+ was chosen because of its high clock frequency quad-core CPU.Radxa Rock Lite was selected as an alternative with quad-core CPU.Cubieborad2 contains built in storage and also SATA II interface, which can be used for connecting SSD.And finally, Beaglebone Black was an alternative single-core SBC.
We have selected four further SBCs for the journal version of our paper.As Odroid-U3+ was the absolute Benchmarking Further Single Board Computers for Building a Mini Supercomputer for Simulation of Telecommunication Systems winner from among the six SBCs, we included two other kind of Odroid SBCs: Odroid-XU3 Lite for its expected higher performance and Odroid-C1+ for its being more cost effective and also having a Gigabit Ethernet NIC.As the old Raspberry Pi showed the poorest performance among the six SBCs, now we included its improved version, Raspberry Pi 2 Model B+ to give the brand a second chance.We also found Orange Pi Plus interesting because of having 8GB built-in storage and SATAII interface.Table I and Table II give their most important CPU, memory and network parameters, as well as the storage and connection possibilities and what is also important, their current prices as of November 13, 2015.Please note that Odroid U3+ and Odroid XU3 Lite are discontinued.The latter one was replaced by Odroid XU4 using the same Samsung Exynos 5422 CPU at 2GHz and having a Gigabit Ethernet port.

III. BENCHMARKING METHOD
A. Theoretical Background Closed Queueing Network (CQN) was originally proposed for measuring the performance of parallel discrete-event simulation using the conservative synchronization method [7].
The OMNeT++ discrete-event simulation framework [4] contains a CQN implementation among its samples.We first used this model in our paper [8].The below description of the model is taken from there.
This model consists of NT tandem queues where each tandem queue consists of a switch and k single-server queues with exponential service times (Fig. 1).The last queues are looped back to their switches.Each switch randomly chooses the first queue of one of the tandems as destination, using uniform distribution.The queues and switches are connected with links that have nonzero propagation delays.The OMNeT++ model for CQN wraps tandems into compound modules.
To run the model in parallel, the tandems should be assigned to different segments (Fig. 2).Lookahead1 is provided by delays on the marked links.
As for the parameters of the model, the preset values shipped with the model were used unless it is stated otherwise.Configuration B was chosen, the one that promised good speedup.
In our paper [8], we used this implementation for the experimental validation of the criterion defined for good speedup in [9].This criterion gives a simple and straight forward method for the estimation of the available parallelism on the basis of values which can be easily measured in sequential execution of the simulation.Ref [9] uses the notations ev for the number of events, sec for real world time (also called execution time or wall-clock time) in seconds and simsec for simulated time (model time) in seconds.
The paper uses the following quantities for assessing the available parallelism:  P performance represents the number of events processed per second (ev/sec). E event density is the number of events that occur per simulated second (ev/simsec).
 L lookahead is measured in simulated seconds (simsec).
 τ latency (sec) is the latency of sending a message from one segment to another.
 λ coupling factor can be calculated as the ratio of LE and τP: We have shown in [8] that if λ is in the order of several hundreds or higher then we may expect a good speedup.It may be nearly linear even for higher number of segments (N) if λN is also at least in the order of several hundreds, where:

B. Parameters of Benchmarking
We benchmarked all the single board computers by executing the CQN model sequentially (thus using only one core even if multiple cores were available) with the following parameters: NT=24 tandem queues, k=50 single server queues, with exponential service time (having expected value of 10s), T=10000 simsec, L=100 simsec delay on the lines between the tandem queues.
We measured the execution time and calculated the average performance (P) as the ratio of the number of all the executed events (NE) and the execution time of the sequential simulation (T1): The used Linux kernel versions and distributions are listed in Table III.OMNeT++ 4.6 and OpenMPI 1.8.4 were used.

A. Single core results
First, we measured the performance of a single core only.The performance results are shown in Table IV.Odroid-XU3 Lite shows the best performance by processing 91281 events per second.Odroid-U3+, which one was winner in [6], is now the second best one (65839 ev/sec) whereas Radxa Rock Lite takes the third place (54692 ev/sec).Yet Odroid-C1+ (46370 ev/sec) and Orange Pi Plus (42804 ev/sec) excel somewhat from the rest of the SBCs.The performance of Banana Pi (33432 ev/sec) Cubieboard2 (33494 ev/sec) and Raspberry Pi 2 B+ (33946 ev/sec) are very close to each other.BeagleBone Black (22952 ev/sec) performed significantly worse and the old Raspberry Pi B+ (8830 ev/sec) is lagging behind all the others.

B. Multi core results
Second, we also tested the performance of the eight multicore SBCs using all their available cores.The CQN model was compiled with the MPI support and the simulation model was shared into the same number of partitions as the number of CPU cores of the given single board computers had, that is two or four 2 .Table V shows the results.We also included the speedup and the relative speedup values.According to its conventional definition, the speedup (SN) of parallel execution is the ratio of the speed of the parallel execution in N segments (by the same number of CPU cores)    and the sequential execution by 1 CPU core which is usually calculated as the ratio of the execution time of the sequential execution (T1) and that of the parallel execution (TN), however now we used the ratio of the multi core performance (PN) and the single core performance (P1): The relative speedup (rN) can be calculated as the ratio of the speedup and the number of the CPU cores that produced the given speedup: The relative speedup measures the efficiency of parallel execution.A relative speedup value of 1 means that the speedup is linear that is the computing power of the N CPU cores can be fully utilized.
Four of the SBCs show super-linear speedup, that is the relative speedup is higher than 1.This phenomenon is usually caused by caching.(E.g. the cores have they own L1 cache and partitions better fit in them than the whole model fitted into just one of them.Similar phenomenon was reported in [10], see page 95.) Now, we do not go deeper, but we plan to do further analysis of this phenomenon.
As for the ranking of the different single board computers, there is a significant change in the order (see Table V): Odroid-U3+ (279955 ev/sec) now outperformed Odroid-XU3 Lite (247956 ev/sec) and Raspberry Pi 2 B+ (167684 ev/sec) is now the third one.
As for the relative speed up, Raspberry Pi 2 B+ (1.23) is the best and Banana Pi (1.21) is very close to it.Regarding the low end, Orange Pi Plus (0.48) is the worst, and the "Light" versions of cards are also poor: Radxa Rock Lite (0.65) and Ordoid-XU3 Lite (0.68).
We believe that the results of the multi core benchmark using all the cores are be used for characterizing the performance of the SBCs for parallel simulation because we would like to use their all cores in the simulation.We will support this in a case study with heterogeneous clusters.Please note that the case study was prepared for the conference version of the paper and therefore it does not include the further SBCs which are included in the journal version only.

V. THEORETICAL BACKGROUND FOR HETEROGENEOUS CLUSTERS
A. Load Balancing Criterion We discussed the conditions necessary for a good speedup of the parallel simulation using the conservative synchronization method in heterogeneous execution environment in [5].There we defined the logical topology of heterogeneous clusters as a star shaped network of homogeneous clusters where a homogeneous cluster may be built up by one or more instances of single-core or multicore computers.In addition to the before mentioned coupling factor criterion that λN should be in the order of several hundreds, we defined another very natural criterion of load balancing that "all the CPUs (or CPU cores) should get a fair share from the execution of the simulation.A fair share is proportional to the computing power of the CPU concerning the execution of the given simulation model." Now, we have already benchmarked the CPUs by the CQN model.

B. Measuring the Efficiency of Parallel Simulation Executed by Heterogeneous Systems
We extended the definition of the relative speedup of parallel program execution (not only simulation) for heterogeneous execution environments in [11].There we applied it for measuring the efficiency of heterogeneous simulation (that is parallel simulation executed by heterogeneous systems) and received the following formula: where the letters denote the following values: rh -the relative speedup of the heterogeneous simulation compared to the sequential simulation NE -the number of events in the sequential simulation Th -the execution time of the heterogeneous simulation Pc -the cumulative sum of the performance of all the cores in the heterogeneous execution environment, which can be calculated as: where the letters denote the following values: NCT -the number of the CPU core types Pi -the performance of a single core of type i Ni -the number of cores of type i Similarly to the homogeneous case, the maximum (and the desired ideal) value of the relative speedup equals to 1.

VI. PERFORMANCE OF OUR HETEROGENEOUS CLUSTER
The six single board computers were interconnected by a TP-Link 26-port Gigabit Ethernet switch (TL-SG5426).

A. Partitioning of the CQN model
The performance proportional partitioning of the CQN model was done using the following formula: where the letters denote the following values: ni -the number of tandems to put into a segment executed by a core of type i NT -the number of tandems in the CQN model Pi -the performance of a single core of type i Pc -see (7)  The number of the tandem queues was increased to 96 to be large enough for an approximate performance proportional partitioning.Whereas (8) defines the theoretically optimal values, the number of the tandems must be integers, therefore we rounded them.Two different partitionings were made.For the first one, the P values from the single core measurements were used, see Table IV.For the second one, the same values were kept for the single core SBCs, but the P1CE one core equivalent parallel performance from the all core measurements was calculated according to (9) taking the PN and N values from Table V.
The division of the 96 tandem queues among the cores of the single board computers using the first and the second method are shown in Table VI and Table VII, respectively.Note that the usage of the mathematical rounding would have resulted in 97 tandem queues in Table VII therefore the number of tandem queues to be put into the segment executed by the BeagleBone Black SBC was rounded from 3.6 to 3 and not to 4.
A 10000 simsec long simulation was executed by the heterogeneous cluster 11 times and the execution time was measured for both partitionings.The relative speedup was also calculated according to (6), where the number of events in the sequential simulation was NE=6260606 and Pc was calculated according to (7)

B. Results
Table VIII shows the results.Both the average execution time and the relative speedup values are significantly better for the second method.Though someone might challenge the relative speedup values stating that they were calculated using smaller Pc values in the denominator of (6), the average execution time values are unquestionably show the superiority of the second method for partitioning.Therefore, our results justified that if there is a significant difference between the single core benchmark values and the one core equivalent parallel performance benchmark values then the latter ones are better anticipate the performance of the cores in a parallel simulation thus the latter ones are to be considered as the valid metrics.

A. Absolute Performance Comparison
For the comparison of the absolute performance of the ten SBC, we use their PN all-core performance values.They are compared by using a bar chart in Fig. 3. (It is put on the same page with the relative performance comparison figures for the synoptic view and easy comparison.)

B. Size and Power Consumption
We measured the size of the SBCs together with their overhanging parts (e.g.connectors, buttons, microSD cards), thus our results in Table IX     provided by the manufacturers.Please note that if SBCs are integrated into a cluster then they will occupy even larger space because both cables (Ethernet, power) and cooling need significant space.
We measured the power consumption of the SBCs under different load conditions: the system was idle, one core had full load, all cores had full load.The above detailed CQN model was used for load generation.Our results can also be found in Table IX.

C. Relative Performance Characteristics
We used the all core parallel performance values of the SBCs.(One may also calculate with the single core results, as we provided the necessary data for that, too.)Our results can be found in Table X.Their space, price and power consumption relative performance values are compared in Fig. 4, Fig. 5

D. Discussion of the results
The usage of different metrics resulted in different ranking  order of the tested ten SBCs.We consider that our most important result is the testing method itself and not the ranking of the ten tested SBCs.Using our testing method, one can test other SBCs and select from among them on the basis of his/her own target function.Three of the tested SBCs have Gigabit Ethernet NICs but they could not gain advantage from it, because our benchmarking method did not test that.When the SBCs are actually used for parallel simulation then the communication speed matters.These three cards could be better ranked in a more realistic test setup when a small cluster is built for testing purposes.For more details, see our future plans for further research.

A. Building a Cluster for Simulation
We plan to build a cluster of significant size (at least of 128 elements or even more), but before determining the type of the SBC, we plan to experiment with smaller clusters of 16 elements for a more realistic benchmarking of the SBCs.These small clusters makes it possible to take also the speed of communication into consideration.In addition to that we may gain more experience on the architecture of the cluster, too.For example, if we will connect high number of elements then multiple switches will have to be used.How it will influence the behavior of the cluster?We can examine this phenomenon in a small size first, e.g. by building four sub-clusters, each of which have four elements.

B. Other Areas of Application
Besides to parallel discrete-event simulation, we plan to use the SBCs for other purposes too.

1) Load generation for DNS64 and NAT64 tests
First of all, we are going to use them as a load generator in DNS64 [12] server and NAT64 [13] gateway performance tests.We have several results in this area.As for DNS64 servers, we compared the performance of BIND and TOTD in [14].We found a bug and a security hole in TOTD and provided a patch for correcting them in [16].Later we also included the performance analysis of Unbound and PowerDNS in [15].We prepared an own test program called dns64perf for the performance analysis of DNS64 servers [17].We also have and own DNS64 implementation called MTD64 [18].As for NAT64 gateways, we compared the performance of TAYGA+iptables and of OpenBSD PF using ICMP in [19] and later also TCP and UDP in [20].In our further experiments, we plan to use a 16 element cluster of SBCs for load generation for DNS64 and NAT64 tests.This is an area where we expect that having a Gigabit Ethernet NIC will be an advantage.

2) Testing and using as MPT servers
The MPT network layer multipath communication library [21] makes it possible to aggregate the transmission capacity of multiple interfaces of a device.Its channel aggregation capability was tested for two channels in [22], four channels in [23]- [24], and twelve channels in [25].MPT is also a good solution for wireless network layer roaming problems [26] and changing the communication interfaces (using different transmission technologies) without packet loss [27].We plan to test some SBCs in the role of an MPT server.

IX. CONCLUSION
A method with two variants (single core and all cores test) was described for benchmarking different computers for parallel simulation.It was shown that the values of the all cores method characterize better the parallel simulation capabilities of the computers.Ten single board computers (SBCs) were benchmarked.Their space, price and power consumption relative performance were also calculated and compared.It was found that the usage of different metrics resulted in different ranking order of the SBCs.Odroid-U3+ gave the best absolute and space relative performance whereas Raspberry Pi 2 B+ showed the best price and power consumption relative performance.Both SBCs have only 100Mbps Ethernet NICs.Different SBCs may be optimal choice for different purposes.We also gave the directions of our planned future research including building an SBC cluster for simulation, using a cluster of SBCs for load generation in DNS64 server and NAT64 gateway performance analysis and using individual SBCs as MPT servers.

TABLE III LINUX
KERNEL VERSIONS AND DISTRIBUTIONS taking the Pi values from Table VI and the P1CE,i values from Table VII for the first partitioning and for the second partitioning, respectively.
are somewhat higher than those

TABLE VI THE
DIVISION OF THE 96 TANDEM QUEUES AMONG THE SBCS USING THE Fig. 5. Comparison of the price relative all-core performance of the SBCs.