JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
feature_request_small.png
CLOSED  Feature request JPPF-466  -  New Load-balancing algorithm: RL2
Posted Jul 25, 2016 - updated Jul 30, 2016
action_vote_minus_faded.png
0
Votes
action_vote_plus_faded.png
icon_info.png This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue details
  • Type of issue
    Feature request
  • Status
     
    Closed
  • Assigned to
     lolo4j
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     lolo4j
  • Owned by
    Not owned by anyone
  • Category
    Performance
  • Resolution
    RESOLVED
  • Priority
    Normal
  • Targetted for
    icon_milestones.png JPPF 5.2
Issue description
Inspired by this forum discussion.

As pointed out, the existing "RL" load-balancing algorithm is not really using a reinforcement learning technique. It merely adjusts its actions/rewards based on what it remembers of the system's performance. In particular:
  • it does not modelize the possible states of the system
  • it does not modelize the probability of transitioning from one state to another when an action is applied
Furthermore, I have noticed, while testing the "rl" algorithm, that it has a tendency to converge towards a very low bundle size (generally just 1). Consequently, even though it produces a reasonably balanced workload, the resulting overall throughput is significantly below optimal.

I am proposing to deprecate "rl" and replace it with a new "rl2" algorithm, closer to the spirit of reinforcement learning, which:
  • builds a (partial) map of the states of the system by randomly walking the state space
  • choses actions with an increasing probability over time from the known states
  • resets itself and re-learns from scratch when significant disturbances are detected, for instance when a new job with a different performance profile is submitted to the grid

#3
Comment posted by
 lolo4j
Jul 30, 20:35
Implemented in trunk revision 4177