Effect of storage allocation/reclamation methods on parallelism and storage requirements

  • Authors:
  • M. Kumar

  • Affiliations:
  • IBM T.J. Watson Research Center, Yorktown Heights, NY

  • Venue:
  • ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
  • Year:
  • 1987

Quantified Score

Hi-index 0.01

Visualization

Abstract

The write after read/write synchronizations (the anti- and output-dependence constraints) inhibit the parallelism exhibited by Fortran programs. These constraints can be avoided by allocating storage for the values generated in a program dynamically, so that multiple values associated with the same variable can co-exist. The additional parallelism obtained by dynamically allocating storage for a subset of variables in a program, and the extra storage required for doing so, are scrutinized for a set of scientific/engineering applications.It is shown that on allocating storage dynamically for all scalar variables in the program, several hundred Fortran statements can be executed concurrently per cycle. On allocating storage dynamically for array elements too, the further increase in parallelism is less than a factor of ten. Finally, if storage is allocated statically for all variables, the available parallelism is usually under 10 Fortran-statements/cycle. The storage required for dynamic allocation can be two orders of magnitude above that required for the execution of the program on a conventional machine.