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.