Browse Prior Art Database

Supporting Coprocessors for Accelerated Workstation Applications

IP.com Disclosure Number: IPCOM000101403D
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 3 page(s) / 160K

Publishing Venue

IBM

Related People

Lewis, JRT: AUTHOR

Abstract

Described is an extension of the notion of the user exit, applied in a novel way to achieve support for special-purpose coprocessing hardware with different multiple coprocessors in the same workstation. The scheme allows multiple coprocessors of different types to be exploited by an application. Applications can be written without needing to know whether any coprocessor is available or whether there is more than one. The most appropriate coprocessor for any given operation is automatically chosen without any one coprocessor needing to know its performance relative to any other.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 37% of the total text.

Supporting Coprocessors for Accelerated Workstation Applications

       Described is an extension of the notion of the user exit,
applied in a novel way to achieve support for special-purpose
coprocessing hardware with different multiple coprocessors in the
same workstation.  The scheme allows multiple coprocessors of
different types to be exploited by an application.  Applications can
be written without needing to know whether any coprocessor is
available or whether there is more than one.  The most appropriate
coprocessor for any given operation is automatically chosen without
any one coprocessor needing to know its performance relative to any
other.  This approach is suitable when the amount of work done in one
call of the application to the function is relatively large, as in
image processing or visualization, where the overhead of choosing the
fastest coprocessor is incurred infrequently in comparison with the
amount of work done and can lead to time savings.  Addition of
coprocessors requires change to the exit routine only and a relink of
the applications.

      Workstations provide excellent facilities for sophisticated
user interfaces.  However, numerically intensive applications, such
as image analysis or scientific visualization often require more
processing power than is commonly available in a workstation.  One
solution is to add special-purpose coprocessors to handle the
computationally intensive part of the application.  In the past,
applications have had to be aware of the coprocessors and to provide
code in order to benefit from extra performance.

      This disclosure details an approach which can be taken at the
level of the subroutine libraries used by an application.  It allows
the application to be coded without the need to be aware of the
coprocessor and for it to execute correctly whether or not the
coprocessor is present and to allow multiple coprocessors installed
in the same workstation to be supported.

      Coprocessors: Certain kinds of coprocessors have been commonly
used in workstations.  An example is the 8087 maths coprocessor used
in some personal computers.  Support of such coprocessors has been
limited to a fixed 'instruction set' which is emulated in the absence
of the hardware, as they have a fixed instruction repertoire.  Other
coprocessors have much more capability, can themselves be programmed,
and have more of the components of a complete computer than the 8087
coprocessor. Such new coprocessors can perform complex functions
downloaded to them as software.

      New Approach: It has been implemented in a prototype
interactive image processing hyphen. The new approach in this
disclosure is based on functions.  Essentially, the application is
written as a series of calls to underlying functions, following good,
structured programming practice.  These functions may be specially
written for the application or provided as one or more of the tools
used by the applica...