Subject: Re: Revised BCM selection process

From: Peter Johansson <[email-masked]>
Date: Thu, 20 May 1999 11:46:08 EDT

In a message dated 99-05-20 04:32:59 EDT, [email-masked] writes:

<<...in general the capability hierarchy (pg 9.23 in 99-005r1.pdf) seems to
be a bad idea altogether. If we start building on the 'more capable' node
concept, then new problems will soon be met.>>

I believe it's essential to create such a hierarchy, NOW, while we still can.
The point is that there are going to be some future needs, not all of which
have been imagined yet, that can only be met by placing them in the root. The
"adjustable cycle master" for P1394.1 needs is one such example, the
desirability of a P1394b node as root in a mixed environment is another.

If we don't have an orderly way to incrementally extend the root's
capabilities, as justified, we run a serious risk of boxing ourdelves into a
corner in future.

<<Very soon we will need new types of 'capabilities', and I believe that
nobody will implement a capability high in the hierarchy, because it will
take a lot of effort and time to implement and test all others as well, which
will most certainly be quite independent in functionality of one another.>>

If I may say so, this is not an argument against a hierarchy, in general.
When the idea of a hierarchy was first put forward, it's proposers well
understood that it would be a self-limiting process. In order to justify the
addition of a new capability, that capability will have to be NECESSARY
(i.e., no other credible solution to the problem exists) and SIMPLE.

I believe the BCM meets both of these criterion; more intertwined below.

<<In my posting about a week ago, I mentioned that one of the inherent
problems of the proposed procedure about an IRM+BCM node forcerooting itself
has to do with the proposed timing. Consider the following scenario, in the
case where the IRM is not BCM capable:

Nodes A and B have sequential phyIDs so their difference in timing is 15
msec, which is small enough to make the BCM-related processing execute at the
'same' time on both.

Node A: Checks IRM and finds that it is not BCM capable.
Node B: Checks IRM and finds that it is not BCM capable.
Node A: Sends the forceroot with its own PhyID
Node B: Sends the forceroot with its own PhyID
Node A: Issue Bus Reset
Node B: Issue Bus Reset

Not to mention the fact that we could have 2 bus resets in a very short time
(or more if other nodes are involved in this scenario in various ways), the
question is who will be the root after the second bus reset?>>

Node B; the PHY configuration packet it transmitted cleared force_root at
Node A!

Not to mention the fact that if virtually all IRM-capable nodes are
BCM-capable, the scenario never arises! It is transitional behavior; not only
that, it occurs only at the time a BCM-capable node joins a bus that lacks a
BCM. Once the BCM is established, it is stable.

<<Similarly the same scenario applies in the case of capability hierarchy.
For example consider in the future, when we might have more capabilities
added to the hierarchy, if 10 nodes with varying capabilities happen to be
'more-capable' than the root and they all decide that they should become the
root, how many bus resets might happen until the most-capable node becomes
the root?>>

I don't know; I won't answer "far, uncertainty and doubt" questions of this
sort. I don't grant you your assumptions, Dmitri, that so many capability
levels would ever exist so as to make this a problem.

I also need to repeat that the contention for the role of root is being
forced upon us by independent needs of P1394.1 and P1394b that will not go
away if we ignore them. It's our responsibility to lay the best plans for the
future that we know how today.

<<Since we are so much in a hurry to allocate channel 31 from the IRM, why
not make the BCM contention as follows:

Each candidate BCM will try to allocate channel 31 from the IRM,
*immediately* after bus reset. The node that allocates this channel becomes
the BCM, and has to perform any other related duties (confirming the
allocation of channel 31, etc). Each candidate will have a timeout of 1-2 sec
and if by that time it has not been notified about successful allocation of
channel 31 by the BCM, then it knows that there is a problem and might
proceed to take whatever actions required.

This I believe looks equivalent to the proposed functionality and does not
force BCM and IRM functionality on the same node.>>

This does NOT have equivalent functionality, particularly since we are "in a
hurry to allocate channel 31"!

P1394.1 bridges need to know that they can start using some channel
immediately after bus reset to send go fast / go slow packets to the
adjustable cycle master. Without this capability, isochronous traffic will be
disrupted by bus resets anywhere in the net of interconnected Serial Buses.

I think we're still waiting for a credible alternative to merging the BCM and
the IRM---and lacking such an alternative, need to move forward with the
proposal in P1394a.

Regards,

Peter Johansson

Congruent Software, Inc.
98 Colorado Avenue
Berkeley, CA  94707

(510) 527-3926
(510) 527-3856 FAX

[email-masked]

---

From: Dimitris Staikos <[email-masked]>
Date: Thu, 20 May 1999 20:53:08 +0300

Hi,

> Node B; the PHY configuration packet it transmitted cleared force_root at

I was under the impression that first bus reset would clear the
force_root flag on all nodes.
I did not see clearly mentioned anywhere that force_root is sticky,
neither the opposite of course. It can only be implied by looking at
reset_start_actions, reset_complete_actions etc.

>> the BCM

Is this because there is theoretically a window of opportunity that 31 gets
allocated by someone else that is not a BCM candidate?

---------------------------------------------------------------------------
Dimitris Staikos
[email-masked] (Business mail only please),
[email-masked] (Personal mail), ICQ UIN 169876
Software Systems & Applications Chief Engineer, UniBrain, www.unibrain.com
---------------------------------------------------------------------------
The great pleasure in life is doing what people say you cannot do.
He has the right to criticize who has the heart to help.
Happiness is not a place to travel to. It's a way of getting there.
"Young man, the secret of my success is that at an
    early age I discovered I was not God".
Children require guidance and sympathy far more than instruction.
---------------------------------------------------------------------------