Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2926697.2926703acmconferencesArticle/Chapter ViewAbstractPublication PagesismmConference Proceedingsconference-collections
research-article
Public Access

CBufs: efficient, system-wide memory management and sharing

Published: 14 June 2016 Publication History

Abstract

Modern systems are composed of many different protection domains separating privilege levels, subsystems, users, clients, and software of differing levels of assurance. System-wide memory management must consider not only allocation to single processes, but also efficient sharing of data across protection domains, and the allocation of memory based on the performance of applications that span multiple protection domains. This paper introduces the CBuf system for the global management of virtual and physical memory, including zero-copy sharing between protection domains. We present the design and implementation of both garbage collection techniques to enable efficient sharing, and policies that balance memory between protection domains specifically to satisfy system and application constraints such as quality of service. We show that a CBuf-enabled webserver achieves over a factor of 2.5 throughput speedup while using less processing time than Apache on Linux, and that the system can intentionally control system throughput through intelligent memory allocation.

References

[1]
G. Banga, P. Druschel, and J. C. Mogul. Resource containers: a new facility for resource management in server systems. In Proceedings of the third symposium on Operating systems design and implementation (OSDI), 1999.
[2]
A. Baumann, C. Hawblitzel, K. Kourtis, T. Harris, and T. Roscoe. Cosh: Clear os data sharing in an incoherent world. In 2014 Conference on Timely Results in Operating Systems (TRIOS 14), 2014.
[3]
A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion. Ix: A protected dataplane operating system for high throughput and low latency. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation, 2014.
[4]
A. Burns and R. Davis. Mixed criticality systems – a review, retrieved feb, 2016. https://www-users.cs.york.ac.uk/burns/review.pdf, 2016.
[5]
B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barham, and R. Neugebauer. Xen and the art of virtualization. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP), 2003.
[6]
P. Druschel and L. L. Peterson. Fbufs: A high-bandwidth cross-domain transfer facility. In Symposium on Operating Systems Principles, pages 189–202, 1993.
[7]
J. Evans. Scalable memory allocation using jemalloc, 2011. URL https://www. facebook. com/notes/facebook-engineering/scalablememory-allocation-using-jemalloc/480222803919, 2016.
[8]
FastCGI. FastCGI: http://www.fastcgi.com, 2016.
[9]
S. Ghemawat and P. Menage. Tcmalloc: Thread-caching malloc. goog-perftools. sourceforge. net/doc/tcmalloc. html, 2009.
[10]
S. Han, S. Marshall, B.-G. Chun, and S. Ratnasamy. Megapipe: A new programming interface for scalable network i/o. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, 2012.
[11]
J. Hwang, K. K. Ramakrishnan, and T. Wood. Netvm: High performance and flexible networking using virtualization on commodity platforms. In Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation, 2014.
[12]
G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood. seL4: Formal verification of an OS kernel. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles, Big Sky, MT, USA, Oct 2009. ACM.
[13]
lwip. lwIP: http://www.sics.se/ adam/lwip/, retrieved 7/15/11, 2016.
[14]
F. Mehnert, M. Hohmuth, and H. Härtig. Cost and benefit of separate address spaces in real-time operating systems. In In Proc. of the 23rd IEEE Real-Time Systems Symposium (RTSS), December 2002.
[15]
opencv. OpenCV: http://opencv.willowgarage.com/wiki/, retrieved 7/15/11, 2016.
[16]
V. S. Pai, P. Druschel, and W. Zwaenepoel. Io-lite: a unified i/o buffering and caching system. In OSDI ’99: Proceedings of the third symposium on Operating systems design and implementation, pages 15–28, 1999.
[17]
G. Parmer. Composite: A Component-Based Operating System for Predictable and Dependable Computing. PhD thesis, Boston University, 2009. Adviser-Richard West.
[18]
S. Schneider, C. D. Antonopoulos, and D. S. Nikolopoulos. Scalable locality-conscious multithreaded memory allocation. In Proceedings of the 5th International Symposium on Memory Management, 2006.
[19]
R. K. Treiber. Systems programming: Coping with parallelism. Technical Report RJ 5118, IBM Almaden Research Center, 1986.
[20]
Q. Wang, J. Song, G. Parmer, G. Venkataramani, and A. Sweeney. Increasing memory utilization with transient memory scheduling. In Proceedings of the 33rd IEEE Real-Time Systems Symposium (RTSS), 2012.
[21]
Q. Wang, J. Song, G. Parmer, J. Wittrock, Y. Y. Wu, and T. Hossain. Hijack cos linux : Toward practical, predictable, and efficient OS colocation using Linux. In Real-Time Linux Workshop, 2012.
[22]
Q. Wang, Y. Ren, M. Scaperoth, and G. Parmer. Speck: A kernel for scalable predictability. In Proceedings of the 21st IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2015.
[23]
Q. Wang, T. Stamler, and G. Parmer. Parallel sections: Scaling systemlevel data-structures. In Proceedings of the ACM EuroSys Conference, 2016.

Cited By

View all
  • (2023)Cache or Direct Access? Revitalizing Cache in Heterogeneous Memory File SystemProceedings of the 1st Workshop on Disruptive Memory Systems10.1145/3609308.3625272(38-44)Online publication date: 23-Oct-2023
  • (2022)Preserving Addressability Upon GC-Triggered Data Movements on Non-Volatile MemoryACM Transactions on Architecture and Code Optimization10.1145/351170619:2(1-26)Online publication date: 24-Mar-2022
  • (2016)SuperGlue: IDL-Based, System-Level Fault Tolerance for Embedded Systems2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)10.1109/DSN.2016.29(227-238)Online publication date: Jun-2016

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISMM 2016: Proceedings of the 2016 ACM SIGPLAN International Symposium on Memory Management
June 2016
133 pages
ISBN:9781450343176
DOI:10.1145/2926697
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 June 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. garbage collection
  2. memory management
  3. shared memory
  4. zero-copy

Qualifiers

  • Research-article

Funding Sources

Conference

ISMM '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 72 of 156 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)162
  • Downloads (Last 6 weeks)28
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Cache or Direct Access? Revitalizing Cache in Heterogeneous Memory File SystemProceedings of the 1st Workshop on Disruptive Memory Systems10.1145/3609308.3625272(38-44)Online publication date: 23-Oct-2023
  • (2022)Preserving Addressability Upon GC-Triggered Data Movements on Non-Volatile MemoryACM Transactions on Architecture and Code Optimization10.1145/351170619:2(1-26)Online publication date: 24-Mar-2022
  • (2016)SuperGlue: IDL-Based, System-Level Fault Tolerance for Embedded Systems2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)10.1109/DSN.2016.29(227-238)Online publication date: Jun-2016

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media