Next: Experimental
Setup Up:
Polus Framework Previous: Base-level reasoning
Input: A set of candidate actions, and generated by the problem determination module
Output: The actual set of actions to be invoked
Approach:
The aim is to select a candidate action, using an optimization function based
on the following parameters:
An important requirement for this optimization
is that it should not be based on short term goals (e.g., invoking replication
has high overheads, but it might be beneficial in the long-run compared to
invoking prefetching multiple times). In Polus, the optimization algorithm is
using n-step look ahead [20], which
is extensively used in game theory. In n-step look ahead, the system simulates
the impact of pursuing different options. The simulation is repeated times, and the end result of the simulation is used to decide on
the option to be selected in the current state. The simulation is based on the
implication and precondition information of the action object. The n-step look
ahead is just a rough estimate for the optimization, because external factors
such as changes in workload or resources may render the predictions inaccurate.
But it definitely helps in detecting instabilities arising due to cycles in
state transitions (i.e. the system ping-pongs between two states, invoking the
same set of actions repeatedly). It also helps in avoiding choices where a
single action leads to a series of actions being invoked due to the cumulative
side effects of actions. Finally, in addition to considering the candidate
actions independently, it is possible to reason with combinations of actions.
For example, instead of considering the choices of invoking either prefetching
or replication, it is possible to consider a combination of prefetching and
replication as an additional candidate choice. Composite actions can be handled
using vector arithmetic addition techniques but the description of these
techniques is beyond the scope of this paper.
Next: Experimental Setup Up:
Polus Framework
Previous: Base-level
reasoning