docs:bosp:shtorm_build

What is STHORM?
BarbequeRTRM on STHORM from scratchBarbequeRTRM on STHORM from binaries
Testing BarbequeRTRM on STHORM

This page collects all the information to start using BarbequeRTRM on STHORM platform by STMicroelectronics. The goal is to guide the reader step-by-step to have our Run-Time Resource Manager ready to be used on a SThorm evaluation board.

What is STHORM?

References
  • D. Melpignano et. al. “Platform 2012, a many-core computing accelerator for embedded SoCs: performance evaluation of visual analytics applications” DAC 2012 (ieee).
  • L. Benini, “Scalable Many-core Acceleration for Image Understanding - is CPU+GPU the answer?”. MPSoC 2012. (pdf)
  • Y. Hariri, “Platform 2012 - A Many-Core R&D Opportunity”. MPSoC Forum , 2012. (pdf)
  • L. Benini, “Programming Heterogeneous Many-core platforms in Nanometer Technology: the P2012 experience”. ARTIST DESIGN Summer school Autrans, France, Sept 6th 2010. (pdf)

BarbequeRTRM on STHORM from scratch

The BarbequeRTRM framework is an Open Source project which offers a self-contained building system to configure, compile and deploy the entire framework and accompanying demos.

This guide will show how to build, deploy and run the BarbequeRTRM for the Android/STHORM platform. The generic and more detailed procedure is described starting from the page “Getting the BarbequeRTRM Sources”. If, instead of compiling everything from scratch, you prefer to just test a binary precompiled version of the framework on a SThorm platform, you should jump to section BarbequeRTRM on STHORM from binaries

Pre-requisites

As for the BarbequeRTRM on Android case, for a successful BOSP build, it is required a local installation of the Android SDK. This guide assumes that it has been installed under /opt/android_sdk. To download and install the Android SDK please refers to the official Get the Android SDK page.

The STHORM SDK must be also installed. Here we will not provide any guides on this point, for the time being. We will assume that the SDK has been installed under /opt/sthorm_sdk.

Configuration

Make sure to start from a clean and updated BOSP installation:

$ make distclean
$ repo sync

Under the project bosp/barbeque, checkout the branch named “sthorm”, which host all the specific code and support for an Android/STHORM target:

$ cd barbeque
$ git checkout bitbucket/sthorm
$ cd ..

Now you can start the KConfig tool to properly setup your Android/STHORM build.

$ make menuconfig

The configuration options must be set as follows.

Target platform
(X) Android (ARM) - STHORM Device
Barbeque

Disable “Test Platform Data”, this allows you to actually interface the BarbequeRTRM framework with the STHORM firmware.

[ ] Use Test Platform Data (TPD)

During the initial steps of application integration you could be interested in keeping TPD enabled, this allows you to focus just on Application-to-BarbequeRTRM integration disregarding any possible issue related to platform control

External tools

Check that the option STHORM Platform is correctly set with the installation path of the STHORM SDK (/opt/sthorm_sdk) by default.

Applications

Enable the BBQ Test Application, which could be conveniently used to test the installation.

[*] bbque-testapp
Deployment

Configure the deployment of the framework on the target Android/STHORM device. The default configuration is to install all the compilation products under /data/bosp, which is a suitable option for installation both on the Gepop platform as well as a real STHORM device.

The BOSP building system is able to build an update.zip installation package, ready to be deployed on the target device. To build that istallation package ensure to select the option

[*] Build installation package

This is not only an option but also a sub-menu, which should be entered to properly configure the building and deployment of the installation package. By entering this sub-menu, you should ensure to enable the “remounting” of the system partition, which is required to install the run-time library under a suitable system partition:

Build installation package --> Filesystem options --> (X) Remount /system read/write

Moreover, to install actually the run-time library for the applications exploiting the BarbequeRTRM, you should enable the dedicated option:

[*] Deploy RTLib on /system partion

