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]
