Timeline for Real-time Dataflow Programming
Current License: CC BY-SA 3.0
8 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
May 18, 2012 at 11:48 | comment | added | Richard Harrison | SMP doesn't really apply to most sims as they are more like distributed systems - each with a discrete unit running specialised real time executive (depending on the sim and the vintage). The ones using shared reflective memory are limited by the RM bus to the number of discrete processing units that can be added to the bus - adding extra nodes would upscale the performance fairly linearly - if we ran out of spare time it was common (but expensive) to add another node to the configuration - the overhead would be very small as it is just that of the real time executive so you'd get probably 99% | |
May 17, 2012 at 18:28 | history | edited | Evan Plaice | CC BY-SA 3.0 |
added 2 characters in body
|
May 17, 2012 at 18:24 | comment | added | Evan Plaice | @RichardHarrison Thanks for the correction and additional info. I updated the frame time to 33ms. At the time I was an IO guy so my knowledge of the host is limited to what I learned from the engineers I worked with. One thing I always wondered. Back then, as the computers scaled to more processors the overhead increased at a rate where eventually no gain was achieved from adding more CPUs. With the re-emergence of multi/many-CPU SMP, how was that overcome? | |
May 17, 2012 at 18:14 | history | edited | Evan Plaice | CC BY-SA 3.0 |
deleted 1 characters in body
|
May 17, 2012 at 12:20 | comment | added | Richard Harrison | However the dataflow of these old sims isn't well defined in terms of dependencies we all knew what was where so it was well understood. Effectively it's all data driven from the data lookup tables for aero, hyds, engines etc. But a lot of skill was required to get the systems in the right CPU in the right sequence. | |
May 17, 2012 at 12:19 | comment | added | Richard Harrison | All of this was via shared memory when using multiple cpus - which could be global in the era pre reflective memory (mid 80's). No dynamic memory was used on these. Typically the global shared memory would be from 32k to 128k depending on the airframe. All of the schedulers I ever worked on were on a one per CPU basis and executed in specified sequence (not round-robin) because each module had to complete before the next one started. | |
May 17, 2012 at 12:14 | comment | added | Richard Harrison | Flight sims run at minimum of 30hz - usually 60hz or higher these days. This is the frame rate and is equivalent to 33.33ms frames. Typically sims run with min 20% spare time so that gives you around 27ms to do all the calculations and be ready. Frame overrun will emergency halt the sim. Digital Controls run at 500hz - analog controls (pre mid 80s) are different again. The rest is run at max rate (i.e. 30hz or higher depending on the era). Not all systems run at max rate - there is usually half and quarter rate for less important systems. | |
Apr 18, 2012 at 23:50 | history | answered | Evan Plaice | CC BY-SA 3.0 |