Aggregative Downstream API integration
The damper value (in nanoseconds in the manifest file) will decide the minimum phase length for which the phase context information can be sent to the NRM (implemented in 'libnrm' repo [See Issue 2]. This will limit the number of msgs sent to the NRM.
In case, the phase length is smaller than the damper value, it will be aggregated over the next phases such that it is greater than the damper value.
The new message will send
('aggregation', 'computetime', 'totaltime')
where aggregation corresponds to the number of phases aggregate for the totaltime to be greater than the damper value in the manifest file.
Previously, ('startcompute', 'endcompute', 'startbarrier', 'endbarrier') were sent to the NRM from the application to be used to invoke the policy.
To integrate the new message into the NRM following changes are needed
-
Changes in
ApplicationManager
to store the new message -
Changes in
Controller
to invoke policy on a container -
Changes in
Daemon
to invokeController
function to run the policy on container every time a message is received -
Changes in
Powerpolicy
to invoke policy with correct parameters