skip to main content
10.1145/1024393.1024415acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
Article

Dynamic tracking of page miss ratio curve for memory management

Published:07 October 2004Publication History

ABSTRACT

Memory can be efficiently utilized if the dynamic memory demands of applications can be determined and analyzed at run-time. The page miss ratio curve(MRC), i.e. page miss rate vs. memory size curve, is a good performance-directed metric to serve this purpose. However, dynamically tracking MRC at run time is challenging in systems with virtual memory because not every memory reference passes through the operating system (OS).This paper proposes two methods to dynamically track MRC of applications at run time. The first method is using a hardware MRC monitor that can track MRC at fine time granularity. Our simulation results show that this monitor has negligible performance and energy overheads. The second method is an OS-only implementation that can track MRC at coarse time granularity. Our implementation results on Linux show that it adds only 7--10% overhead.We have also used the dynamic MRC to guide both memory allocation for multiprogramming systems and memory energy management. Our real system experiments on Linux with applications including Apache Web Server show that the MRC-directed memory allocation can speed up the applications' execution/response time by up to a factor of 5.86 and reduce the number of page faults by up to 63.1%. Our execution-driven simulation results with SPEC2000 benchmarks show that the MRC-directed memory energy management can improve the Energy * Delay metric by 27--58% over previously proposed static and dynamic schemes.

