[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/1251229.1251232acmconferencesArticle/Chapter ViewAbstractPublication PagesosdiConference Proceedingsconference-collections
Article
Free access

Taming the memory hogs: using compiler-inserted releases to manage physical memory intelligently

Published: 22 October 2000 Publication History

Abstract

Out-of-core applications consume physical resources at a rapid rate, causing interactive applications sharing the same machine to exhibit poor response times. This behavior is the result of default resource management strategies in the OS that are inappropriate for memory-intensive applications. Using an approach that integrates compiler analysis with simple OS support and a run-time layer that adapts to dynamic conditions, we have shown that the impact of out-of-core applications on interactive ones can be greatly mitigated. A combination of prefetching pages that will soon be needed, and releasing pages no longer in use results in good throughput for the out-of-core task and good response time for the interactive one. Each class of application performs well according to the metric most important to it. In addition, the OS does not need to attempt to identify these application classes, or modify its default resource management policies in any way. We also observe that when an out-of-core application releases pages, it both improves the response time of interactive tasks, and also improves its own performance through better replacement decisions and reduced memory management overhead.

References

[1]
{1} D. Bailey, J. Barton, T. Lasinski, and H. Simon. The NAS Parallel Benchmarks. Technical Report RNR-91-002, NASA Ames Research Center, Aug. 1991.]]
[2]
{2} B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. Fiuczynski, D. Becker, S. Eggers, and C. Chambers. Extensibility, Safety and Performance in the SPIN Operating System. In Proc. of the 15th Symp. on Operating System Principles , Dec. 1995.]]
[3]
{3} P. Cao, E.W. Felten, A. R. Karlin, and K. Li. A Study of Integrated Prefetching and Caching Strategies. In Proc. of the ACM SIGMETRICS Conf. on Measurement and Modeling of Computer Systems, pages 188-197, 1995.]]
[4]
{4} F. Chang and G. Gibson. Automatic I/O Hint Generation Through Speculative Execution. In Proc. of the 3rd OSDI, Feb. 1999.]]
[5]
{5} M. Cox and D. Ellsworth. Application-Controlled Demand Paging for Out-of-Core Visualization. In Proc. of Visualization '97, Oct. 1997.]]
[6]
{6} P. E. Crandall, R. A. Aydt, A. A. Chien, and D. A. Reed. Input/Output Characteristics of Scalable Parallel Applications. In Proc. of Supercomputing '95, Dec. 1995.]]
[7]
{7} J. M. del Rosario and A. Choudhary. High Performance I/O for Massively Parallel Computers: Problems and Prospects. IEEE Computer, 27(3):59-68, Mar. 1994.]]
[8]
{8} A. K. Demke. Automatic I/O Prefetching for Out-of-Core Applications. Master's thesis, University of Toronto, Department of Computer Science, Jan. 1997.]]
[9]
{9} M. W. Hall, J. M. Anderson, S. P. Amarasinghe, B. R. Murphy, S.-W. Liao, E. Bugnion, and M. S. Lam. Maximizing Multiprocessor Performance with the SUIF Compiler. IEEE Computer, 29(12):84-89, Dec. 1996.]]
[10]
{10} K. Harty and D. Cheriton. Application-Controlled Physical Memory Using External Page-Cache Management. In Proc. of the 5th ASPLOS, pages 187-199, Oct. 1992.]]
[11]
{11} IEEE. Threads Extension for Portable Operating Systems (Draft 7), Feb. 1992.]]
[12]
{12} M. F. Kaashoek, D. R. Engler, G. R. Ganger, H. M. Briceo, R. Hunt, D. Mazires, T. Pinckney, R. Grimm, J. Jannotti, and K. MacKenzie. Application Performance and Flexibility on Exokernel Systems. In Proc. of the 16th Symp. on Operating System Principles, Oct. 1997.]]
[13]
{13} C.-K. Luk and T. C. Mowry. Compiler-Based Prefetching for Recursive Data Structures. In Proc. of the 7th ASPLOS, pages 222-233, Oct. 1996.]]
[14]
{14} D. McNamee and K. Armstrong. Extending the Mach External Pager Interface to Accommodate User-Level Page Replacement Policies. In Proc. of the USENIX Assoc. Mach Workshop, pages 17-29, 1990.]]
[15]
{15} T. C. Mowry, A. K. Demke, and O. Krieger. Automatic Compiler-Inserted I/O Prefetching for Out-of-Core Applications. In Proc. of the 2nd OSDI, pages 3-17, Oct. 1996.]]
[16]
{16} R. H. Patterson, G. A. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka. Informed Prefetching and Caching. In Proc. of the 15th Symp. on Operating System Principles, pages 79-95, Dec. 1995.]]
[17]
{17} J. T. Poole. Preliminary Survey of I/O Intensive Applications. Technical Report CCSF-38, Scalable I/O Initiative, Caltech Concurrent Supercomputing Facilities, Caltech, 1994.]]
[18]
{18} R. Rashid, A. Tevanian, Jr., M. Young, D. Golub, R. Baron, D. Black, W. Bolosky, and J. Chew. Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures. In Proc. of the 2nd ASPLOS, Oct. 1987.]]
[19]
{19} C. Small and M. Seltzer. A Comparison of OS Extension Technologies. In Proc. of the 1996 USENIX Technical Conference , Jan. 1996.]]
[20]
{20} I. Subramanian. Managing Discardable Pages with an External Pager. In Proc. of the USENIX Mach Symposium, Nov. 1991.]]
[21]
{21} R. C. Unrau, O. Krieger, B. Gamsa, and M. Stumm. Hierarchical Clustering: A Structure for Scalable Multiprocessor Operating System Design. Journal of Supercomputing, 9(1/2):105-134, 1995.]]
[22]
{22} Z. G. Vranesic, M. Stumm, R. White, and D. Lewis. The Hector Multiprocessor. IEEE Computer, 24(1), Jan. 1991.]]

