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.
- Apache web server. http://httpd.apache.org/test/flood.]]Google Scholar
- Flood: A profile driven http load tester. http://httpd.apache.org/test/flood.]]Google Scholar
- G. A. Abandah and E. S. Davidson. Configuration independent analysis for characterizing shared-memory applications. In IPPS-12, Mar 1998.]] Google ScholarDigital Library
- 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 Scholar
- D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In ISCA-27, June 2000.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- R. Carr and J. Hennessy. Wsclock --- a simple and efficient algorithm for virtual memory management. In SOSP, Dec. 1981.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- W. Chu and H. Opderbeck. The page fault frequency replacement algorithm. In AFIPS Conf. Proc., 1972.]]Google ScholarDigital Library
- H. Custer. Inside Windows NT. Microsoft Press, Redmond, Washington, 2000.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- P. Denning. Thrashing: Its causes and prevention. In AFIPS Fall Joint Computer Conference, 1968.]]Google Scholar
- P. J. Denning. Memory allocation in multiprogrammed computers. In Project MAC Computation Structures Group Memo, Mar 1966.]]Google Scholar
- P. J. Denning. The working set model for program behavior. Commun. ACM, 11(5):323--333, May 1968.]] Google ScholarDigital Library
- J. B. Dennis. Program structure in a multi-access computer. Project MAC Tech Rep. MAC-TR-11, M.I.T, 1967.]] Google ScholarDigital Library
- M. Dillon. Design elements of the freebsd vm system. Daemon News, Jan 2001.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- R. L. M. et al. Evaluation techniques for storage hierarchies. IBM Systems Journal, 9(2):78--117, 1970.]]Google ScholarDigital Library
- X. Fan, C. S. Ellis, and A. R. Lebeck. Memory controller policies for dram power management. In ISLPED, Apr 2001.]] Google ScholarDigital Library
- D. Ferrari and Y.-Y. Yih. VSWS: The variable-interval sampled working set policy. IEEE Trans. on Software Engineering, SE-9, 1993.]]Google Scholar
- 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 Scholar
- M. D. Hill. Aspects of cache memory and instruction buffer performance. Technical Report CSD-87-381, University of California, Berkeley, Nov. 1987.]] Google ScholarDigital Library
- M. D. Hill and A. J. Smith. Evaluating associativity in CPU caches. IEEE Transactions on Computers, 38(12), 1989.]] Google ScholarDigital Library
- H. Huang, P.Padmanabhan, and K. Shin. Design and implementation of power-aware virtual memory. In USENIX, 2003.]] Google ScholarDigital Library
- S. Jiang and X. Zhang. Tpf: A system thrashing protection facility. Software: Practice and Experience, 32:295--318, 2002.]] Google ScholarDigital Library
- M. T. Kandemir, N. Vijaykrishnan, M. J. Irwin, and W. Ye. Influence of compiler optimizations on system power. In Design Automation Conference, 2000.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- M. Karlsson and P. Stenstrom. An analytical model of the working-set sizes in decision-support systems. In SIGMETRICS, pages 275--285, 2000.]] Google ScholarDigital Library
- L. J. Kenah and S. F. Bate. Vax/VMS Internals and Data Structures. Digital Press, Bedford, 1984.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- Y. H. Kim, M. D. Hill, and D. A. Wood. Implementing stack simulation for highly-associative memories. In SIGMETRICS, 1991.]] Google ScholarDigital Library
- A. R. Lebeck, X. Fan, H. Zeng, and C. S. Ellis. Power aware page allocation. In ASPLOS, pages 105--116, 2000.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- M. Malkawi and J. H. Patel. Compiler directed memory management policy for numerical programs. In SOSP, 1985.]] Google ScholarDigital Library
- M. Malkawi and J. H. Patel. Performance measurement of paging behavior in multiprogramming systems. In ISCA, 1986.]] Google ScholarDigital Library
- B. Moore. Taking the data center power and cooling challenge. Energy User News, August 27th, 2002.]]Google Scholar
- R. H. Patterson, G. A. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka. Informed prefetching and caching. In the 15th SOSP, 1995.]] Google ScholarDigital Library
- S. P. Prasad Dabak, Milind Borate. Undocumented Windows NT. M&T Books, 1999.]] Google ScholarDigital Library
- A. Raghuraman. Miss-ratio curve directed memory management for high performance and low energy. UIUC, Master Thesis, 2003.]]Google Scholar
- R. Rajkumar, C. Lee, J. Lehoczky, and D. Siewiorek. A resource allocation model for qos management. In IEEE Real-Time Systems Symposium, 1997.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- Rambus. Rdram. http://www.rambus.com, 1999.]]Google Scholar
- E. Rothberg, J. P. Singh, and A. Gupta. Working sets, cache sizes and node granularity issues for large-scale multiprocessors. In ISCA, 1993.]] Google ScholarDigital Library
- Y. Smaragdakis, S. Kaplan, and P. Wilson. EELRU: simple and effective adaptive page replacement. In SIGMETRICS, 1999.]] Google ScholarDigital Library
- B. J. Smith. A pipelined, shared resource MIMD computer. In Proceedings of International Conference on Parallel Proc essing, pages 6--8, 1978.]]Google Scholar
- A. S. Tanenbaum. Modern Operating Systems. Prentice Hall, New Jersey, 1992.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- R. van Riel. Page replacement in linux 2.4 memory management. USENIX Annual Technical Conference - FREENIX Track, 2001.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- W.-H. Wang and J.-L. Baer. Efficient trace-driven simulation method for cache performance analysis. In SIGMETRICS, 1990.]] Google ScholarDigital Library
- P. R. Wilson, S. F. Kaplan, and Y. Smaragdakis. The case for compressed caching in virtual memory systems. In USENIX, 1999.]] Google ScholarDigital Library
- 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 Scholar
Index Terms
- Dynamic tracking of page miss ratio curve for memory management
Recommendations
Dynamic tracking of page miss ratio curve for memory management
ASPLOS '04Memory 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 ...
Dynamic tracking of page miss ratio curve for memory management
ASPLOS 2004Memory 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 ...
Dynamic tracking of page miss ratio curve for memory management
ASPLOS '04Memory 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 ...
Comments