| Thanx for a good explaination.
But the problem for my customer is that although there may be no queue
against any of the disks, there definitely are queues against three of
the SCSI-busses! And of course, the queues are building up against bus
#0, #2 and #4. There are no queues against bus #1, #3 or #5, these busses
are more or less idle.
The customer understands that choosing ROUND-ROBIN will cause the load
to become spread over all the busses, but thinks that it should be a
good idea for the disk selection algorithm to not only check which disk
has the shortest queue, but to also check that the disk that is found
is not on a totally overloaded bus! Especially when both candidates
have a queue of zero.
An alternative would be to make it possible for a user to change the
scanning order for half of the mirror sets. This is now possible to do
by removing the 'primary' member which will cause the remaining member
to become 'primary' and later add the old 'primary' member back into
the mirror set. According to my customer, there will be no change in
'primaryship' after the addition. The big disadvantage of this is of
course that it requires a shadow copy and for my customers
configuration there would be six shadow copies required. A simple
HSJ-command that only manipulates data structures in the HSJ seems to
be more appropriate!
Karl Jonas
|
| > The customer understands that choosing ROUND-ROBIN will cause the load
> to become spread over all the busses, but thinks that it should be a
> good idea for the disk selection algorithm to not only check which disk
> has the shortest queue, but to also check that the disk that is found
> is not on a totally overloaded bus! Especially when both candidates
> have a queue of zero.
Yes, I understand. I will suggest a change along these lines.
> An alternative would be to make it possible for a user to change the
> scanning order for half of the mirror sets. This is now possible to do
> by removing the 'primary' member which will cause the remaining member
> to become 'primary' and later add the old 'primary' member back into
> the mirror set. According to my customer, there will be no change in
> 'primaryship' after the addition. The big disadvantage of this is of
> course that it requires a shadow copy and for my customers
> configuration there would be six shadow copies required. A simple
> HSJ-command that only manipulates data structures in the HSJ seems to
> be more appropriate!
Also agreed. Just for future reference; note that the scanning order is
currently determined by the membership order, which is initially determined
by how the members are listed in the ADD MIRROR command. It is, therefore,
possible to construct mirrorsets from the start that have primary members
on different busses. This doesn't help your customer, and won't make any
difference once we improve the algorithm. But in the meantime:
ADD MIRROR M1 DISK100 DISK200
ADD MIRROR M1 DISK210 DISK110
instead of:
ADD MIRROR M1 DISK100 DISK200
ADD MIRROR M2 DISK110 DISK210
will yield the "better balanced" bus load desired.
Bob
|