Browse Prior Art Database

Speculation in Parallel Systems

IP.com Disclosure Number: IPCOM000105808D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 6 page(s) / 269K

Publishing Venue

IBM

Related People

Ekanadham, K: AUTHOR [+2]

Abstract

Metaparallelism is a process that determines the form of parallelism that is to be used in a specific application. Metaparallelism has two interfaces:

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

Speculation in Parallel Systems

      Metaparallelism is a process that determines the form of
parallelism that is to be used in a specific application.
Metaparallelism has two interfaces:

o   Information derived from prior executions.

o   Explicit statements made in the program or compiler output that
    bear on the form of parallelism.

Metaparallelism uses aspects of program behavior as it relates to the
capabilities of the Metaparallel Processor to cope with this behavior
to determine the type of parallelism that is to be pursued.
Metaparallelism employes speculation, that is, allocation of
resources to computations without a guarantee that these computations
are required, in order to complete the application in the faster
time.

      The choice of parallelisms that metaparallelism can select from
are:

o   Path-oriented forms of parallelism.

o   Path-oriented forms of parallelism with speculation.

o   Computation-oriented parallelism with bifurcation at branches.

o   A set of independent paths that intercommunicate by sending
    messages to each other.

o   A combination of the above.

Metaparallelism employs means at its disposal to alter the form of
parallelism specified by the programmer/compiler at the source level
and to notify the programmer about significant aspects that interfere
with the parallelization of the application.

      It is the intention of a formal speculation model to identify
certain fundamental architectural supports for a consistent
formulation of speculation and to provide the programmer an
opportunity to invoke any of the three forms of speculation directly.
This formalizes a ARCHITECTURAL INTERFACE to speculation which
provides for programming and compiler target for speculation.  It is
apparent that this interface is compatible with the prior-execution
interface that utilized a Branch Prediction Mechanism (BPM) and the
formulation of computations that are used in the Metaparallel
PROCESSOR itself.

      The following relationships exist between speculation as we
have defined it and parallelism.

1.  Speculation requires a parallel execution model.
2.  Parallelism is enhanced through speculation.
3.  It should be possible to map many forms of parallelism onto a
    speculative model.
4.  If metaparallelism is to represent a wide range of parallel
    processing models, a speculative model becomes an essential
    component.

Whenever specific hardware facilities are created to assist a program
in execution, the question that is asked, is whether these facilities
can be the target of a compiler or a programmer's statement.
Speculation and the parallelization of computational threads can be
derived in three ways:  from an initial execution, as a result of a
compiler initiated attempt at parallelization, or through explicit
statements made by the programmer in programming the application.

      The proper way to view such statements is as additions to the
ba...