skip to main content
research-article
Open Access

Twizzler: A Data-centric OS for Non-volatile Memory

Published:08 June 2021Publication History
Skip Abstract Section

Abstract

Byte-addressable, non-volatile memory (NVM) presents an opportunity to rethink the entire system stack. We present Twizzler, an operating system redesign for this near-future. Twizzler removes the kernel from the I/O path, provides programs with memory-style access to persistent data using small (64 bit), object-relative cross-object pointers, and enables simple and efficient long-term sharing of data both between applications and between runs of an application. Twizzler provides a clean-slate programming model for persistent data, realizing the vision of Unix in a world of persistent RAM.

We show that Twizzler is simpler, more extensible, and more secure than existing I/O models and implementations by building software for Twizzler and evaluating it on NVM DIMMs. Most persistent pointer operations in Twizzler impose less than 0.5 ns added latency. Twizzler operations are up to \(\) faster than Unix, and SQLite queries are up to \(\) faster than on PMDK. YCSB workloads ran 1.1–\(\) faster on Twizzler than on native and NVM-optimized SQLite backends.

References

  1. [n.d.]. The musl C Library. Retrieved from https://musl.libc.org/.Google ScholarGoogle Scholar
  2. [n.d.]. The Rust Programming Language. Retrieved from https://www.rust-lang.org/.Google ScholarGoogle Scholar
  3. Mike Accetta, Robert Baron, William Bolosky, David Golub, Richard Rashid, Avadis Tevanian, and Michael Young. 1986. Mach: A new kernel foundation for UNIX development. In Proceedings of the USENIX Technical Conference. USENIX, 93–112. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/accetta-usenix86s.pdf.Google ScholarGoogle Scholar
  4. Sasha Ames, Nikhil Bobb, Kevin M. Greenan, Owen S. Hofmann, Mark W. Storer, Carlos Maltzahn, Ethan L. Miller, and Scott A. Brandt. 2006. LiFS: An attribute-rich file system for storage class memories. In Proceedings of the 23rd IEEE/14th NASA Goddard Conference on Mass Storage Systems and Technologies. IEEE. Retrieved from http://www.ssrc.ucsc.edu/Papers/ames-mss06.pdf.Google ScholarGoogle Scholar
  5. Katelin Bailey, Luis Ceze, Steven D. Gribble, and Henry M. Levy. 2011. Operating system implications of fast, cheap, non-volatile memory. In Proceedings of the 13th Workshop on Hot Topics in Operating Systems (HotOS’11). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/bailey-hotos11.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Piotr Balcer. 2015. An introduction to pmemobj (part 1) - accessing the persistent memory. Retrieved from https://pmem.io/2015/06/13/accessing-pmem.html.Google ScholarGoogle Scholar
  7. A. Bensoussan, C. T. Clingen, and R. C. Daley. 1969. The Multics virtual memory: Concepts and design. In Proceedings of the 2nd ACM Symposium on Operating Systems Principles (SOSP’69). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gün Sirer, Marc E. Fiuczynski, David Becker, Craig Chambers, and Susan Eggers. 1995. Extensibility, safety, and performance in the SPIN operating system. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP’95). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/bershad-sosp95.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Andrea Bittau, Petr Marchenko, Mark Handley, and Brad Karp. 2008. Wedge: Splitting applications into reduced-privilege compartments. In Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation (NSDI’08). USENIX Association, Berkeley, CA, 309–322. Retrieved from http://dl.acm.org/citation.cfm?id=1387589.1387611. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Daniel Bittman, Peter Alvaro, Darrell D. E. Long, and Ethan L. Miller. 2019. A tale of two abstractions: The case for object space. In Proceedings of USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’19). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Daniel Bittman, Peter Alvaro, and Ethan L. Miller. 2019. A persistent problem: Managing pointers in NVM. In Proceedings of the 10th Workshop on Programming Languages and Operating Systems (PLOS’19). 30–37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Adrian M. Caulfield, Arup De, Joel Coburn, Todor Mollov, Rajesh Gupta, and Steven Swanson. 2010. Moneta: A high-performance storage array architecture for next-generation, non-volatile memories. In Proceedings of the 43rd IEEE/ACM International Symposium on Microarchitecture (MICRO’10). 385–395. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/caulfield-micro10.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jeffrey S. Chase, Henry M. Levy, Michael J. Feeley, and Edward D. Lazowska. 1994. Sharing and protection in a single-address-space operating system. ACM Trans. Comput. Syst. 12, 4 (Nov. 1994), 271–307. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/chase-tocs94.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Guoyang Chen, Lei Zhang, Richa Budhiraja, Xipeng Shen, and Youfeng Wu. 2017. Efficient support of position independence on non-volatile memory. In Proceedings of the 50th IEEE/ACM International Symposium on Microarchitecture (MICRO’17). ACM, New York, NY, 191–203. Retrieved from http://doi.acm.org/10.1145/3123939.3124543. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Howard Chu and Symas. [n.d.]. Lightning Memory-Mapped Database (part of the OpenLDAP project). Retrieved from https://symas.com/lmdb/.Google ScholarGoogle Scholar
  16. Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. 2011. NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’11). 105–118. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/coburn-asplos11.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jeremy Condit, Edmund B. Nightingale, Christopher Frost, Engin Ipek, Benjamin Lee, Doug Burger, and Derrick Coetzee. 2009. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP’09). 133–146. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/condit-sosp09.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing (SoCC’10). ACM, New York, NY, 143–154. DOI:https://doi.org/10.1145/1807128.1807152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Fernando J. Corbató and Victor A. Vyssotsky. 1965. Introduction and overview of the Multics system. In Proceedings of the November 30 — December 1, 1965, Fall Joint Computer Conference, Part I. ACM, 185–196. Retrieved from http://dl.acm.org/citation.cfm?id=1463912. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Robert C. Daley and Jack B. Dennis. 1968. Virtual memory, processes, and sharing in MULTICS. Commun. ACM 11, 5 (May 1968), 306–312. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/daley-cacm68.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Partha Dasgupta, Richard J. LeBlanc, Jr., Mustaque Ahamad, and Umakishore Ramachandran. 1991. The clouds distributed operating system. IEEE Comput. (Nov. 1991). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/dasgupta-computer91.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Alan Dearle, Rex di Bona, James Farrow, Frans Henskens, Anders Lindström, John Rosenberg, and Francis Vaughan. 1994. Grasshopper: An orthogonally persistent operating system. Comput. Syst. 7, 3 (June 1994), 289–312. Retrieved from http://dl.acm.org/citation.cfm?id=198008.198009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Biplob Debnath, Sudipta Sengupta, and Jin Li. 2010. FlashStore: High throughput persistent key-value store. In Proceedings of the 36th Conference on Very Large Databases (VLDB’10). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/debnath-vldb10.pdf.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Xiangyu Dong, Cong Xu, Norm Jouppi, and Yuan Xie. 2014. Emerging Memory Technologies: Design, Architecture, and Applications. Springer, 15–50.Google ScholarGoogle Scholar
  25. Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. 2014. System software for persistent memory. In Proceedings of the 9th European Conference on Computer Systems (EuroSys’14). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/dulloor-eurosys14.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Izzat El Hajj, Alexander Merritt, Gerd Zellweger, Dejan Milojicic, Reto Achermann, Paolo Faraboschi, Wen-mei Hwu, Timothy Roscoe, and Karsten Schwan. 2016. SpaceJMP: Programming with multiple virtual address spaces. In Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’16). ACM, New York, NY, 353–368. DOI:https://doi.org/10.1145/2872362.2872366. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Dawson R. Engler, Sandeep K. Gupta, and M. Frans Kaashoek. 1995. AVM: Application-level virtual memory. In Proceedings of the 5th Workshop on Hot Topics in Operating Systems (HotOS’95). IEEE, 72–77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Dawson R. Engler and M. Frans Kaashoek. 1995. Exterminate all operating system abstractions. In Proceedings of the 5th Workshop on Hot Topics in Operating Systems (HotOS’95). IEEE, 78–83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Dawson R. Engler, M. Frans Kaashoek, and James O’Toole, Jr.1995. Exokernel: An operating system architecture for application-level resource management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP’95). 251–266. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/engler-sosp95.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Hewlett Packard Enterprise. 2018. YCSB-C. Retrieved from https://github.com/HewlettPackard/meadowlark/tree/master/extra/YCSB-C.Google ScholarGoogle Scholar
  31. Paolo Faraboschi, Kimberly Keeton, Tim Marsland, and Dejan Milojicic. 2015. Beyond processor-centric operating systems. In Proceedings of the 15th Workshop on Hot Topics in Operating Systems (HotOS’15). USENIX Association. Retrieved from https://www.usenix.org/conference/hotos15/workshop-program/presentation/faraboschi. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. David K. Gifford, Pierre Jouvelot, Mark A. Sheldon, and James W. O’Toole, Jr. 1991. Semantic file systems. In Proceedings of the 13th ACM Symposium on Operating Systems Principles (SOSP’91). ACM, 16–25. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/gifford-sosp91.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Burra Gopal and Udi Manber. 1999. Integrating content-based access mechanisms with hierarchical file systems. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI’99). 265–278. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/gopal-osdi99.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Jorge Guerra, Leonardo Mármol, Daniel Campello, Carlos Crespo, Raju Rangaswami, and Jinpeng Wei. 2012. Software persistent memory. In Proceedings of the USENIX Annual Technical Conference. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/guerra-atc12.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Gernot Heiser and Kevin Elphinstone. 2016. L4 microkernels: The lessons from 20 years of research and deployment. ACM Trans. Comput. Syst. 34, 1 (April 2016). DOI:https://doi.org/10.1145/2893177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Gernot Heiser, Kevin Elphinstone, Stephen Russell, and Jerry Vochteloo. 1993. Mungi: A Distributed Single Address-Space Operating System. Technical Report 9314. School of Computer Science and Engineering, University of New South Wales. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/heiser-scse9314.pdf.Google ScholarGoogle Scholar
  37. Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy Katz, Scott Shenker, and Ion Stoica. 2011. Mesos: A platform for fine-grained resource sharing in the data center. In Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation (NSDI’11). USENIX, Berkeley, CA, 295–308. Retrieved from http://dl.acm.org/citation.cfm?id=1972457.1972488. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Antony L. Hosking and J. Eliot B. Moss. 1993. Object fault handling for persistent programming languages: A performance evaluation. In Proceedings of the 8th Conference on Object-oriented Programming Systems, Languages, and Applications (OOPSLA’93). ACM, New York, NY, 288–303. DOI:https://doi.org/10.1145/165854.165907. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Qingda Hu, Jinglei Ren, Anirudh Badam, and Thomas Moscibrod. 2017. Log-structured non-volatile main memory. In Proceedings of the USENIX Annual Technical Conference. 703–717. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/hu-atc17.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Joseph Izraelevitz, Jian Yang, Lu Zhang, Juno Kim, Xiao Liu, Amirsaman Memaripour, Yun Joon Soh, Zixuan Wang, Yi Xu, Subramanya R. Dulloor, Jishen Zhao, and Steven Swanson. 2019. Basic performance measurements of the Intel Optane DC persistent memory module. arXiv abs/1903.05714 (2019).Google ScholarGoogle Scholar
  41. Eric Jul, Henry Levy, Norman Hutchinson, and Andrew Black. 1988. Fine-grained mobility in the Emerald system. ACM Trans. Comput. Syst. 6, 1 (Feb. 1988), 109–133. DOI:https://doi.org/10.1145/35037.42182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Eric Jul and Bjarne Steensgaard. 1991. Implementation of distributed objects in Emerald. In Proceedings of the International Workshop on Object Orientation in Operating Systems. IEEE, 130–132.Google ScholarGoogle ScholarCross RefCross Ref
  43. M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Briceño, Russell Hunt, David Mazières, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie. 1997. Application performance and flexibility on exokernel systems. In Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP’97). ACM, New York, NY, 52–65. DOI:https://doi.org/10.1145/268998.266644. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Orran Krieger, Marc Auslander, Bryan Rosenburg, Robert W. Wisniewski, Jimi Xenidis, Dilma Da Silva, Michal Ostrowski, Jonathan Appavoo, Maria Butrico, Mark Mergen, Amos Waterland, and Volkmar Uhlig. 2006. K42: Building a complete operating system. In Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006 (EuroSys’06). ACM, New York, NY, 133–145. DOI:https://doi.org/10.1145/1217935.1217949. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Dokeun Lee and Youjip Won. 2013. Bootless boot: Reducing device boot latency with byte addressable NVRAM. In Proceedings of the International Conference on High Performance Computing. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/lee-hpcc13.pdf.Google ScholarGoogle ScholarCross RefCross Ref
  46. James Litton, Anjo Vahldiek-Oberwagner, Eslam Elnikety, Deepak Garg, Bobby Bhattacharjee, and Peter Druschel. 2016. Light-weight contexts: An OS abstraction for safety and performance. In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI’16). USENIX Association, 49–64. Retrieved from https://www.usenix.org/conference/osdi16/technical-sessions/presentation/litton. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Youyou Lu, Jiwu Shu, and Long Sun. 2016. Blurred persistence: Efficient transactions in persistent memory. ACM Trans. Stor. 12, 1 (Jan. 2016). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/lu-tos16.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Youyou Lu, Jiwu Shu, Long Sun, and Onur Mutlu. 2014. Loose-ordering consistency for persistent memory. In Proceedings of the 32nd IEEE International Conference on Computer Design (ICCD’14). IEEE, 216–223.Google ScholarGoogle ScholarCross RefCross Ref
  49. Virendra J. Marathe, Margo Seltzer, Steve Byan, and Tim Harris. 2017. Persistent memcached: Bringing legacy code to byte-addressable persistent memory. In Proceedings of the 9th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’17). USENIX Association. Retrieved from https://www.usenix.org/conference/hotstorage17/program/presentation/marathe. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Pankaj Mehra and Samuel Fineberg. 2004. Fast and flexible persistence: The magic potion for fault-tolerance, scalability and performance in online data stores. In Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS’04). DOI:https://doi.org/10.1109/IPDPS.2004.1303232.Google ScholarGoogle ScholarCross RefCross Ref
  51. Justin Meza, Yixin Luo, Samira Khan, Jishen Zhao, Yuan Xie, and Onur Mutlu. 2013. A case for efficient hardware/software cooperative management of storage and memory. In Proceedings of the 5th Workshop on Energy-Efficient Design (WEED’13). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/meza-weed13.pdf.Google ScholarGoogle Scholar
  52. Dushyanth Narayanan and Orion Hodson. 2012. Whole-system persistence. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’12). 401–500. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/narayanan-asplos12.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Yuanjiang Ni, Jishen Zhao, Daniel Bittman, and Ethan Miller. 2018. Reducing NVM writes with optimized shadow paging. In Proceedings of the 10th Workshop on Hot Topics in Storage and File Systems (HotStorage’18). Retrieved from http://www.ssrc.ucsc.edu/ni-hotstorage18.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Yuanjiang Ni, Jishen Zhao, Heiner Litz, Daniel Bittman, and Ethan L. Miller. 2019. SSP: Eliminating redundant writes in failure-atomic NVRAMs via shadow sub-paging. In Proceedings of the 52nd IEEE/ACM International Symposium on Microarchitecture. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Matheus Ogleari, Ethan L. Miller, and Jishen Zhao. 2018. Steal but no force: Efficient hardware-driven undo+redo logging for persistent memory systems. In Proceedings of the 24th International Symposium on High-performance Computer Architecture (HPCA’18). Retrieved from http://www.ssrc.ucsc.edu/ogleari-hpca18.pdf.Google ScholarGoogle ScholarCross RefCross Ref
  56. Yoann Padioleau and Olivier Ridoux. 2003. A logic file system. In Proceedings of the USENIX Annual Technical Conference. 99–112. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/padioleau-usenix03.pdf.Google ScholarGoogle Scholar
  57. Aleatha Parker-Wood, Darrell D. E. Long, Ethan L. Miller, Philippe Rigaux, and Andy Isaacson. 2014. A file by any other name: Managing file names with metadata. In Proceedings of the 7th International Systems and Storage Conference (SYSTOR’14). Retrieved from http://www.ssrc.ucsc.edu/Papers/parkerwood-systor14.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Timothy Roscoe. 1994. Linkage in the Nemesis single address space operating system. ACM SIGOPS Oper. Syst. Rev. 28, 4 (Oct. 1994), 48–55. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/roscoe-osr94.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Andy Rudoff et al. 2017. Persistent Memory Programming Library. Retrieved from http://pmem.io/nvml/.Google ScholarGoogle Scholar
  60. Yizhou Shan, Shin-Yeh Tsai, and Yiying Zhang. 2017. Distributed shared persistent memory. In Proceedings of the Symposium on Cloud Computing (SoCC’17). Association for Computing Machinery, New York, NY, 323–337. DOI:https://doi.org/10.1145/3127479.3128610. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Jonathan S. Shapiro and Jonathan Adams. 2002. Design evolution of the EROS single-level store. In Proceedings of the USENIX Annual Technical Conference. USENIX, 59–72. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/shapiro-usenix02.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Jonathan S. Shapiro, Jonathan M. Smith, and David J. Farber. 1999. EROS: A fast capability system. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP’99). ACM, New York, NY, 170–185. DOI:https://doi.org/10.1145/319151.319163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Eugene Shekita and Michael Zwilling. 1990. Cricket: A Mapped, Persistent Object Store. Technical Report 956. University of Wisconsin. Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/shekita-uw-tr956.pdf.Google ScholarGoogle Scholar
  64. Alan Skousen and Donald Miller. 1999. Using a single address space operating system for distributed computing and high performance. In Proceedings of the 18th IEEE International Performance, Computing and Communications Conference (IPCCC’99). 8–14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Hung-Wei Tseng, Qianchen Zhao, Yuxiao Zhou, Mark Gahagan, and Steven Swanson. 2016. Morpheus: Creating application objects efficiently for heterogenous computing. In Proceedings of the ACM/IEEE 43rd International Symposium on Computer Architecture. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: Lightweight persistent memory. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’11). Retrieved from http://www.ssrc.ucsc.edu/PaperArchive/volos-asplos11.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Tiancong Wang, Sakthikumaran Sambasivam, Yan Solihin, and James Tuck. 2017. Hardware supported persistent object address translation. In Proceedings of the 50th IEEE/ACM International Symposium on Microarchitecture (MICRO’17). ACM, New York, NY, 800–812. DOI:https://doi.org/10.1145/3123939.3123981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. William Wulf, Ellis Cohen, William Corwin, Anita Jones, Roy Levin, C. Pierson, and Fred Pollack. 1974. HYDRA: The kernel of a multiprocessor operating system. Commun. ACM 17, 6 (June 1974), 337–345. DOI:https://doi.org/10.1145/355616.364017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Jian Xu and Steven Swanson. 2016. NOVA: A log-structured file system for hybrid volatile/non-volatile main memories. In Proceedings of the 14th Usenix Conference on File and Storage Technologies (FAST’16). USENIX Association, Berkeley, CA, 323–338. Retrieved from http://dl.acm.org/citation.cfm?id=2930583.2930608. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Twizzler: A Data-centric OS for Non-volatile Memory

        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

        Full Access

        • Published in

          cover image ACM Transactions on Storage
          ACM Transactions on Storage  Volume 17, Issue 2
          May 2021
          202 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/3465461
          • Editor:
          • Sam H. Noh
          Issue’s Table of Contents

          Copyright © 2021 Copyright held by the owner/author(s). Publication rights licensed to 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 the author(s) 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: 8 June 2021
          • Revised: 1 March 2021
          • Accepted: 1 March 2021
          • Received: 1 November 2020
          Published in tos Volume 17, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format