How many lightweight user containers can we run on a Cortex A8 with BalenaOS

Hello,

May I kindly ask you if you have any benchmarks related to the number of user containers that we can run on the different platforms that you support with BalenaOS, For instance I am interested in the Cortex-A8 based platform (e.g. BeagleBone ). We can assume that the containers are not computer intensive and they are lightweights.

Regards,
Kimo

Hey Kimo,

We don’t have such a benchmark. I believe that the resulting number would vary a lot depending on which containers you are running and the resources they consume, so it might be biased, and I’m not sure if it would be very meaningful.

Are you planning on running a large number of containers in a certain board? If the containers already exist, then it would be best for you to measure the exact resources that container consumes and see how it goes.

Thanks a lot for your prompt reply. I totally agree that it mainly depends on the type of the container. However, when you have tested for instance the BeagleBone with BalenaOS, can you please provide your settings in terms of container such as their numbers and their Type. That would give me at least some numbers to start with to evaluate what type of board I need with BalenaOS. I would appreciate if you can share such information if they are available (using an ARM-based platform)

We run various tests using the projects we have available in the BalenaLabs org (https://github.com/balenalabs). These apps rarely exceed 5 containers, but each container may be relatively heavyweight, including Chromium, Node.js, etc which may account for ~ 500mb ram each from the top of my mind involving HTTP APIs, WebView processes, databases such as InfluxDB, etc.

Is that what you’re looking for? What types of containers, and how many, are you planning to run on the BeagleBone? I can try to get some more information given some more details

maybe you could try running https://www.phoronix-test-suite.com/

Balena Cloud users are not expected to use balenaOS directly, but rather always rely on containers on top of balenaOS. Therefore, running the Phoronix test suite on the host OS wouldn’t prove much to end users. We could run the suite inside of a container on top of balenaOS, but that would test only one container (you mentioned you wanted to know the number of containers you could run) and the results may still depend on the base image that you run the suite on, so it might not be very representative.

What type of numbers are you after, exactly? No general benchmark will give you a better insight than your own benchmark mirroring as close as possible what your specific use case is

i was thinking of running a phoronix docker image in a balena guest not on the host
if i get it working i can post results from a raspberry pi zero, 2, 3 & 4

That would be great! Looking forward to see the results!

Thanks everyone for your support.
@osde8info Very intersting, I look forward to reading the results
@jviotti Thanks for the information. I was thinkning of around 10 to 15 containers mainly for control and monitoring operations. Given this type of operation I would assume that they are lightweight and probably a bit less demanding than what you have mentioned. How would you see this running on a BeagleBone?

I think its doable, but it might be a bit tight on memory usage on 512 MB RAM. Are the 10 to 15 containers replicas of the same container or different containers altogether? I guess you can try pushing some of them into a device and see how much memory they consume