Finally, if you want to automatically install the package into the target device once the compilation has completed, you should enable this last option and specify in the relative sub-menu the path of your Android SDK installation, e.g.:

[*] Apply update.zip => (/opt/android-sdk-linux) Android SDK

Save and exit the configuration menu. Now you are ready to run the building and installation of BarbequeRTRM with the make command, which, if everything goes fine, should produce a log like this one:

$ make
Checking for 'updater' tool on Android device...
Deploying package...
3554 KB/s (7540788 bytes in 2.071s)
Installing package...
minzip: Extracted file "/data/bosp/etc/bbque/bbque.conf"
minzip: Extracted file "/data/bosp/etc/bbque/bbque.conf_dbg"
minzip: Extracted file "/data/bosp/etc/bbque/bbque_2parma_demo2.conf"
minzip: Extracted file "/data/bosp/etc/bbque/bosp_init.env"
minzip: Extracted file "/data/bosp/etc/bbque/pil/default.bpl"
minzip: Extracted file "/data/bosp/etc/bbque/pil/numasaurus-jr.bpl"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/BbqRTLibTestApp.recipe"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/BbqSvcDecoder.recipe"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/r_00.recipe"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/r_01.recipe"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/r_02.recipe"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/r_03.recipe"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/r_04.recipe"
minzip: Extracted file "/data/bosp/etc/bbque/recipes/r_05.recipe"
minzip: Extracted file "/data/bosp/etc/default/bbqued"
minzip: Extracted file "/data/bosp/etc/init.d/bbqued"
minzip: Extracted file "/data/bosp/lib/bbque/libbbque_monitors.so"
minzip: Extracted file "/data/bosp/lib/bbque/libbbque_rtlib.so"
minzip: Extracted file "/data/bosp/lib/bbque/plugins/libbbque_rpc_fifo.so"
minzip: Extracted file "/data/bosp/lib/bbque/plugins/libbbque_schedpol_random.so"
minzip: Extracted file "/data/bosp/lib/bbque/plugins/libbbque_schedpol_yamca.so"
minzip: Extracted file "/data/bosp/lib/bbque/plugins/libbbque_schedpol_yams.so"
minzip: Extracted file "/data/bosp/lib/bbque/plugins/libbbque_syncpol_sasb.so"
minzip: Extracted file "/data/bosp/sbin/barbeque"
minzip: Extracted file "/data/bosp/sbin/bbque-console"
minzip: Extracted file "/data/bosp/sbin/bbque-logparser"
minzip: Extracted file "/data/bosp/sbin/bbque-logplots"
minzip: Extracted file "/data/bosp/sbin/bbque-oplb"
minzip: Extracted file "/data/bosp/sbin/bbque-plp"
minzip: Extracted file "/data/bosp/sbin/bbque-stest"
minzip: Extracted file "/data/bosp/usr/bin/bbque-2parma-demo2"
minzip: Extracted file "/data/bosp/usr/bin/bbque-2parma-demo3"
minzip: Extracted file "/data/bosp/usr/bin/bbque-2parma-ocvdemo1"
minzip: Extracted file "/data/bosp/usr/bin/bbque-testapp"
about to run program [/system/bin/mkdir] with 2 args
script result was [0]
Cleanup installer...
 
Installation COMPLETED!
 
The BarbequeRTRM is now ready to be used, enjoy the grill!

where you can see that all the BarbequeRTRM related stuff have been deployed under the /data/bosp folder of the target device.

Before starting the compilation, make sure to have either a STHORM device connected with ADB support enabled or the SDK provided with the Android emulator running. You could test the connection by issuing this command:

$ adb shell ps

which should return the list of processes running on the target.

To start the Android emulator and STHORM runtime, use the p12run script. If you need a time accurate while slower simulation, run the platform with:

$ p12run --platform=gepop --host=arm --fabric=iss

Otherwise, if you are interested just on checking the application integration with BarbequeRTRM, it is better to start a faster functional simulation with:

