On Sat, 2002-11-30 at 23:46, John Rose wrote:
> 
> The sub-millisecond work can
> be done by DSPs and CPUs on ISA, PCI, cPCI boards like you say.  Granted
> TCP/IP runs with millisecond granularity on Ethernet.  This can be a
> higher level of real-time.  Real-time is relative right?


Real-time IS relative.

On a good Unix (e.g. FreeBSD), you run Gigabit Ethernet at around 0.1 ms
round-trip using the native CPU under load.  You can cut this by an
order of magnitude to around 10us if you have a little co-processing
help.  This, among other reasons, is why a large percentage of the
Internet core backbone routers run versions of BSD or Linux.


> For most applications not all-of-it
> all-of-the-time needs to be pico-second real-time.  


Nobody ever claimed that this level of real-time was needed.  I stated
real-time wasn't needed at all for AI.  I was only questioning your
assertion that Windows was good at real-time.


> There is a large pool of Windows
> developers that (from my experience) program and produce at a lower
> overhead.  Linux is encouragingly coming around but in many cases Linux
> is too tough a sale when doing involved projects and funding is coming
> from big 3-letter corps.. 


This explains a lot.  You must live in one of those few parts of the
world where everyone still does Windows (e.g. Los Angeles).  This is
just IT cultural myopia based on where you live.  In most of the rest of
the world, Unix is a de-facto standard on the back-end and Linux is
found in virtually every shop.  I remember the days when Linux was novel
and IT managers were reluctant to try it.  These days it is so
ubiquitous in the big corporate environment that no IT manager or
executive even blinks if it is mentioned no matter where I travel.

Hell, in Silicon Valley you couldn't get funding if you suggested using
Windows INSTEAD of Unix.  And Linux is often a first-choice for
companies looking for Unix of any flavor.  I'm a FreeBSD snob but even I
have to admit that most server rooms these days are packed to the gills
with Linux servers.  And not just in Silicon Valley, but all over the
world.

 
> I'm unaware of technologies that are unavailable for Windows.  Probably
> this is because as Windows developers become aware of these they are
> rapidly incorporated into Windows code.


Just about anything having to do with clustered, distributed, and
scalable computing is non-existent for Windows even though it has been
available for Unix (and Linux) for years.  It isn't that they haven't
tried it on Windows (they have), but that it never works very well when
implemented and it always gets dumped because it is a dog.  Look through
the list archives of mailing lists for people who do clustering and
distributed systems.  It has been tried, and it has been horrible.  Even
Microsoft has been unable to get these technologies to work on Windows
and they have paid exorbitant amounts of money to the people who did the
Unix versions to get those things to work right on Windows.  To date
nobody has succeeded in making it work worth a damn on that platform.

And you can completely forget technologies like distributed shared
memory, transparent process migration and balancing, distributed
parallel I/O, and a whole bunch of other really cool scalability tricks
that you can do with Linux systems.  There is a reason that Linux is all
over the place in the world of scalable computing, distributed systems,
and supercomputing clusters and Windows is not.

 
> And this cluster is running on Win NT with old single
> proc Pentium III's.  There is some latency and echo-cancellation has
> been employed but we saved quite a bundle and the scalability is
> enormous.  This may not be the real-time that you do but you have to
> agree that it is some sort of real-time.


Except that the Windows system isn't doing anything in real-time.  The
embedded stuff is and the Windows CPU is pretty much responsible for
controlling the UI and managing things in a non-real-time manner.  This
is the same with the audio stuff I was talking about before.  The
embedded systems do all the real-time stuff, and the Windows system
mostly just does asynchronous control functions.  Think of the Windows
system as a complicated remote control device for an autonomous
real-time system.

  
> Doing the AI servers on Unix or Linux is great.  But if you need a PC
> based interface for the masses, the Unix/Linux software WILL NEED to
> have a Windows GUI whether it be through HTML, Java, TCP/IP or whatever.


Ummm... You do know that you can do native cross-platform client server
between Unix and Windows don't you?  And I'm not talking about running
an X-server on Windows (which actually does have some advantages).  For
example, QT compiles natively under Visual C++ just like it does under
gcc for X-windows with the same source tree.  (And as a personal aside,
the QT UI model is arguably superior to the native Windows one, so I
would prefer to program it over native Visual C++ anyway if I needed to
write a Windows-only app.)

AI engines are GUI free anyway.  Any GUI will be a client to a server
application (or at least I hope it would).


> This is the unfortunate case.  Open source hopefully will prevail with
> Linux but this has yet to be proven.  Developing servers on Linux is
> less distracting than Windows due to all the brouhaha Windows stuff and
> that might be reason alone to avoid Windows....


I don't use Linux because it is open source.  Open source is irrelevant
to me.  The fact remains that it is extremely popular on the back-end so
the market has in a sense already made a decision.  I use Unix because
1) everyone does, so I have to, and 2) it is exceptionally powerful and
generally has a pretty clean API, so it isn't painful in any case.

Truth be told, I think OSX (especially the recent versions) is superior
to either Linux or Windows for this purpose if you get down to it. 
Mixing the best of FreeBSD and NeXT couldn't help but to create a very
nice operating system.

Okay, I think this is sufficiently off-topic now...


-James Rogers
 [EMAIL PROTECTED]



-------
To unsubscribe, change your address, or temporarily deactivate your subscription, 
please go to http://v2.listbox.com/member/?[EMAIL PROTECTED]

Reply via email to