From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 9 Aug 93 04:47:43 GMT From: slinky.cs.nyu.edu!slinky.cs.nyu.edu!nobody@nyu.edu (Robert Dewar) Subject: Re: Query about monitor (passive) task optimization Message-ID: <244ktf$61@schonberg.cs.nyu.edu> List-Id: Jonothan Shilling asks why people do not want automatic task optimization. After all, he asks, it only makes programs run faster. Well the point is that in realtime programs, running faster is not typically a requirement. The requirement is that all tasks complete their assigned tasks on schedule. General optimizations that may or may not speed up some tasks, depending on what the compiler can figure out, are not much help to a programmer who must demonstrate that the program he writes will meet its deadlines. Imagine a worst case. Suppose a compiler used some probabilistic algorithm to estimate how it should optimize tasks. This is not unreasonable. The compiler has incomplete information about the program being compiled, so game theory would suggest that an optimizal strategy would be a mixed stratecy involving probabilistic choices. Well such a compiler would be unusable in real-time contexts -- every time you compiled, you might find that different tasks were optimized and the program would change its execution characteristics and perhaps correctness. \ On the other hand, this compiler would, on average, execute Ada programs faster than a compiler which did not do such probabistic optimization. The question is: are there applications which use tasking, and are basically interested in overall speed throughput, rather than simply that tasks meet their deadlines. Well certainly one can construct examples, but I suspect that in real life such examples are few and far between. Anyone care to report experience with applications of this type (i.e. ones where the issue is not meeting deadlines, but just generally fast execution. Remember they must also be applications where tasking performance is in fact important to overall performance). Robert