In this post, we will try to understand if it is possible for a researcher/developer to deploy and test OpenStack code on his/her laptop. To do this, we will try to deploy an aDock environment on two different laptops.
We will leave Google Chrome (our favorite web browser) and Sublime Text (our favorite text editor) open to keep things more realistic. In fact, we assume that a researcher/developer won’t use a clean server edition of his OS while developing.
Our goal is to deploy a 1+5 configuration (one controller node and five compute nodes), which we think it’s suitable configuration for testing purposes.
Our experiment went through 7 states:
- Clean (Google Chrome plus Sublime Text);
- Ctrl (controller node is up);
- 1plus1 (one controller and one compute node);
- 1plus2 (one controller and two compute nodes);
- 1plus3 (…);
- 1plus4 (…);
- 1plus5 (…).
We succeeded in deploying a 1+5 configuration on both laptops, maintaining a usable environment.
With the term ‘usable’ we mean that the user can still work on his/her text editor, web browser and aDock itself, and so he/she can go on developing, browsing and run simulations with Oscard.
For each step we recorded CPU usage, RAM usage, SWAP usage and the required time to run the next aDock container in that state.
Here are the results:
Samsung SERIES 5 ULTRA
CPU: Intel Core i5 1.6 GHz
RAM: 4GB
SWAP: 4GB
SSD: no
OS: Linux Mint 3.13.0-24-generic XFCE
State | Time (s) | CPU (%) | RAM (%) | SWAP (%) |
---|---|---|---|---|
clean | 1736 | 12.34 | 52.052 | 7.779 |
ctrl | 898 | 12.495 | 95.954 | 9.809 |
1plus1 | 923 | 12.77 | 96.909 | 19.235 |
1plus2 | 934 | 13.14 | 96.528 | 29.861 |
1plus3 | 976 | 13.52 | 96.048 | 38.053 |
1plus4 | 1104 | 13.79 | 96.453 | 43.665 |
1plus5 | --- | 14.02 | 96.325 | 51.496 |
Apple MacBook Pro (Early 2011)
CPU: Intel Core i5 2.3 GHz
RAM: 8GB
SWAP: dynamically allocated
SSD: yes
OS: Mac Os X Yosemite
SWAP memory is in MB, because it is dynamically allocated and we don’t know its total.
State | Time (s) | CPU (%) | RAM (%) | SWAP (MB) |
---|---|---|---|---|
clean | 466 | 3.05 | 93.63 | 55.5 |
ctrl | 242 | 9.76 | 99.38 | 93.8 |
1plus1 | 255 | 12.78 | 99.75 | 93.8 |
1plus2 | 255 | 14.94 | 99.75 | 93.8 |
1plus3 | 257 | 15.91 | 99.75 | 93.8 |
1plus4 | 288 | 16.79 | 99.75 | 93.8 |
1plus5 | 304 | 18.01 | 99.75 | 93.8 |
In the first case, we can see that there is little dependence among CPU usage, startup time and number of containers. RAM usage and SWAP are strictly correlated, instead. We understand that running a containers is mostly a memory intensive task.
In the second case, we see CPU usage grow significantly and RAM and SWAP stay unchanged. Our opinion is that Mac OS is too opaque to understand if something was happening underneath.
Reading data we have to keep in mind that Docker stores images on disk. So, it is not surprising to see that MacBook is almost 4 times faster than Samsung. SSD heavily beats HD, even when we come to use the SWAP.
In both cases we achieved a 1+5 configuration with still usable laptops and reasonable containers startup times.