Class ProportionalBundler

All Implemented Interfaces:
Bundler<ProportionalProfile>, BundlerEx<ProportionalProfile>, ChannelAwareness, ContextAwareness, JobAwareness, PersistentState

public class ProportionalBundler extends AbstractAdaptiveBundler<ProportionalProfile> implements PersistentState
This bundler implementation computes bundle sizes proportional to the mean execution time for each node to the power of n, where n is an integer value specified in the configuration file as "proportionality factor".
The scope of this bundler is all nodes, which means that it computes the size for all nodes.
The mean execution time is computed as a moving average over a number of tasks, specified in the bundling algorithm profile configuration as "minSamplesToAnalyse"
This algorithm is well suited for relatively small networks (a few dozen nodes at most). It generates an overhead every time the performance data for a node is updated. In the case of a small network, this overhead is not large enough to impact the overall performance significantly.
Author:
Laurent Cohen
  • Constructor Details

    • ProportionalBundler

      public ProportionalBundler(ProportionalProfile profile)
      Creates a new instance with the initial size of bundle as the start size.
      Parameters:
      profile - the parameters of the auto-tuning algorithm, grouped as a performance analysis profile.
  • Method Details