Cited By

View all
  • (2016)Safe and flexible adaptation via alternate data structure representationsProceedings of the 25th International Conference on Compiler Construction10.1145/2892208.2892220(34-44)Online publication date: 17-Mar-2016
  • (2015)Cross-layer memory management for managed language applicationsACM SIGPLAN Notices10.1145/2858965.281432250:10(488-504)Online publication date: 23-Oct-2015
  • (2015)Cross-layer memory management for managed language applicationsProceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2814270.2814322(488-504)Online publication date: 23-Oct-2015
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OSDI'00: Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
October 2000
355 pages

Sponsors

Publisher

USENIX Association

United States

Publication History

Published: 22 October 2000

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)50
  • Downloads (Last 6 weeks)12
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Safe and flexible adaptation via alternate data structure representationsProceedings of the 25th International Conference on Compiler Construction10.1145/2892208.2892220(34-44)Online publication date: 17-Mar-2016
  • (2015)Cross-layer memory management for managed language applicationsACM SIGPLAN Notices10.1145/2858965.281432250:10(488-504)Online publication date: 23-Oct-2015
  • (2015)Cross-layer memory management for managed language applicationsProceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2814270.2814322(488-504)Online publication date: 23-Oct-2015
  • (2013)A framework for application guidance in virtual memory systemsACM SIGPLAN Notices10.1145/2517326.245154348:7(155-166)Online publication date: 16-Mar-2013
  • (2013)A framework for application guidance in virtual memory systemsProceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments10.1145/2451512.2451543(155-166)Online publication date: 16-Mar-2013
  • (2012)On Urgency of I/O OperationsProceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012)10.1109/CCGrid.2012.40(188-195)Online publication date: 13-May-2012
  • (2009)A compiler-directed data prefetching scheme for chip multiprocessorsACM SIGPLAN Notices10.1145/1594835.150420844:4(209-218)Online publication date: 14-Feb-2009
  • (2009)A compiler-directed data prefetching scheme for chip multiprocessorsProceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming10.1145/1504176.1504208(209-218)Online publication date: 14-Feb-2009
  • (2008)Prefetch throttling and data pinning for improving performance of shared cachesProceedings of the 2008 ACM/IEEE conference on Supercomputing10.5555/1413370.1413430(1-12)Online publication date: 15-Nov-2008
  • (2008)Improving I/O performance of applications through compiler-directed code restructuringProceedings of the 6th USENIX Conference on File and Storage Technologies10.5555/1364813.1364824(1-16)Online publication date: 26-Feb-2008
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media