A while back, I changed my doctoral specialization to computer
architecture.  But prior to that, I was studying AI, and as I think
about this, this problem screams for a reinforcement learning approach.
For N drives, there are 2N+1 actions, those being read to each drive,
write to each drive, and possibly do-nothing (even if there is work to
do).  If we can map past actions, knowledge of the consequences of those
actions, and information about time since last action to some reasonable
number of "environment states," then it would be straightforward to
implement a completely adaptive online optimization algorithm.  It could
also be tunable to favor throughput, latency, and even energy to
different degrees.  The general idea is to use measurements of actual
performance to judge the effectiveness of past actions in achieving
those goals and integrate that into future decisions.  If we did it
right, the algorithm would automatically adapt to differences in drive
performance characteristics.  Mind you, this might only get incremental
improvements in performance over the more naive approaches.  But I
recall reading one paper about a DRAM controller scheduler that achieved
a 22% throughput improvement over the best static method available at
the time.  (And as I continue to think about this, perhaps the best
place to implement this first would be for reordering accesses to single
drives.)

Sorry about the rant.  :)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/361733

Title:
  dmraid(fakeRAID) raid1 driver doesn't loadbalance reads

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/361733/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to