$ p12run --platform=gepop --host=arm --fabric=posix

which uses the POSIX thread model for accelerator simulation.

BarbequeRTRM on STHORM from binaries

If you just what to give a try to the framework on a SThorm platform, you could simply download and easily install a recompiled version. This section details the minimal steps required to download and run a pre-compiled version of BarbequeRTRM framework on either the Gepop simulation platform or a real STHORM Development Board.

Hereafter we assume you have the STHORM target, either Gepop simulator or real board, already configured and running with a usable ADB connection.

A screencast of the binary installation procedure described thereafter is available on this YouTube video.

Download the installation package

A binary version of the most recent BarbequeRTRM framework release is available as a standard Android update ZIP package, which could be download following this link:

To install easily this package on the target you need this utility script as well:

Install the binary update

Place both the ZIP package and the installation script on the same folder, enter this folder with a shell and run this command:

$ chmod a+x bosp_update.sh
$ ./bosp_update.sh YYYYMMDD_update.zip

NOTE: if an updated version of the binary package is release, you can simply re-run the previous command with the updated ZIP archive.

If everything goes fine, you should see a log which looks like the one reported above.

All the BarbequeRTRM related stuff are deployed under the /data/bosp folder of the target device.

Testing BarbequeRTRM on STHORM

We take for granted that the adb tool is reachable through your PATH environment variable

Open a shell to visualize the output of the Android emulator logger:

$ adb logcat

In a second shell, start the BarbequeRTRM

$ adb shell /data/bosp/sbin/barbeque

A successful start should produce the following result in the logger output:

V/bq.pp   (  458): PLAT P2012: ... Loading platform data ...
I//lib/modules/p2012d_dbg(   52): p2012d_pipe.c main(305) P2012d: waiting for client (opening pipes) ...
V/bq.pp   (  458): PLAT P2012: Message queues initialized
V/bq.pp   (  458): PLAT P2012: Driver initialized
V/bq.pp   (  458): PLAT P2012: Device descriptor mapped in [407af000]
V/bq.pp   (  458): PLAT P2012: Platform initialization performed
V/bq.pp   (  458): PLAT P2012: Platform is ready
I/bq.pp   (  458): PLAT PRX: Platform [com.st.sthorm] initialization COMPLETED
V/bq.ra   (  458): Report on state view: 0
I/bq.ra   (  458):  =========================================================================
I/bq.ra   (  458): |   RESOURCES                   |     USED    |  UNRESERVED |     TOTAL   |
I/bq.ra   (  458): |-------------------------------+-------------+---------------------------|
I/bq.ra   (  458): | sys0.acc0.grp0.io0          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.io1          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.mem0         I :    0.000e+0 |  256.000e+3 |  256.000e+3 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe0          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe1          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe10         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe11         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe12         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe13         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe14         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe15         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe2          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe3          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe4          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe5          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe6          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe7          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe8          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe9          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.io0          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.io1          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.mem0         I :    0.000e+0 |  256.000e+3 |  256.000e+3 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe0          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe1          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe10         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe11         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe12         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe13         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe14         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe15         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe2          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe3          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe4          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe5          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe6          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe7          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe8          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp1.pe9          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.io0          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.io1          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.mem0         I :    0.000e+0 |  256.000e+3 |  256.000e+3 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe0          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe1          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe10         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe11         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe12         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe13         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe14         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe15         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe2          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe3          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe4          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe5          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe6          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe7          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe8          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp2.pe9          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.io0          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.io1          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.mem0         I :    0.000e+0 |  256.000e+3 |  256.000e+3 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe0          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe1          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe10         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe11         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe12         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe13         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe14         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe15         I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe2          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe3          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe4          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe5          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe6          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe7          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe8          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp3.pe9          I :    0.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458):  =========================================================================
V/bq.pp   (  458): Worker[bq.pp]: Registered
V/bq.pp   (  458): PLAT P2012: Monitoring thread STARTED
V/bq.pp   (  458): PLAT P2012: waiting for platform events...

