Here is a list of the most recent and significant announcement related to the BarbequeRTRM framework and the BOSP project.
EU H2020 project “MANGO” final review held in Le Lieu (CH). The BarbequeRTRM has been developed and deployed on an experimental heterogeneous HPC cluster to transparently manage the allocation of kernels and memory buffers. More about the project at EU H2020 MANGO Project.
The development cycle is closed. The new stable release is out!
[Application] * Added support for task based applications [Platforms] * Overall refactoring * New platform description loading (with plugin) based on XML files * Introduced distributed systems support based on gRPC * ANDROID: Build re-enabled * LINUX: Network bandwidth support * LINUX: Process listener based on kernel connector * Initial support for MANGO platforms [Power Management] * Power monitoring with policy triggers * Power monitoring made multi-threaded * CPU power management minor improvements * Introduced NVIDIA power manager [RTLib] * Profiling information refactoring * Cgroups enforcement distributed at application level * Monitor library build made optional [Scheduling Policies] * YaMS no longer maintained * Improvements and fixes in TEMPURA * Added new (default) policy GridBalance * Added new policy Perdetemp * Added new policy Contrex * Added new policy Test [libtg] * Introduced a library providing data structures for task-graph representations [libpms] * Introduced a library for task-graph based programming models
How to update
Clean the Boost local repository:
[BOSP $] cd external/required/boost [BOSP $] git reset --hard
Then update the local repositories and build:
[BOSP $] make clean && make clean_out [BOSP $] ./bosp update-stable [BOSP $] make menuconfig [BOSP $] make
It has been a long time, but finally the new release is out!
[AWM] * Runtime profiling data collection [BOSPShell] * New color theme * Fixed double start daemon corruption [Config] * Added the setting of the system critical temperature * Added the setting of power monitoring activity [Platforms] * Added support to ODROID-XU3 board * Added support to Freescale i.MX6Q board * Automatic generation of the platform description (bpl) for not recognized platforms * Added board supported platform description files * LINUX: multi-node allocation support * LINUX: Control Groups memory controller optional [Power Management] * CPU power management minor improvements * CPUfreq governors management * Added power monitoring infrastructure * Added ARM Mali GPU power manager * Added ODROID-XU3 CPU power manager * Added power models * Added the Battery manager * Added the setting of the system lifetime goal (via command interface) [Resource Accounter] * Introduced the BALANCED filling policy (along with the default 'SEQUENTIAL') [RTLib] * Goal-Gap as signed unbound value * Goal-Gap collection configurable via Kconfig (Performance API menu) * Added GetCPS() function with cycle time estimation * Added SetCPSGoal() function * Added GetAssignedResources() function to notify applications about the assigned resources * Signed AWM identifier value [Scheduling Policies] * YaMS improvements in Goal-Gap management * Added new policy TEMPURA * Added new policy CLoves (experimental) for OpenCL workloads * YaMCA disabled (no longer maintained) [Tests] * Removed outdated code [Tools] * Added ''bbque-plotrace'' to plot power related data collected through the power monitoring task
$ make clean && make clean_out $ ./bosp update-stable $ make
— Giuseppe Massari 2016/02/03 12:30
William Fornaciari, “Run-time Resource Management for Embedded and HPC systems: Highlights from the HARPA Project”
Giuseppe Massari, “Run-Time Resource Management in Mixed-Criticality Systems” - Download
Giuseppe Massari, “Run-Time Resource Management in MANGO for Energy Efficient Execution on Heterogeneous Architectures”
Check out the HiPEAC 2016 Conference Programme for further details.
— Giuseppe Massari 2016/01/13 15:28
$ ./bosp update-stable
— Giuseppe Massari 2012/04/25 14:28
Finally, version 1.0 is out!
A starting point of a new development cycle. Some of the new features set includes:
git submoduleto synchronize the BOSP repository
bbque-layapp) for generating the basic files for the creation of a new integrated application
Please update your repository:
$ ./bosp update-stable
— Giuseppe Massari 2012/04/25 14:28
We are pleased to announce the BarbequeRTRM workshop, taking place at Politecnico di Milano on June 16th, 2014. Infomration and teaching material can be found here.
— Simone Libutti 2014/06/13 16:28
A keynote speech has been provided by Prof. William Fornaciari, during last ReCoSoC conferenze in Darmstadt Germany, which focused on how to exploit the BarbequeRTRM framework to tackle application and process variability issues.
The keynote slides are available at this link.
— Patrick Bellasi 2013/07/16 9:35
An interesting use-case has been presented at the University Booth during DATE13, which was held in Grenoble - France, where the BarbequeRTRM framework is used to support the adaptivity capabilities of DSE-profiled application (MultiView).
Again, this has been an interesting opportunity to collect, almost always positive and interesting, feed-backs from the scientific community as well as to setup some interesting links with other research communities.
— Patrick Bellasi 2013/03/25 9:35
This fall, the BarbequeRTRM framework has got a presentation during the 2PARMA Tutorial hosted by the Fall School on Programming Paradigms for Multi-core Embedded Systems, which was held in Freudenstadt - Lauterbad, Germany.
Another great dissemination event which allows also our team to meet other bright scientists working on similar research same area.
The presentation done is available at this link.
— Patrick Bellasi 2012/10/22 11:20
Today, the BarbequeRTRM framework has got another official presentation during the poster session hosted by the HiPEAC ACACES Summer School, which is rolling in these days in Fiuggi, Italy.
This has been a great opportunity to disseminate the awareness about our project on an dynamic an wide audience of young researches, which is also highly focused on run-time resource management and related topics.
Here is a link to the poster which has been presented.
— Patrick Bellasi 2012/07/11 20:11
The 7th International Workshop on Reconfigurable and Communication-centric Systems-on-Chip (ReCoSoC'12) has accepted for publication a paper presenting some interesting power-management results which are achievable by using the BarbequeRTRM.
— Patrick Bellasi 2012/07/11 20:11
A presentation on the goals of the 2PARMA Project, and specifically our Run-Time Resource Management, has been presented during the Power-Efficiency and Program Correctness Analysis for Scalable Multicores session hosted by the HiPEAC Computing Systems Week, held in Göteborg - Germany
This is a link with the given presentation.
— Patrick Bellasi 2012/04/25 14:28
Here is the “Betty Bacon” time!
The first release-candidate of a new great version of the BarbequeRTRM (v0.8-rc1) has just been release! Sync your repos to enjoy the rich set of new functionalities.
This has been a quite short but rich release cycle: the changelog accounts for more than 200 files updated with more than 8K additional codelines; all that in less than 20 days… a really appreciable result. Thereafter you could find a short summary of the main interesting new features.
This has also been the first version to accept and merge contributions from “external” developers. We would like to thanks them for the effort, credits to them are exposed by the project GIT log, and of course we hope they will be only the first of an increasing number.
Comments and feedbacks are welcome! Please consider also to subscribe the
official _development_ discussion group:
where you are also encouraged to post your bugs reports and features enhancement requests. A RC2 version is expected to be released by the end of this month.
The BarbequeRTRM developers team.
====== Features Summary ====== .:: Platform Integration Layer An (almost) complete Platform Integration Layer (PIL) targeting a generic Linux multi-core host is now provided. This comes in two flavors: 1. a "simplified" version, suitable for Linux kernel newer that 2.6.34 but older than 3.2, which is able to enforce CPUs allocations and Memory constraints 2. an "advanced" version, requiring a Linux kernel >=3.2, which supports also CPU Bandwidth allocation In both cases, the resources managed by the BarbequeRTRM could be easily configured with a single file with simplified syntax. .:: YaMS - A New Modular and Tunable Resources Scheduling Policy The old YaMCA scheduling policy has now been replaced by the (first usable) implementation of a modular policy, where some optimization metrics have already been implemented and others could now be easy and fast integrated. This new policy will soon manage advances optimization goals such as Power&Thermal management as well as Robustness&Stability enforcement. .:: RTLib - NAP Notification The RTLib API has been extended to support a new interesting concept: the notification from an application of a "Normalized Actual Penalty" (NAP). The NAP value is an interesting and flexible index to assist the BarbequeRTRM on better scheduling resources to applications. An optimization metrics exploiting the NAP information is also going to be integrated soon within the new JaMS scheduling policy. .:: RTLib - Application-Specific RTRM A rich set of application specific facilities has bee merged to better support the definition of Application-Specify Run-Time Resource Managers. These facilities provide abstraction interfaces to define at run-time: - Monitors, to easily collect statistics on Time periods, data Throughput and Memory usage (for the time being) - OPManagers, to easily manage a set of Operating Points and select the best one according to run-time tunable optimization goals - ApplicationRTRMs, to hide as much as possible the interaction with the System-Wide RTRM, i.e the BarbequeRTRM .:: Daemonization support A properly init script and a corresponding configuration file allows to easily run the BarbequrRTRM as a daemon. .:: Documentation A revised doxygen-based documentation has been put in place, which is now based on modules and pages, in order to produce a better navigation on the comprehensive set of topics regarding the different aspects of a BarbequeRTRM based Run-Time Resource Management solution. .:: Other Of course, we also merged a (fortunately) not so rich set of bugs and cosmetics changes which are however good contributions.
— Patrick Bellasi 2012/02/15 23:18
A new version of the BarbequeRTRM has just been released, sync your BOSP repo! We are now at v0.7 (95c148f6a3af) and this version mainly provides a complete implementation of the AWM constraints assertion API. Thus, now you are allowed to exploits the two RTLib calls:
RTLIB_SetConstraints( RTLIB_ExecutionContextHandler_t ech, RTLIB_Constraint_t *constraints, uint8_t count);
to assert a set of constraints on valid AWMs, or:
*RTLIB_ClearConstraints_t)( RTLIB_ExecutionContextHandler_t ech);
to remove all the pending constraints.
The same API is available form the Abstract Execution Model (AEM) API. Indeed, the BbqueEXC base class has been extended to provide a corresponding pair of methods.
RTLIB_ExitCode_t SetConstraints( RTLIB_Constraint_t *constraints, uint8_t count); RTLIB_ExitCode_t ClearConstraints();
You are allowed to set multiple constraints at once, by defining them as elements of an array of RTLIB_Constraint_t structures. Each entry defines a single constraint by specifing:
The required action semantics is defined by the constraints type, thus for example:
ADD-BOUNDARY: invalidate all the AWM outside of the boundary specified by the referred AWM ID (this one excluded)
REMOVE-EXACT_VALUE: invalidate the single referred AWM ID
A set of constraints triggers a re-scheduling only if the current assigned AWM has been invalidate, while a relaxing constraints does not and the application continue to run on the assigned AWM.
This interface has been released for testing purposes also, so you are welcome to try it and report on errors or misbehavior.
The next major release, which is expected in a few weeks, will finally bring in the Platform Integration Layer (PIL) for a generic x86 Linux host and perhaps some interesting external contributions related to application monitoring. Thus stay tuned!
Meanwhile, please have a look at the Wiki page, which we are trying to feed with
some new contents and tutorials:
Consider also to subscribe to the official MLs:
and the official BOSP Twitter account:
The BarbequeRTRM developers team.
— Patrick Bellasi 2012/01/28 14:28