Not-integrated applicationsΒΆ

The BarbequeRTRM allows controlling the assignment of resources, not only to applications properly integrated with the Adaptive Execution Model (AEM) coming with the RTLib, but also legacy workload, for which no porting activity has been carried out.

These applications, identified also as generic processes, the user must first enable the feature, from the Build Configuration with Kconfig menu: Run-Time Resource Manager –> Daemon Setup –> Linux Resource Management –> [*] Linux Process Management.

Then, once the BarbequeRTRM is up and running, the BOSPShell provides comfortable shortcuts to play with this feature. So, for example, if we want the BarbequeRTRM to control the assignment of resources to the instances of the Firefox browser, we need to use the bbque-proc-manage command and specify the binary name, as follows:

[BOSPShell bosp] \> bbque-proc-manage firefox

To revert this action:

[BOSPShell bosp] \> bbque-proc-unmanage firefox

A further feature, currently provided by this support, is the possibility of explicitly defining the set of the required resources, through the bbque-proc-setsched command:

[BOSPShell bosp] \> bbque-proc-setsched
                    -n <process_name>
                    [-p <pid>]
                    -c <cpu_cores>
                    [-a <accelerator_cores>]
                    [-m <memory_MB>]

As you can see, there are two mandatory arguments: the process name and the number of CPU cores. Other types of resources may be requested optionally. If the process name refers to a new process (not included with a previous bbque-proc-manage command), it is automatically added to the list of the not integrated applications to manage.

Most important: enabling the Linux Process Management may not be enough. During the BOSP compilation process, we must be sure to have selected a policy that actually schedules also generic processes (e.g. Test). For this, please check Policies.