Article View: borland.public.cppbuilder.nativeapi
Article #17764Re: Dual Processor Programing
From: Phil Robertson
Date: Wed, 05 Mar 2003 00:30
Date: Wed, 05 Mar 2003 00:30
105 lines
5055 bytes
5055 bytes
Another solution for real time processing is to use an embeded NT real time controller. See the following links abot using Windows as a real time controller. http://www.realtime-info.be/magazine/97q2/winntasrtos.htm http://www.realtime-info.be/magazine/97Q2/winntext.htm http://www.e-i.fh-hamburg.de/international/rts.html Here's some links to companies who supply NTRTC http://www.disensors.com/orch.html http://www.hitex.co.uk/venturcom/ http://www.realtimeonline.com/ http://www.theragens.com/misc/MR%20-%20Windows%20NT%20Real-Time.htm -- Phil Robertson BSIT phil4114@email.uophx.edu Work Phil.Robertson@hayssen.com Home PhilR80245@aol.com ----------------------------------------------------------- "Early Ehlinger" <early@respower.com> wrote in message news:3e5a23df@newsgroups.borland.com... > SetThreadIdealProcessor won't help much simply because all of the other > threads on the system can still preempt your thread. Sure, you can use > SetThreadPriority and its ilk, but even then there are situations where you > will lose your > processor to somebody else. > > If you really are just trying to post-process the data, meaning it's been > buffered by a realtime system and there is a guarantee that it's all > present, you might want to spend some time looking at the memory mapped IO > facilities in w2k. > > If the data is placed in a binary file that resembles a big array, MMIO will > likely provide you more speed benefit than specifying which processor you're > running on. I once had a project where I had to display huge log files from > a CPU counter log. The intent was to display a simple line graph of the > performance counters complete with scrolling, zoom, etc., all while having > it be extremely responsive. The problem was that I couldn't get the data > off of the disk fast enough to display on the screen. > > I tried playing around with thread affinity and priority, and the thing was > still totally unresponsive. You'd scroll, wait for the thing to draw, zoom, > wait for the thing to draw, etc... I switched from using > CreateFile/ReadFile to using MMIO, and got more performance benefit than any > other optimization I made during development of that project, so much so in > fact that it became usable as a result of that one change. You'd scroll, > see the data at the correct position without noticing the refresh, zoom, see > the data at the correct position without noticing the refresh. All because > Windows can take a file and map it directly into RAM. The effect is that > you feel like you've got a big array at your disposal rather than a series > of records on disk. Sure, you spend a little bit of time choosing which > "window" of the file to map in, but that's so fast that it's pretty much > negligible. > > If you're actually trying to capture this live data through a serial port or > something like that, then my advice is, keep your x86 PC, drop the > non-realtime OS and go with a true realtime OS like > > QNX Neutrino (www.qnx.com) > RTLinux (www.rtlinux.org) (or one of its many competitors) > > > -- > -- Early Ehlinger CEO, ResPower Inc - Toll-Free : 866-737-7697 -- > - RenderFarm - Lightwave , 3dSMax , Bryce , Maya , AfterEffects - > --- www.respower.com -- 400+ GHz Starting At USD$0.50/GHz*Hour -- > ----------------- SuperComputing For the Masses! ---------------- > "I'm so busy programming my computer to let me be lazy, I never > get any rest!" - John Kaster > > "Coin Hughes" <colin_r_hughes@lineone.net> wrote in message > news:3e578290$1@newsgroups.borland.com... > > > > Thanks Gambit > > > > I am trying to post process live data (pressure traces) from a diesel > engine in real time even though Window 2000 is not a real time system. > > > > Hope SetThreadIdealProcessor (NT only)works in win 2000. > > > > Thanks > > colin > > > > > > > >
Technical Details
Message-ID:
<3e65450b$1@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.wirehub.nl!news.kweb.on.ca!KWeb!newsgroups.borland.com!not-for-mailReferences:
<3e554bf9$1@newsgroups.borland.com> <3e55631c$1@newsgroups.borland.com> <3e572048@newsgroups.borland.com> <3e578290$1@newsgroups.borland.com> <3e5a23df@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10cc67,cf095fab10686386,start X-Google-Attributes: gid10cc67,public X-Google-ArrivalTime: 2003-03-04 16:36:02 PST Reply-To: "Phil Robertson" <PhilR80245@aol.com> From: "Phil Robertson" <PhilR80245@aol.com> Newsgroups: borland.public.cppbuilder.nativeapi References: <3e554bf9$1@newsgroups.borland.com> <3e55631c$1@newsgroups.borland.com> <3e572048@newsgroups.borland.com> <3e578290$1@newsgroups.borland.com> <3e5a23df@newsgroups.borland.com> Subject: Re: Dual Processor Programing Date: Tue, 4 Mar 2003 19:30:04 -0500 Lines: 107 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 NNTP-Posting-Host: 12.10.123.20 Message-ID: <3e65450b$1@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1046824203 12.10.123.20 (4 Mar 2003 16:30:03 -0800) Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.wirehub.nl!news.kweb.on.ca!KWeb!newsgroups.borland.com!not-for-mail