References

  1. Apache web server. http://httpd.apache.org/test/flood.]]Google ScholarGoogle Scholar
  2. Flood: A profile driven http load tester. http://httpd.apache.org/test/flood.]]Google ScholarGoogle Scholar
  3. G. A. Abandah and E. S. Davidson. Configuration independent analysis for characterizing shared-memory applications. In IPPS-12, Mar 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Breslau, P. Cao, L. Fan, G. Phillips, and S. Shenker. Web caching and zipf-like distributions: Evidence and implications. In INFOCOM (1), pages 126--134, 1999.]]Google ScholarGoogle Scholar
  5. D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In ISCA-27, June 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. D. Brown and T. C. Mowry. Taming the memory hogs: Using compiler-inserted releases to manage physical memory intelligently. In OSDI, Oct 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Burger, T. M. Austin, and S. Bennett. Evaluating future microprocessors: The simplescalar tool set. Technical Report CS-TR-1996-1308, Univ. of Wisconsin-Madison, 1996.]]Google ScholarGoogle Scholar
  8. R. Carr and J. Hennessy. Wsclock --- a simple and efficient algorithm for virtual memory management. In SOSP, Dec. 1981.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Catthoor, S.Wuytack, E. Greef, F.Balasa, L.Nachtergaele, and A. Vandecappelle. Custom memory management methodology exploration of memory organization for embedded multimedia systems design. In Kluwer Academic Publishers, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. S. Chase, D. C. Anderson, P. N. Thakar, A. Vahdat, and R. P. Doyle. Managing energy and server resources in hosting centres. In SOSP, pages 103--116, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. Chu and H. Opderbeck. The page fault frequency replacement algorithm. In AFIPS Conf. Proc., 1972.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Custer. Inside Windows NT. Microsoft Press, Redmond, Washington, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. Delaluz, M. Kandemir, and I. Kolcu. Automatic data migration for reducing energy consumption in multi-bank memory systems. In the 39th Design Automation Conference, June 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. V. Delaluz, M. Kandemir, N. Vijaykrishnan, and M. J. Irwin. Energy-oriented compiler optimizations for partitioned memory architectures. In International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, Nov 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. V. Delaluz, M. Kandemir, N. Vijaykrishnan, A. Sivasubramniam, and M. J. Irwin. Hardware and software techniques for controlling dram power modes. IEEE Transactions on Computers, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. V. Delaluz, A. Sivasubramaniam, M. Kandemir, N. Vijaykrishnan, and M. J. Irwin. Scheduler-based dram energy management. In Proceedings of the 39th conference on Design automation, pages 697--702. ACM Press, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Denning. Thrashing: Its causes and prevention. In AFIPS Fall Joint Computer Conference, 1968.]]Google ScholarGoogle Scholar
  18. P. J. Denning. Memory allocation in multiprogrammed computers. In Project MAC Computation Structures Group Memo, Mar 1966.]]Google ScholarGoogle Scholar
  19. P. J. Denning. The working set model for program behavior. Commun. ACM, 11(5):323--333, May 1968.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. B. Dennis. Program structure in a multi-access computer. Project MAC Tech Rep. MAC-TR-11, M.I.T, 1967.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Dillon. Design elements of the freebsd vm system. Daemon News, Jan 2001.]]Google ScholarGoogle Scholar
  22. G. W. Dunlap, S. T. King, S. Cinar, M. A. Basrai, and P. M. Chen. ReVirt: Enabling intrusion analysis through virtual-machine logging and replay. In Proceedings of the 2002 Symposium on Operating Systems Design and Implementation (OSDI), 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. E. G. Coffman and J. Thomas A. Ryan. A study of storage partitioning using a mathematical model of locality. In Proceedings of the third symposium on Operating systems principles, page 122, 1971.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. L. M. et al. Evaluation techniques for storage hierarchies. IBM Systems Journal, 9(2):78--117, 1970.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. X. Fan, C. S. Ellis, and A. R. Lebeck. Memory controller policies for dram power management. In ISLPED, Apr 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Ferrari and Y.-Y. Yih. VSWS: The variable-interval sampled working set policy. IEEE Trans. on Software Engineering, SE-9, 1993.]]Google ScholarGoogle Scholar
  27. R. K. Gupta and M. A. Franklin. Working set and page fault frequency replacement algorithms: A performance comparison. IEEE Transactions on Computers, C-27, 1978.]]Google ScholarGoogle Scholar
  28. M. D. Hill. Aspects of cache memory and instruction buffer performance. Technical Report CSD-87-381, University of California, Berkeley, Nov. 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. D. Hill and A. J. Smith. Evaluating associativity in CPU caches. IEEE Transactions on Computers, 38(12), 1989.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. H. Huang, P.Padmanabhan, and K. Shin. Design and implementation of power-aware virtual memory. In USENIX, 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Jiang and X. Zhang. Tpf: A system thrashing protection facility. Software: Practice and Experience, 32:295--318, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. T. Kandemir, N. Vijaykrishnan, M. J. Irwin, and W. Ye. Influence of compiler optimizations on system power. In Design Automation Conference, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. S. F. Kaplan, L. A. McGeoch, and M. F. Cole. Adaptive caching for demand prepaging. In Proceedings of the third international symposium on Memory management, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Karlsson and P. Stenstrom. An analytical model of the working-set sizes in decision-support systems. In SIGMETRICS, pages 275--285, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. L. J. Kenah and S. F. Bate. Vax/VMS Internals and Data Structures. Digital Press, Bedford, 1984.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. J. Kim, J. Choi, J. Kim, S. Noh, S. Min, Y. Cho, and C. Kim. A low-overhead high-performance unified buffer management scheme that exploits sequential and looping references. OSDI, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Y. H. Kim, M. D. Hill, and D. A. Wood. Implementing stack simulation for highly-associative memories. In SIGMETRICS, 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. A. R. Lebeck, X. Fan, H. Zeng, and C. S. Ellis. Power aware page allocation. In ASPLOS, pages 105--116, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. C. Lefurgy, K. Rajamani, F. Rawson, W. F. elter, M. Kistler, and T. W. Keller. Energy management for commercial servers. IEEE Computer, 36(12):39--48, December 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. K. Li. Ivy: A shared virtual memory system for parallel computing. In Proceedings of the 1988 International Conference on Parallel Processing, volume II Software, pages 94--101, Aug. 1988.]]Google ScholarGoogle Scholar
  41. M. Malkawi and J. H. Patel. Compiler directed memory management policy for numerical programs. In SOSP, 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. M. Malkawi and J. H. Patel. Performance measurement of paging behavior in multiprogramming systems. In ISCA, 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. B. Moore. Taking the data center power and cooling challenge. Energy User News, August 27th, 2002.]]Google ScholarGoogle Scholar
  44. R. H. Patterson, G. A. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka. Informed prefetching and caching. In the 15th SOSP, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. S. P. Prasad Dabak, Milind Borate. Undocumented Windows NT. M&T Books, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. A. Raghuraman. Miss-ratio curve directed memory management for high performance and low energy. UIUC, Master Thesis, 2003.]]Google ScholarGoogle Scholar
  47. R. Rajkumar, C. Lee, J. Lehoczky, and D. Siewiorek. A resource allocation model for qos management. In IEEE Real-Time Systems Symposium, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. R. Rajkumar, C. Lee, J. Lehoczky, and D. Siewiorek. Practical solutions for qos-based resource allocation problems. In IEEE Real-Time Systems Symposium, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Rambus. Rdram. http://www.rambus.com, 1999.]]Google ScholarGoogle Scholar
  50. E. Rothberg, J. P. Singh, and A. Gupta. Working sets, cache sizes and node granularity issues for large-scale multiprocessors. In ISCA, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Y. Smaragdakis, S. Kaplan, and P. Wilson. EELRU: simple and effective adaptive page replacement. In SIGMETRICS, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. B. J. Smith. A pipelined, shared resource MIMD computer. In Proceedings of International Conference on Parallel Proc essing, pages 6--8, 1978.]]Google ScholarGoogle Scholar
  53. A. S. Tanenbaum. Modern Operating Systems. Prentice Hall, New Jersey, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. D. Thiebaut, H. S. Stone, and J. L. Wolf. Improving disk cache hit-ratios through cache partitioning. IEEE Trans. Comput., 41(6):665--676, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. R. van Riel. Page replacement in linux 2.4 memory management. USENIX Annual Technical Conference - FREENIX Track, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. S. Kim, and W. Ye. Energy-driven integrated hardware-software optimizations using simplepower. In ISCA-27, pages 95--106. ACM Press, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. W.-H. Wang and J.-L. Baer. Efficient trace-driven simulation method for cache performance analysis. In SIGMETRICS, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. P. R. Wilson, S. F. Kaplan, and Y. Smaragdakis. The case for compressed caching in virtual memory systems. In USENIX, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. S. Woo, M. Ohara, E. Torrie, J.P.Singh, and A. Gupta. Methodological considerations and characterization of the splash-2 parallel application suite. In ISCA-23, May 1996.]]Google ScholarGoogle Scholar

Index Terms

  1. Dynamic tracking of page miss ratio curve for memory management

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    ASPLOS XI: Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
    October 2004
    296 pages
    ISBN:1581138040
    DOI:10.1145/1024393
    • cover image ACM SIGARCH Computer Architecture News
      ACM SIGARCH Computer Architecture News  Volume 32, Issue 5
      ASPLOS 2004
      December 2004
      283 pages
      ISSN:0163-5964
      DOI:10.1145/1037947
      Issue’s Table of Contents
    • cover image ACM SIGOPS Operating Systems Review
      ACM SIGOPS Operating Systems Review  Volume 38, Issue 5
      ASPLOS '04
      December 2004
      283 pages
      ISSN:0163-5980
      DOI:10.1145/1037949
      Issue’s Table of Contents
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 39, Issue 11
      ASPLOS '04
      November 2004
      283 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1037187
      Issue’s Table of Contents

    Copyright © 2004 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 7 October 2004

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate535of2,713submissions,20%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader