Introduction¶
The Monolithe, in reference of "2001: A Space Odyssey" from Stanley Kubrick, is an experiment platform composed of multiple single board computers (SBCs or nodes). The purpose of having all these SBCs together is to be able to evaluate their suitability for embedded applications. In the context of embedded systems (satellites, weather balloons, network equipment, cars, medical devices, smartphones, ...), the energy consumption is a crucial characteristic. For this reason, a specific power measurement platform has been designed and produced in intern. These measurement boards are plugged between the power supplies and the SBCs. Then, each measurement board is connected to a frontend computer (through USB) and the energy metrics can be observed (voltage, intensity and power) at high frequency (5000 samples/s). Moreover, the SBCs are connected to the Ethernet network through a switch. They can easily be accessed remotely and they run Linux operating system to simplify applications deployment.
The targeted architectures are systems on a chip (SoCs) where all the process units (PUs) have access to the same global memory (shared memory model). Most of the time, the SBCs come with multiple CPU/GPU cores, and for the most recent ones, with NPUs cores. Programming these architectures is becoming increasingly difficult due to their high degree of parallelism and heterogeneity. The Monolithe allows to experiment new programming models and to compare them over a large variety of SBCs.
The purpose of this documentation is to explain how to use the different components of the Monolithe. It is mainly split in two parts:
- One for the users (people that want to run codes on the boards and/or to measure energy consumption).
- An other one for the system administrators.