Hardware

Hardware

Cloudy is based on Debian GNU/Linux, therefore it can be installed on every hardware that Debian supports.

We tested the installation of Cloudy on several computers, SBCs, different architectures, and devices of different form factors. However, we pay special attention in the small Single Board Computers (SBCs) and the Mini PCs or Barebones, which are more suitable to the community networks.

Desktop PCs

A description of the Desktop PC used is shown in the table below:

Brand Dell
Model Optiplex 7010 SF
   dell-optiplex
CPU
(architecture)
(frequency)
Intel Core i7­ 3770
x86-64
3.40 GHz
RAM 16 GB
Storage 1 TB HDD

Mini PCs

A description of the Mini PC tested is shown in the table below:

Brand Minix Jetway
Model Neo Z64 JBC372F36W-2600-B
  Minix Jetway
CPU
(architecture)
(frequency)
Intel Atom Z3735F
x86-64
1.33 - 1.83 GHz
Intel Atom N2600 Dual-Core
x86
1.6 GHz
RAM 2 GB 2 GB
Storage 32 GB eMMC 500 GB HDD or 128 GB SSD

SBCs

Here we report some of our experiences with Raspberry Pi, Intel Galileo, BeagleBone and Alix boards, which were tested to run Cloudy.

A description of these SBCs is shown in the table below:

Brand Alix Beaglebone Intel RaspberryPi
Model 3D2 Black Galileo A+
  sbc-alix3d2 sbc-bbb Galileo RPI A+
CPU
(architecture)
(frequency)
AMD Geode LX800
x86
500 MHz
AM335x Cortex A8
ARMv7
1 GHz
Intel Quark SoC X1000
x86
400 MHz
ARM1176JZFS
ARMv6
700 MHz
RAM 512 MB 512 MB 256 MB  256 MB
Storage CF card slot (32 GB) 4 GB 8-bit eMMC SD card slot (32 GB) SD card slot (32 GB)

 


 

How to install

To install cloudy on SBCs three steps need to be followed:

  1. Add the Debian Backports, Clommunity and Guifi repositories.
  2. Install Debian packages.
  3. Install non-Debian packages related to Cloudy.

If you have already installed a Debian or a Debian based Linux Distribution on your SBC, you can automate the installation of Cloudy packages using the "cloudynize" script.

In the Guifi.net wiki you will find detailed instructions, how to "cloudynize" and other howto's and related info.


 

Workloads best practices

The experiments we performed with Cloudy distribution included heterogeneous community network nodes such as: Deskktop­PC, Mini­PC and SBC. Each of the hardware devices had their limitations when running different type of Cloudy services. The table below summarizes the type and number of services run in each of hardware machines.

Type of hardware Hardware brand Number of Cloudy services Service type
Desktop PCs Dell Optiplex 7010SF Cloudy with n services Syncthing, Tahoe­LAFS, PeerStreamer, Serf, Avahi, OpenVZ
Mini PCs Jetway
Minix NEO Z64
Cloudy with 2 services 1. Tahoe­LAFS, Serf
2. PeerStreamer, Tahoe-LAFS
SBC Alix 3D2
Beaglebone Black
Intel Galileo
Raspberry Pi A+
Cloudy with 1 services 1. Tahoe­LAFS
2. PeerStreamer

When using Desktop­ PCs, we were in able to deploy all kind of Cloudy services together. In this type of hardware we used even bigger workloads. For example in Tahoe­LAFS distributed storage we used workloads up to 1GB on the client side. For the PeerStreamer case, the source node was able to transmit a high­ definition video frames to the other peers.

In the case of Mini­ PCs, deploying 2 Cloudy services was feasible and services were reliable. We used Jetway and Minix devices, which can be used as home gateways in many cases. We were able to deploy Tahoe-LAFS and PeerStreamer in these devices where we used moderate upload/download workloads (up to 500MB) in Tahoe­LAFS case, and standard quality video frames in the case of a PeerStreamer.

In the case of SBC, we were in able to deploy reliably one user service. The devices that we used mostly were RaspberryPi, but also Alix, Beaglebone Black and Intel Galileo boards with an Intel Quark SoC X1000 processor and 256 MB RAM. This type of devices were used only as a storage node in Tahoe­LAFS case, since their resources are constrained. Using them as a client node (where encryption is done on the client side) is not advised.