The MPLS WG Archive

Cell Relay Retreat>MPLS WG Archive>month:2003-Nov> msg00180



[Date Prev][Date Next][Thread Prev][Thread Next]  
  [Date Index][Thread Index][Author Index][Subject Index]

OT: BOIDS (was Re: on documenting ECMP (was on the mpls oam framework))

  • From: mark seery <mark@interflect.com>
  • Date: Wed, 19 Nov 2003 13:30:25 -0800
  • CC: mpls@UU.NET
  • User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225

Busschbach, Peter B (Peter) wrote:

>(large snipping license follows - apologies in advance)......non-determinism is a powerful concept and that a program should be written in such a way that its correctness can be proven, even in the face of non-determinism..........is it really crucial to know exactly how traffic is routed? Shouldn't we just embrace non-determinism for the advantages that it provides and find ways to work around it?
>
Way OT in to the theoretical, but.................

Peter, I think your instinct that there is a philisophical/paradigm 
disconect is true, of which many would agree. I understand why you took 
the determinism route (as determinism was previously raised), but I 
don't think determinism fully explains the issue.

You may have heard of the famous computer simulation by Craig Reynolds 
(http://www.red3d.com/cwr/boids) that involved "boids" - artificial life 
birds. In one model, boids were given three simple rules: maintain a 
minimum distance from other objects, try to match velocity with other 
boids in the neighborhood, try to move towards the perceived center of 
mass of boids in the neighborhood. In one of the runs, a boid hit a 
pole, it bounced off, the other boids flew around the pole, and then all 
the boids self-organized back in to the flock formation they were 
previously in. There was not one line of code in the simulation 
directing the boids what to do if they hit a pole. From this observation 
people have inferred that in protocols, and by extension networks, you 
can not anticipate all the potential problems, and that by trying to do 
so makes the system inherently less robust; and that a better approach 
is to program rules that will lead to self-organization, and perhaps 
even one day emergent behavior. So in dynamic routing, we see yet 
another human endeavor searching for the essence of intelligence. This, 
combined with the social and technological trends of the 70's and 80's 
that highlighted the limitations of hierarchy, have combined to create a 
powerful force within our industry.

So I would observe the behavior of the boids were determinstic (not 
randomly selected choice as in some genetic algorithms of trial and 
error). But the real "life preserver" issue to which Kireeti referred is 
not whether to trust in non-determinism, but whether to trust the 
inherent intelligence of the network, and the simple rules (some of 
which Kireeti has enumerated) which we use to make sure our 
(packets)boids react when they hit their respective poles. It is the 
difference between whether you believe you can enumerate all the 
potential fault conditions or not, and whether you are willing to pay 
the price for accounting for them. It is the difference between whether 
you think intelligence lives purely in the control plane, of whether you 
think it lives in the data and management planes as well.

No doubt our respective operational experiences inform us on this and 
other issues, which of course is one of the dividing lines, and why the 
compromise of applicability seems so important.

As it is said that science often works more by metaphor than deduction 
than people believe, the search for a metaphor is good - finding the 
right one is extremely hard. It is also fair to observe that most major 
standards bodies (IEEE, IETF, ITU, ATM Forum, ANSI) are most comfortable 
with one metaphor, everything else has the potential to be an irritation 
in the oyster which produces a pearl, but often that is not the case. 
The inherent problem with MPLS is that it has the potential to confuse 
people about which metaphor is being pursued, but this thread does not 
lead much doubt (IMO) - though even within the IETF/IP community that is 
sometimes debated (adding to the confusion).

This is not anywhere near the entire story, but thought your comment 
deserved a considered response.

Best,
mark

p.s. it was constructive and worthwhile of Tom to add that even with 
MPLS there are options.