[comp.lang.ada] Realtime Performance Requirements

vestal@srcsip.UUCP (Steve Vestal) (05/25/88)

Measurments of the performance of specific Ada language features seem
to be of great interest.  Suites like the Michigan benchmarks and the
SIGAda PIWG benchmarks do this.  The sorts of measurements that might
be made are execution times for

  Task Redezvous
     (no parameters, single entry no select, few active tasks)
     (no parameters, many entries in select with terminate, many active tasks)
  Exception Handling
     (predeclared, handled in block where raised)
     (user declared and raised, propagated N blocks)
  Procedure Call (no parameters, one IN scalar parameter, ...)
  Task Activate
  Task Abort
  Interrupt Response (time to start executing body of accept)
  Interrupt Latency (time for null handler task, i.e. total interrupt overhead)
  Delay Latency/Jitter (precise delay, not blocked by higher priority task)

I would be interested in hearing how these figures are used with respect
to specific realtime applications.  Can requirements for particular
applications be at least partially captured in terms of these numbers
(e.g. "application X requires that tasks be activated within Y microseconds")?

If you have worked on, or are presently working on, a hard realtime
application, can you give at least ballpark quantitative requirements for
any of the eight features I listed above (or others that are important)?
Email to me, and I will be happy to post a summary to the net.
(If possible, please indicate the nature of the application, as in
 "... controller for a molten beer mug juggling robot, structured as 200
 cyclic tasks distributed over 7 crays (one in each finger), which must
 not only take a sip every 1.00000 seconds but also operate smoothly
 enough to avoid spilling and long enough to consume ...")

I would also be interested in hearing if these numbers don't quite seem
to hit the nail on the head for your applications (e.g. "Forget about that
stuff, just give me a beast that manages to grab an interrupt and
execute algorithm foo all within Z microseconds.  I'll live with slow
interrupts as long as you give me fast floating multiplies.")  (I should
point out that the PIWG benchmarks are more comprehensive than the features
I named and also include some throughput measurements.)

Steve Vestal
Mail: Honeywell SRC MN65-2100, 3660 Technology Drive, Minneapolis MN 55418
Phone: (612) 782-7049
ARPA: vestal@src.honeywell.com
UUCP: {ihnp4, philabs, umn-cs, ems}!srcsip!vestal