This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Compile-Time Program Restructuring in Multiprogrammed Virtual Memory Systems
November 1988 (vol. 14 no. 11)
pp. 1640-1644

An evaluation is made of a way to reduce the cost of program restructuring by having a compiler determine the program's packing in virtual address space from an analysis of its source code. Two features of this method are the duplication of code modules in virtual address space and the inline substitution of the code for a called procedure. This compile-time restructuring algorithm is evaluated using the instruction-only address traces from a collection of programs. In a simulation of a virtual memory system using disks as secondary storage devices, the method is not successful, since it leads to a higher optimum space-time execution cost than that of the unrestructured program. The algorithm did reduce program space-time execution cost for some arbitrarily chosen memory allocations smaller than the optimum. This could be useful in a multiuser, multiprogrammed environment.

[1] W. Abu-Sufah, "Improving the performance of virtual memory computers," Ph.D. dissertation, Univ. of Illinois at Urbana-Champaign, Dept. Comput. Sci. Rep. 78-945, Nov. 1978.
[2] W. Abu-Sufah, D. J. Kuck, and D. H. Lawrie, "On the performance enhancement of paging systems through program analysis and transformations,"IEEE Trans. Comput., vol. C-30, no. 5, pp. 341-356, May 1981.
[3] J. Y. Babonneau, M. S. Achard, J. Morisset, and M. B. Mounajjed, "Automatic and general solution to the adaptation of programs in a paging environment," inProc. Sixth ACM Symp. Operating Systems Principles, 1977, pp. 109-116.
[4] M. Badel, E. Gelenbe, J. Lenfant, and D. Potier, "Adaptive optimization of a time sharing system's performance,"Proc. IEEE, vol. 63, pp. 958-965, June 1975.
[5] J. L. Baer and R. Caughey, "Segmentation and optimization of programs from cyclic structure analysis,"AFIPS SJCC, vol. 40, pp. 23- 35, 1972.
[6] L. A. Belady, "A study of replacement algorithms for virtual storage computers,"IBM Syst. J., vol. 5, no. 2, pp. 78-101, 1966.
[7] L. A. Belady and C. J. Kuehner, "Dynamic space sharing in computer system,"Commun. ACM, vol. 12, pp. 282-288, May 1969.
[8] J. P. Buzen, "Fundamental operational laws of computer system performance,"Acta Inform., vol. 7, no. 2, pp. 167-182, 1976.
[9] R. W. Carr and J. L. Hennessy, "WSClock--A simple and effective algorithm for virtual memory management," inProc. ACM-SIGOPS 8th Symp. Oper. Syst. Principles, Dec. 1981, pp. 87-95.
[10] W. W. Chu and H. Opderbeck, "Program behavior and the page fault frequency replacement algorithm,"Computer, vol. 9, no. 11, pp. 29-38, Nov. 1976.
[11] P. J. Denning, "The working set model for program behavior,"Commun. ACM, vol. 11, no. 5, pp. 323-333, May 1968.
[12] P. J. Denning, "Virtual memory,"ACM Comput. Surveys, vol. 2, pp. 153-189, 1970.
[13] D. Ferrari, "Improving locality by critical working sets,"Commun. ACM, vol. 17, pp. 614-620, Nov. 1974.
[14] D. Ferrari, "Tailoring programs to models of program behavior,"IBM J. Res. Develop., pp. 244-251, May 1975.
[15] D. Ferrari, "VSWS: The variable-interval sampled working set policy,"IEEE Trans. Software Eng., vol. SE-9, no. 3, pp. 299-305, May 1983.
[16] E. Gelenbe and A. Kurinckx, "Random injection control of multiprogramming in virtual memory,"IEEE Trans. Software Eng., vol. SE-4, no. 1, pp. 2-17, Jan. 1978.
[17] E. Gelenbe, P. Tiberio, and J. C. A. Boekhorst, "Page size in demand paging systems,"Acta Inform., vol. 3, pp. 1-23, 1973. (Republished fromProc. 1st ACM SIGME Symp. Syst. Perf. Eval., Palo Alto, CA, Feb. 1973, pp. 1-12.)
[18] S. J. Hartley, "Improving the performance of programs in virtual memory systems," Ph.D. dissertation, Univ. Virginia, Charlottesville, May 1983.
[19] D. Hatfield and J. Gerald, "Program restructuring for virtual memory,"IBM Syst. J., vol. 10, no. 3, pp. 168-192, 1971.
[20] D. Hatfield and J. Gerald, "Locality: Working set, request string, distance function, and replacement stack," inStatistical Computer Performance Evaluation, Freiberger, Ed. New York: Academic, 1972, pp. 407-422.
[21] K. Koh, "The design and performance of future virtual memory systems using fast memory technologies," Ph.D. dissertation, Univ. Virginia, Aug. 1981.
[22] E. J. Lau and D. Ferrari, "Program restructuring in a multilevel virtual memory,"IEEE Trans. Software Eng., vol. SE-9, no. 1, pp. 69- 79, Jan. 1983.
[23] T. C. Lowe, "Automatic segmentation of cyclic program structures based on connectivity and processor timing,"Commun. ACM, vol. 13, no. 1, pp. 3-9, Jan. 1970.
[24] J.-F. Paris, "Design of program restructuring algorithms based on the space-time product,"Proc. Fifteenth Annu. Hawaii Int. Conf. System Sciences, 1982.
[25] J.-F. Paris and D. Ferrari, "Analytical study of strategy-oriented restructuring algorithms,"Perform. Evu., vol. 4, no. 2, pp. 117-132, 1984.
[26] A. J. Smith, "Problems, directions and issues in memory hierarchies," inProc. 18th Annu. Hawaii Int. Conf. System Sciences, Jan. 2-4, 1985, pp. 468-476.
[27] R. Snyder, "On the application ofa prioriknowledge of program structure to the performance of virtual memory computer systems," Ph.D. dissertation, Univ. Washington, Nov. 1978.
[28] R. Snyder, "On a priori program restructuring for virtual memory systems," inOperating Systems Theory and Practice, D. Lanciaux, Ed. Amsterdam, The Netherlands: North-Holland, 1979, pp. 207- 224.
[29] E. E. Ver Hoef, "Automatic program segmentation based on boolean connectivity,"AFIPS SJCC, vol. 38, pp. 491-495, 1971.

Index Terms:
storage management; program restructuring; multiprogrammed virtual memory; compiler; virtual address space; compile-time restructuring; instruction-only address traces; optimum space-time; memory allocations; data structures; multiprogramming; performance evaluation; program compilers; storage allocation; storage management; virtual storage
Citation:
S.J. Hartley, "Compile-Time Program Restructuring in Multiprogrammed Virtual Memory Systems," IEEE Transactions on Software Engineering, vol. 14, no. 11, pp. 1640-1644, Nov. 1988, doi:10.1109/32.9051
Usage of this product signifies your acceptance of the Terms of Use.