It never ceases to amaze me how many different disciplines Labview
users come from. One reason I enjoy being on this forum so much,
is that I get to work with a staggering variety of hardware, software,
and scientific fields. One can't do this for very long without
learning how to think outside the box, when to know if it's a Labview
problem, and when to know if there's "gasp!" a better solution.
A while back, I read an article in Scientific
American...I forgot the exact title....but the gist of it was "Why
widening roads doesn't work." It was a very comprehensive
treatment of traffic flow theory, which is applicable to a multitude of
disciplines, including software design. We've all experienced the
phenomenon where major highway renovation takes place...perhaps
doubling or tripling the number of lanes in a certain section of
road, and immediately noticing that there is no abatement of
traffic whatsoever. In this particular S.A. article, they showed
that the capacity of traffic WOULD increase in direct proportion to the
number of lanes, IF and ONLY IF, you allowed no lane changing!
The "no lane changing" mode of traffic is known as LAMINAR FLOW.
Of course, there are huge socilological problems involved in this,as
well. Americans like changing lanes a lot, and as long as they
do, widening roads will not fix traffic problems. In some cases,
it can make things worse. But, if we could somehow create laminar
flow traffic patterns, life would be more blissful.
Now, vehicular traffic on roads isn't
the only place where Laminar Flow works. Engineers have
learned how to create laminar flow water in pipes which exhibits FAR
less viscosity than turbulent water. Actually, it's not very hard
to create laminar water flow...you just need a short section of pipe
with a lot of tiny tubes in it...keepng water molecules in their
"lanes" as it were. Oddly enough, once you create laminar water
flow, it tends to STAY laminar even if it passes through a normal
hose. Some astonishing water fountains have been made this
way...beautiful parbolic arcs of water can enter a pond without
creating a hint of a splash or ripple. You can't even tell the
water is moving.
Well, what does this all have to do with
Labview? I have noticed a trend over the years some HUGE
Labview applications, containing many simulatenous loops, etc. In
my own experience, I have worked on distributed DataSocket applications
with HUNDREDS of simultaneous sockets running....over a relatively
limited bandwidth. The trend can only continue, as Labview is
applied to bigger and diverse systems. A thorough
understanding of some traffic flow principles can go a long way toward
streamlining large Labview applications. If we think LAMINAR FLOW when
we design process control, we have one more tool for streamlining our
applications. We should design our large applications so that
there is a minimum of unnecessary signalling between looops
("crosstalk"), which is the equivalent of lane changing. We need
to manage our memory well....explicit memory allocation is the logical
equivalent of laminar flow. Dynamic memory allocation is, of
course, the trend, but it is NOT where you want to go, if raw
performance is the goal!
Anyway, I hope this little diatribe has perhaps
stimulated some thought. I'd love you hear your thoughts on
traffic theory, laminar flow, and anything else related. (or
unrelated!)
Eric
Eric P. Nichols
P.O. Box 56235
North Pole, AK 99705