Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: requiring hardware is futile



P1788,

IA, to be successful, will have to be a living implementation based on the Standard and capable or surviving changing technology and changing needs. If you required a specific hardware implementation, it would: 1) become slowly obsolete based on new architectures and processors; and 2) be extremely difficult to get the approval of the larger group of experts that will serve on the sponsor ballot, including, most likely, representatives of the various hardware, silicon, and software implementors as well as other academicians along with many members of this group.

I believe your goal should be create a standard for Interval Arithmetic that yields the SAME answer to computations with the SAME input and SAME operations across hardware implementations, and software languages. This should be a major goal where correctness is more important the speed. Try to think about the problems of multiple operations and the order of execution, ie precedence of operations that was sidestepped in 754 being language dependent.

Speed in an interesting concept for an implementation. During the 754 battles, we had many arguments about the checking for underflow after each operation would cost 1 extra clock cycles for a particular vendor and slow that vendors machine down to be to slow to be competitive. I am sure the same arguments will come up here again although you do not have a lot of existing implementations at risk.

One of the interesting facts that came out of the 754 arguments was the portion of the time that the processor actually spent on FP operations, or in your case IA operations, in performing a specific user function. In one very highly concocted example the processor was doing a floating point operation 45% of time and an extra cycle in each operation really hurt. Most of the applications had the actual use of the FP hardware being a very surprisingly small part of the machine cycle count in a normal environment where an extra cycle/operation or two to get the correct answer was not worth measuring.. It may be useful to look at the applications of IA, based on this developing standard, and drive the acceptance of IA that will then drive the folks to make it faster, and still get the SAME answer.

Bob Davis

David Hough 754R work wrote:
What does it mean to require hardware support of intervals?

All Turing machines support interval arithmetic; it's a "simple matter of
programming."
Is a microcoded implementation count as hardware or software?
What about an optional external coprocessor card for interval processing?

I think that requiring hardware implementation really amounts
to requiring some minimal level of performance so that interval
methods are competitive with other methods for solving problems.

However that's very hard to specify, since there are so many ways of measuring
performance and "easy to measure" and "relevant to end user" are usually disjoint.

That's why language standards groups generally refuse to touch this issue - it's
not just an IEEE idiosyncrasy.      Quality of implementation issues are up to
the user to decide based on criteria relevant to the user.

To see where this leads, one can look at the various SPEC results which aren't
more than a very general sort of help to users because they correlate so poorly
with delivered performance of ISV applications on which most computer performance
procurement depends.

Even so, the best way to get interval performance improved is probably to get
1788 finalized, then get language standards that support 1788, then get realistic
open source applications written according to those language standards
that can be used to compare performance on platforms, then get an organization like SPEC to select a few of those to measure
interval performance, then get end users interested enough to make procurement
decisions based on those results. If all goes really well this could all happen in ten years, but twenty might be a more realistic guess.



--
Respectfully,

Bob Davis
bob@xxxxxxxx
408-857-1273