• DocumentCode
    960396
  • Title

    Representation of Concurrency with Ordering Matrices

  • Author

    Tjaden, Garold S. ; Flynn, Michael J.

  • Author_Institution
    The Johns Hopkins University, Baltimore, Md. 21218.; Department of Advanced Systems Architecture, Bell Laboratories, Naperville, Ill. 60540.
  • Issue
    8
  • fYear
    1973
  • Firstpage
    752
  • Lastpage
    761
  • Abstract
    A formal technique for the representation of tasks such that the potential concurrency of the task is detectable, and hence exploitable, during the execution of the task is described. Instructions are represented as a pair of binary vectors d¿ and ê which completely describe the sources and sinks specified by the instruction. Tasks are represented as square matrices M called ordering matrices. The values of the elements of these matrices are used to dynamically indicate the necessary ordering of the execution of instructions. It is shown how several different types of ordering matrices, each type having the capability of exhibiting different amounts of potential concurrency, can be calculated from the d¿ and ê vectors of the instructions of a task using ``linear algebraic-like´´ operations. For example, intercycle independencies can be detected with a ternary ordering matrix. This matrix can be extended to dynamically detect opportunities for reassigning the resources specified by certain instructions to increase the amount of potential concurrency. Experimental results are presented showing the relative capability of each of these matrix types for exhibiting potential concurrency. These techniques are shown to produce somewhat greater amounts of potential concurrency than other known dynamic techniques. However, the amounts of potential concurrency found are less than those reported for preprocessing detection techniques.
  • Keywords
    Algorithm design and analysis; Analytical models; Arithmetic; Computer aided instruction; Concurrent computing; Data preprocessing; Detection algorithms; Resource management; Software algorithms; Vectors; Branch instructions; concurrency; cyclic independence; independence; resources;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.1973.5009154
  • Filename
    5009154