• DocumentCode
    1237487
  • Title

    Some Empirical Observations on Program Behavior with Applications to Program Restructuring

  • Author

    Peachey, Judith B. ; Bunt, Richard B. ; Colbourn, Charles J.

  • Author_Institution
    Department of Agricultural Economics, University of Saskatchewan
  • Issue
    2
  • fYear
    1985
  • Firstpage
    188
  • Lastpage
    193
  • Abstract
    The dynamic behavior of executing programs is a significant factor in the performance of virtual memory computer systems. Program restructuring attempts to improve the behavior of programs by reorganizing their object code to account for the characteristics of the virtual memory environment. A significant component of the restructuring process involves a restructuring graph. An analysis of restructuring graphs of typical programs found edge weights to be distributed in a Bradford–Zipf fashion, implying that a large fraction of total edge weight is concentrated in relatively few edges. This empirical observation can be used to improve the clustering phase of program restructuring, by limiting consideration to edges of large weight. We consider the effect of this improved clustering in the restructuring process by examining various means of restructuring some typical programs. In our experiments, 95 percent of the total edge value is typically accounted for by 50–60 percent of the edges. For naive clustering algorithms, clustering time is therefore typically halved; for more sophisticated methods, more substantial savings result. Finally, clustering with 95 percent of total edge value typically results in only a small decay in performance measures such as number of page faults and average working set size.
  • Keywords
    Bradford–Zipf distribution; clustering; paging; program behavior; program restructuring; Agricultural engineering; Application software; Clustering algorithms; Councils; Economic forecasting; Environmental economics; Guidelines; Helium; Programming profession; Size measurement; Bradford–Zipf distribution; clustering; paging; program behavior; program restructuring;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1985.232193
  • Filename
    1701986