At this point we can launch the BBQ TestApplication to check that the BarbequeRTRM is properly working. This can be done by typing in a new shell:

adb shell "LD_PRELOAD=/data/bosp/lib/bbque/libbbque_rtlib.so /data/bosp/usr/bin/bbque-testapp"

If the application has been scheduled, we should be able to see (in the logcat view) a report with a information like this:

V/bq.rm   (  458): ***********************  SYNC END  **************************
V/bq.ra   (  458): Report on state view: 0
I/bq.ra   (  458):  =========================================================================
I/bq.ra   (  458): |   RESOURCES                   |     USED    |  UNRESERVED |     TOTAL   |
I/bq.ra   (  458): |-------------------------------+-------------+---------------------------|
I/bq.ra   (  458): | sys0.acc0.grp0.io0          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.io1          I :    0.000e+0 |    0.000e+0 |    0.000e+0 |
I/bq.ra   (  458): | sys0.acc0.grp0.mem0         I :    0.000e+0 |  256.000e+3 |  256.000e+3 |
I/bq.ra   (  458): | sys0.acc0.grp0.pe0          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe1          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe10         I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe11         I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe12         I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe13         I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe14         I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe15         I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe2          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe3          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe4          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe5          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe6          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe7          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe8          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | sys0.acc0.grp0.pe9          I :  100.000e+0 |  100.000e+0 |  100.000e+0 |
I/bq.ra   (  458): |     00493:exc_00:00,P04,AWM00 :  100.000e+0 |             |             |
I/bq.ra   (  458): |                               :             |             |             |
I/bq.ra   (  458): | ...                           :             |             |             |
I/bq.ra   (  458):  =========================================================================
I/bq.am   (  458): ==========================================================================
I/bq.am   (  458): |      APP:EXC     | STATE/SYNC |     CURRENT |        NEXT | AWM_NAME    |
I/bq.am   (  458): |------------------+------------+-------------+-------------|-------------|
I/bq.am   (  458): |  00493:exc_00:00 |   RUN ---  |    00:cpu{} |           - | low         |
I/bq.am   (  458): ==========================================================================
I/bq.rm   (  458): Sync Time:   41402.120[us]
I/bq.rm   (  458): ~~~~~~~~~~~~~~~~~~~  PROFILING START  ~~~~~~~~~~~~~~~~~~~~~~~
I/bq.om   (  458): ====================================================================
I/bq.om   (  458): |      |  Apps Cnt |  Apps Values  |  AWMs Values  | WLMix | Fness |
I/bq.om   (  458): | Prio | Act | Run |  Avg  |  Var  |  Avg  |  Var  |   Idx |   Idx |
I/bq.om   (  458): |------+-----+-----+-------+-------+-------+-------+-------+-------+
I/bq.om   (  458): |    4 |   1 |   1 | 0.430 | 0.000 | 0.250 | 0.000 | 1.000 | 1.000 |
I/bq.om   (  458): ====================================================================
V/bq.rm   (  458): ~~~~~~~~~~~~~~~~~~~~  PROFILING END  ~~~~~~~~~~~~~~~~~~~~~~~~

In the USED column of the table reporting the status of the resources, we can see the amount of processing elements (pe) and cluster memory (mem) allocated to the application by BarbequeRTRM. For the processing elements, the amount of resources is expressed in terms of quota, such that for instance a quota of 1600 is meaningful of the assignment of 1 cluster of the fabric (16 PE) to the application, while 6400 (the maximum value actually) means the assignment of the whole fabric (i.e., 4 clusters, 64 PE).


Here is a screencast which shows all these steps and how to start both the BarbequeRTRM and the bbque-testapp using the Android emulator:

docs/bosp/shtorm_build.txt · Last modified: 2013/04/03 15:56 by derkling

Page Tools