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

Lens: Experiencing Multi-level Page Tables at Close Quarters

Published: 05 December 2023 Publication History

Abstract

Practical understanding of the working of different sub-systems of the operating system (OS) is crucial to develop a comprehensive understanding of computing systems. Virtual memory mechanisms such as virtual to physical memory translation using multi-level page tables are commonly found in most computing devices, ranging from hand-held devices to desktops and servers. From the pedagogy perspective, one of the primary challenges in explaining virtual to physical address translation through practical demonstrations is the dependency of virtual memory sub-system on the underlying hardware architecture. Furthermore, complicated, diverse, and ever-evolving nature of the multi-level page table support for address translation presents non-trivial challenges for educators to enable a smooth journey for the students from conceptual understanding to hands-on programming experience.
While there are some system utilities to capture information related to virtual memory and address translation in open-source OSes such as Linux, these utilities are not designed for education and learning. In this paper, we propose an educational tool, Lens, to assist students in understanding the virtual memory concepts along with the process of virtual to physical address translation using multi-level page tables. Lens provides a simple, flexible, and intuitive interface which can be used to develop a holistic understanding of virtual to physical memory address translation using multi-level page tables by correlating execution of simple C programs with OS-level status of the multi-level page tables.

References

[1]
Peter B. Galvin Abraham Silberschatz, Greg Gagne. 2021. Operating System Concepts. Wiley.
[2]
Andrea Arcangeli. 2010. Transparent hugepage support. In KVM forum, Vol. 9.
[3]
Michael Armbrust, Armando Fox, Rean Griffith, Anthony D Joseph, Randy Katz, Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, et al. 2010. A view of cloud computing. Commun. ACM 53, 4 (2010), 50--58.
[4]
OpenVZ Team at Virtuozzo. 2023. Checkpoint/Restore In Userspace (CRIU). https://criu.org/Main_Page. Accessed May 11, 2023.
[5]
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. 2003. Xen and the art of virtualization. ACM SIGOPS operating systems review 37, 5 (2003), 164--177.
[6]
Ken Barr, Prashanth Bungale, Stephen Deasy, Viktor Gyuris, Perry Hung, Craig Newell, Harvey Tuch, and Bruno Zoppis. 2010. The VMware mobile virtualization platform: is that a hypervisor in your pocket? ACM SIGOPS Operating Systems Review 44, 4 (2010), 124--135.
[7]
Arkaprava Basu, Jayneel Gandhi, Jichuan Chang, Mark D. Hill, and Michael M. Swift. 2013. Efficient Virtual Memory for Big Memory Servers. In Proceedings of the 40th Annual International Symposium on Computer Architecture (Tel-Aviv, Israel) (ISCA '13). Association for Computing Machinery, New York, NY, USA, 237--248. https://doi.org/10.1145/2485922.2485943
[8]
Russ Cox, M Frans Kaashoek, and Robert Morris. 2011. Xv6, a simple Unix-like teaching operating system.
[9]
Darielson Araújo de Souza, Átila Rabelo Lopes, and Rosângela Marques de Albuquerque. 2015. Prototype of an educational game for teaching and learning in paged virtual memory. In 2015 International Symposium on Computers in Education (SIIE). 132--136. https://doi.org/10.1109/SIIE.2015.7451662
[10]
Jayneel Gandhi, Arkaprava Basu, Mark D. Hill, and Michael M. Swift. 2014. Efficient Memory Virtualization: Reducing Dimensionality of Nested Page Walks. In 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture. 178--189. https://doi.org/10.1109/MICRO.2014.37
[11]
Part Guide. 2011. Intel® 64 and ia-32 architectures software developer's manual. Volume 3B: System programming Guide, Part 2, 11 (2011).
[12]
Gernot Heiser. 2020. The seL4 Microkernel--An Introduction. The seL4 Foundation 1 (2020).
[13]
Andrew Hamilton Hunter, Chris Kennelly, Darryl Gove, Parthasarathy Ranganathan, Paul Jack Turner, and Tipp James Moseley. 2021. Beyond malloc efficiency to fleet efficiency: a hugepage-aware memory allocator. (2021).
[14]
Robert Kaiser and Stephan Wagner. 2007. Evolution of the PikeOS microkernel. In First International Workshop on Microkernels for Embedded Systems, Vol. 50.
[15]
Linux Kernel. 2023. Soft-Dirty PTEs. https://www.kernel.org/doc/html/v5.4/admin-guide/mm/soft-dirty.html. Accessed May 11, 2023.
[16]
Jochen Liedtke. 1995. On micro-kernel construction. ACM SIGOPS Operating Systems Review 29, 5 (1995), 237--250.
[17]
Átila Rabelo Lopes, Darielson Araújo de Souza, José Ricardo B. de Carvalho, Welk Oliveira Silva, and Verônica Lima Pimentel de Sousa. 2012. SIME: Memory simulator for the teaching of operating systems. In 2012 International Symposium on Computers in Education (SIIE). 1--5.
[18]
Debadatta Mishra. 2019. Gemos: Bridging the gap between architecture and operating system in computer system education. In Proceedings of the Workshop on Computer Architecture Education. 1--8.
[19]
Debadatta Mishra and Purushottam Kulkarni. 2018. A survey of memory management techniques in virtualized systems. Computer Science Review 29 (2018), 56--73.
[20]
MIT. 2018. Josh's Operating System (JOS). https://pdos.csail.mit.edu/6.828/2018/overview.html. Accessed May 10, 2023.
[21]
John Nestor and Zheping Yin. 2022. Work in Progress: A Visualization Aid for Learning Virtual Memory Concepts. In 2022 ASEE Annual Conference & Exposition.
[22]
Linda Null and Karishma Rao. 2005. CAMERA: Introducing Memory Concepts via Visualization. SIGCSE Bull. 37, 1 (feb 2005), 96--100. https://doi.org/10.1145/1047124.1047389
[23]
Ashish Panwar, Aravinda Prasad, and K Gopinath. 2018. Making huge pages actually useful. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems. 679--692.
[24]
Aryani Paramita and K.G. Smitha. 2017. PARACACHE: Educational Simulator for Cache and Virtual Memory. In 2017 International Symposium on Educational Technology (ISET). 234--238. https://doi.org/10.1109/ISET.2017.60
[25]
Chang Hyun Park, Ilias Vougioukas, Andreas Sandberg, and David Black-Schaffer. 2022a. Every Walk's a Hit: Making Page Walks Single-Access Cache Hits. In Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (Lausanne, Switzerland) (ASPLOS '22). Association for Computing Machinery, New York, NY, USA, 128--141. https://doi.org/10.1145/3503222.3507718
[26]
Chang Hyun Park, Ilias Vougioukas, Andreas Sandberg, and David Black-Schaffer. 2022b. Every walk'sa hit: making page walks single-access cache hits. In Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. 128--141.
[27]
Simon Pickartz, Niklas Eiling, Stefan Lankes, Lukas Razik, and Antonello Monti. 2016. Migrating LinuX containers using CRIU. In High Performance Computing: ISC High Performance 2016 International Workshops, ExaComm, E-MuCoCoS, HPC-IODC, IXPUG, IWOPH, P^3MA, VHPC, WOPSSS, Frankfurt, Germany, June 19--23, 2016, Revised Selected Papers 31. Springer, 674--684.
[28]
Chandra Prakash, Debadatta Mishra, Purushottam Kulkarni, and Umesh Bellur. 2022. Portkey: Hypervisor-assisted container migration in nested cloud environments. In Proceedings of the 18th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 3--17.
[29]
Andrew S. Tanenbaum Ray Ontko, Alexander Reeder. 2001. MOSS Memory Management Simulator. http://www.ontko.com/moss/memory/install_unix.html. Accessed May 10, 2023.
[30]
Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau. 2023. Operating Systems: Three Easy Pieces. https://pages.cs.wisc.edu/∼remzi/OSTEP/. Accessed May 10, 2023.
[31]
Fernando Rodríguez-Haro, Felix Freitag, Leandro Navarro, Efraín Hernánchez-sánchez, Nicandro Farías-Mendoza, Juan Antonio Guerrero-Ibáñez, and Apolinar González-Potes. 2012. A summary of virtualization techniques. Procedia Technology 3 (2012), 267--272.
[32]
Rohit Singh, KP Arun, and Debadatta Mishra. 2022. LDT: Lightweight Dirty Tracking of Memory Pages for x86 Systems. In 2022 IEEE 29th International Conference on High Performance Computing, Data, and Analytics (HiPC). IEEE, 85--94.
[33]
Andrew S Tanenbaum. 2016. Modern Operating Systems. Pearson India.
[34]
Brian Walters. 1999. VMware virtual platform. Linux journal 1999, 63es (1999), 6--es.
[35]
Lulu Yao, Yongkun Li, Fan Guo, Si Wu, Yinlong Xu, and John C.S. Lui. 2023. Towards High Performance and Efficient Memory Deduplication via Mixed Pages. IEEE Trans. Comput. 72, 4 (2023), 926--940. https://doi.org/10.1109/TC.2022.3191742
[36]
Kaiyang Zhao, Sishuai Gong, and Pedro Fonseca. 2021. On-Demand-Fork: A Microsecond Fork for Memory-Intensive and Latency-Sensitive Applications. In Proceedings of the Sixteenth European Conference on Computer Systems (Online Event, United Kingdom) (EuroSys '21). Association for Computing Machinery, New York, NY, USA, 540--555. https://doi.org/10.1145/3447786.3456258

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CompEd 2023: Proceedings of the ACM Conference on Global Computing Education Vol 1
December 2023
180 pages
ISBN:9798400700484
DOI:10.1145/3576882
Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 December 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. address translation
  2. operating system
  3. page tables
  4. teaching tools

Qualifiers

  • Research-article

Conference

CompEd 2023
Sponsor:

Acceptance Rates

Overall Acceptance Rate 33 of 100 submissions, 33%

Upcoming Conference

CompEd '25
ACM Global Computing Education Conference 2025
October 21 - 25, 2025
Gaborone , Botswana

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 43
    Total Downloads
  • Downloads (Last 12 months)43
  • Downloads (Last 6 weeks)4
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media