skip to main content
10.1145/2872362.2872366acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

SpaceJMP: Programming with Multiple Virtual Address Spaces

Published:25 March 2016Publication History

ABSTRACT

Memory-centric computing demands careful organization of the virtual address space, but traditional methods for doing so are inflexible and inefficient. If an application wishes to address larger physical memory than virtual address bits allow, if it wishes to maintain pointer-based data structures beyond process lifetimes, or if it wishes to share large amounts of memory across simultaneously executing processes, legacy interfaces for managing the address space are cumbersome and often incur excessive overheads. We propose a new operating system design that promotes virtual address spaces to first-class citizens, enabling process threads to attach to, detach from, and switch between multiple virtual address spaces. Our work enables data-centric applications to utilize vast physical memory beyond the virtual range, represent persistent pointer-rich data structures without special pointer representations, and share large amounts of memory between processes efficiently.

We describe our prototype implementations in the DragonFly BSD and Barrelfish operating systems. We also present programming semantics and a compiler transformation to detect unsafe pointer usage. We demonstrate the benefits of our work on data-intensive applications such as the GUPS benchmark, the SAMTools genomics workflow, and the Redis key-value store.

References

  1. Thomas E. Anderson, Henry M. Levy, Brian N. Bershad, and Edward D. Lazowska. The Interaction of Architecture and Operating System Design. In Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS IV, pages 108--120, Santa Clara, California, USA, 1991.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Andrew W. Appel and Kai Li. Virtual Memory Primitives for User Programs. In Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS IV, pages 96--107, Santa Clara, California, USA, 1991.Google ScholarGoogle Scholar
  3. ARM Ltd. ARM Architecture Reference Manual: ARMv7-A and ARMv7-R Edition, 2014. ARM DDI 0406C.c.Google ScholarGoogle Scholar
  4. ARM Ltd. ARMv8-A Architecture. Online, 2015. http://www.arm.com/products/processors/armv8-architecture.php.Google ScholarGoogle Scholar
  5. Katelin Bailey, Luis Ceze, Steven D. Gribble, and Henry M. Levy. Operating System Implications of Fast, Cheap, Non-volatile Memory. In Proceedings of the 13th USENIX Conference on Hot Topics in Operating Systems, HotOS'13, pages 2--2, Napa, California, 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Arkaprava Basu, Jayneel Gandhi, Jichuan Chang, Mark D. Hill, and Michael M. Swift. Efficient Virtual Memory for Big Memory Servers. In Proceedings of the 40th Annual International Symposium on Computer Architecture, ISCA '13, pages 237--248, Tel-Aviv, Israel, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Andrew Baumann, Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Schüpbach, and Akhilesh Singhania. The Multikernel: A New OS Architecture for Scalable Multicore Systems. In Proceedings of the ACM SIGOPS Twenty-Second Symposium on Operating Systems Principles, SOSP '09, pages 29--44, Big Sky, Montana, USA, 2009.Google ScholarGoogle Scholar
  8. Adam Belay, Andrea Bittau, Ali Mashtizadeh, David Terei, David Mazières, and Christos Kozyrakis. Dune: Safe User-level Access to Privileged CPU Features. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, OSDI'12, pages 335--348, Hollywood, CA, USA, 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Lightweight Remote Procedure Call. ACM Trans. Comput. Syst., 8(1):37--55, February 1990.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. User-level Interprocess Communication for Shared Memory Multiprocessors. ACM Trans. Comput. Syst., 9(2):175--198, May 1991.Google ScholarGoogle Scholar
  11. William J. Bolosky, Michael L. Scott, Robert P. Fitzgerald, Robert J. Fowler, and Alan L. Cox. NUMA Policies and Their Relation to Memory Architecture. In Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS IV, pages 212--221, Santa Clara, California, USA, 1991.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Ron Brightwell, Kevin Pedretti, and Trammell Hudson. SMARTMAP: Operating System Support for Efficient Data Sharing Among Processes on a Multi-core Processor. In Proceedings of the 2008 ACM/IEEE Conference on Supercomputing, SC '08, pages 25:1--25:12, Austin, Texas, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  13. Javier Bueno, Xavier Martorell, Rosa M. Badia, Eduard Ayguadé, and Jesús Labarta. Implementing OmpSs Support for Regions of Data in Architectures with Multiple Address Spaces. In Proceedings of the 27th International ACM Conference on International Conference on Supercomputing, ICS '13, pages 359--368, Eugene, Oregon, USA, 2013.Google ScholarGoogle Scholar
  14. Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, and Sang Lim. Object Serialization for Marshalling Data in a Java Interface to MPI. In Proceedings of the ACM 1999 Conference on Java Grande, JAVA '99, pages 66--71, San Francisco, California, USA, 1999.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Dhruva R. Chakrabarti, Hans-J. Boehm, and Kumud Bhandari. Atlas: Leveraging Locks for Non-volatile Memory Consistency. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA '14, pages 433--452, Portland, Oregon, USA, 2014.Google ScholarGoogle Scholar
  16. Satish Chandra, James R. Larus, and Anne Rogers. Where is Time Spent in Message-passing and Shared-memory Programs? In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS VI, pages 61--73, San Jose, California, USA, 1994.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jeff Chase, Miche Baker-Harvey, Hank Levy, and Ed Lazowska. Opal: A Single Address Space System for 64-bit Architectures. SIGOPS Oper. Syst. Rev., 26(2):9--, April 1992.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jeffrey S. Chase, Henry M. Levy, Miche Baker-harvey, and Edward D. Lazowska. How to Use a 64-Bit Virtual Address Space. Technical report, Department of Computer Science and Engineering, University of Washington, 1992.Google ScholarGoogle Scholar
  19. Ting-Hsuan Chien, Chia-Jung Chen, and Rong-Guey Chang. An Adaptive Zero-Copy Strategy for Ubiquitous High Performance Computing. In Proceedings of the 21st European MPI Users' Group Meeting, EuroMPI/ASIA '14, pages 139:139--139:144, Kyoto, Japan, 2014.Google ScholarGoogle Scholar
  20. Austin T. Clements, M. Frans Kaashoek, and Nickolai Zeldovich. RadixVM: Scalable Address Spaces for Multithreaded Applications. In Proceedings of the 8th ACM European Conference on Computer Systems, EuroSys '13, pages 211--224, Prague, Czech Republic, 2013.Google ScholarGoogle Scholar
  21. Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. NV-Heaps: Making Persistent Objects Fast and Safe with Next-generation, Non-volatile Memories. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XVI, pages 105--118, Newport Beach, California, USA, 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jeremy Condit, Edmund B. Nightingale, Christopher Frost, Engin Ipek, Benjamin Lee, Doug Burger, and Derrick Coetzee. Better I/O Through Byte-addressable, Persistent Memory. In Proceedings of the ACM SIGOPS Twenty-Second Symposium on Operating Systems Principles, SOSP '09, pages 133--146, Big Sky, Montana, USA, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Charles D. Cranor and Gurudatta M. Parulkar. The UVM Virtual Memory System. In Proceedings of the 1999 USENIX Annual Conference, ATEC '99, pages 9--9, Monterey, California, 1999.Google ScholarGoogle Scholar
  24. Danga Interactive. memcached - a distributed memory object caching system. Online, April 2015. http://memcached.org/.Google ScholarGoogle Scholar
  25. Mohammad Dashti, Alexandra Fedorova, Justin Funston, Fabien Gaud, Renaud Lachaize, Baptiste Lepers, Vivien Quema, and Mark Roth. Traffic Management: A Holistic Approach to Memory Placement on NUMA Systems. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '13, pages 381--394, Houston, Texas, USA, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jeff Dike. User Mode Linux. Upper Saddle River, NJ, USA, 2006.Google ScholarGoogle Scholar
  27. Matt Dillon. DragonFly BSD Sources. http://www.dragonflybsd.org/, June 2015.Google ScholarGoogle Scholar
  28. Richard Draves. A Revised IPC Interface. In USENIX MACH Symposium, pages 101--122. USENIX, 1990.Google ScholarGoogle Scholar
  29. Peter Druschel and Larry L. Peterson. Fbufs: A High-bandwidth Cross-domain Transfer Facility. In Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles, SOSP '93, pages 189--202, Asheville, North Carolina, USA, 1993.Google ScholarGoogle Scholar
  30. Aggelos Economopoulos. A peek at the DragonFly Virtual Kernel (part 1). https://lwn.net/Articles/228404/, March 2007.Google ScholarGoogle Scholar
  31. Dhammika Elkaduwe, Philip Derrin, and Kevin Elphinstone. Kernel Design for Isolation and Assurance of Physical Memory. In Proceedings of the 1st Workshop on Isolation and Integration in Embedded Systems, IIES '08, pages 35--40, Glasgow, Scotland, 2008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. D. R. Engler, M. F. Kaashoek, and J. O'Toole, Jr. Exokernel: An Operating System Architecture for Application-level Resource Management. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, SOSP '95, pages 251--266, Copper Mountain, Colorado, USA, 1995.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Paolo Faraboschi, Kimberly Keeton, Tim Marsland, and Dejan Milojicic. Beyond Processor-centric Operating Systems. In 15th Workshop on Hot Topics in Operating Systems, HotOS XV, Kartause Ittingen, Switzerland, May 2015.Google ScholarGoogle Scholar
  34. Fabien Gaud, Baptiste Lepers, Jeremie Decouchant, Justin Funston, Alexandra Fedorova, and Vivien Quéma. Large Pages May Be Harmful on NUMA Systems. In Proceedings of the 2014 USENIX Conference, USENIX ATC'14, pages 231--242, Philadelphia, PA, 2014.Google ScholarGoogle Scholar
  35. Simon Gerber, Gerd Zellweger, Reto Achermann, Kornilios Kourtis, Timothy Roscoe, and Dejan Milojicic. Not Your Parents\textquoteright Physical Address Space. In 15th Workshop on Hot Topics in Operating Systems, HotOS XV, Kartause Ittingen, Switzerland, May 2015.Google ScholarGoogle Scholar
  36. John Giacomoni, Tipp Moseley, and Manish Vachharajani. FastForward for Efficient Pipeline Parallelism: A Cache-optimized Concurrent Lock-free Queue. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '08, pages 43--52, Salt Lake City, UT, USA, 2008.Google ScholarGoogle Scholar
  37. Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, and James Cheney. Region-based Memory Management in Cyclone. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, PLDI '02, pages 282--293, Berlin, Germany, 2002.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Steven M. Hand. Self-paging in the Nemesis Operating System. In Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI '99, pages 73--86, New Orleans, Louisiana, USA, 1999.Google ScholarGoogle Scholar
  39. Marjan Hericko, Matjaz B. Juric, Ivan Rozman, Simon Beloglavec, and Ales Zivkovic. Object Serialization Analysis and Comparison in Java and .NET. SIGPLAN Not., 38(8):44--54, August 2003.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Intel Corporation. Intel Itanium Architecture Software Developer's Manual. Document Number: 245315.Google ScholarGoogle Scholar
  41. Bar Jeremia and Föllmi Claudio. Bulk Transfer over Shared Memory. Technical report, ETH Zurich, Feburary 2014. http://www.barrelfish.org/dsl-bulk-shm-report.pdf.Google ScholarGoogle Scholar
  42. Matjaz B. Juric, Bostjan Kezmah, Marjan Hericko, Ivan Rozman, and Ivan Vezocnik. Java RMI, RMI Tunneling and Web Services Comparison and Performance Analysis. SIGPLAN Not., 39(5):58--65, May 2004.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Stefan Kaestle, Reto Achermann, Timothy Roscoe, and Tim Harris. Shoal: Smart Aladdress and Replication of Memory For Parallel Programs. In Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 15, pages 263--276, Santa Clara, CA, USA, July 2015.Google ScholarGoogle Scholar
  44. Vasileios Karakostas, Jayneel Gandhi, Furkan Ayar, Adrián Cristal, Mark D. Hill, Kathryn S. McKinley, Mario Nemirovsky, Michael M. Swift, and Osman Ünsal. Redundant Memory Mappings for Fast Access to Large Memories. In Proceedings of the 42Nd Annual International Symposium on Computer Architecture, ISCA '15, pages 66--78, Portland, Oregon, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Vijay Karamcheti and Andrew A. Chien. Software Overhead in Messaging Layers: Where Does the Time Go? In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS VI, pages 51--60, San Jose, California, USA, 1994.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Pete Keleher, Alan L. Cox, Sandhya Dwarkadas, and Willy Zwaenepoel. TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems. In Proceedings of the USENIX Winter 1994 Technical Conference, WTEC'94, pages 10--10, San Francisco, California, USA, 1994.Google ScholarGoogle Scholar
  47. Eric J. Koldinger, Jeffrey S. Chase, and Susan J. Eggers. Architecture Support for Single Address Space Operating Systems. In Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS V, pages 175--186, Boston, Massachusetts, USA, 1992.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Doug Lea. dlmalloc: A Memory Allocator. http://g.oswego.edu/dl/html/malloc.html, April 2000.Google ScholarGoogle Scholar
  49. J.R. Levine. Linkers and Loaders. Morgan Kauffman, 2000.Google ScholarGoogle Scholar
  50. Heng Li, Bob Handsaker, Alec Wysoker, Tim Fennell, Jue Ruan, Nils Homer, Gabor Marth, Goncalo Abecasis, Richard Durbin, and 1000 Genome Project Data Processing Subgroup. The Sequence Alignment/Map format and SAMtools. Bioinformatics, 25(16):2078--2079, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Kai Li. IVY: A Shared Virtual Memory System for Parallel Computing. ICPP (2), 88:94, 1988.Google ScholarGoogle Scholar
  52. A. Lindstrom, J. Rosenberg, and A. Dearle. The Grand Unified Theory of Address Spaces. In Proceedings of the Fifth Workshop on Hot Topics in Operating Systems, HotOS-V, pages 66--71, May 1995.Google ScholarGoogle ScholarCross RefCross Ref
  53. Michael J. Mahon, Ruby Bei-Loh Lee, Terrence C. Miller, Jerome C. Huck, and William R. Bryg. The Hewlett-Packard Precision Architecture: The Processor. Hewlett-Packard Journal, 37(8):16--22, August 1986.Google ScholarGoogle Scholar
  54. Zoltan Majo and Thomas R. Gross. Memory Management in NUMA Multicore Systems: Trapped Between Cache Contention and Interconnect Overhead. In Proceedings of the International Symposium on Memory Management, ISMM '11, pages 11--20, San Jose, California, USA, 2011.Google ScholarGoogle Scholar
  55. Collin McCurdy, Alan L. Coxa, and Jeffrey Vetter. Investigating the TLB Behavior of High-end Scientific Applications on Commodity Microprocessors. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS '08, pages 95--104, 2008.Google ScholarGoogle Scholar
  56. Microsoft Corp. 4-Gigabyte Tuning: BCDEdit and Boot.ini. https://msdn.microsoft.com/en-us/library/windows/desktop/bb613473(v=vs.85).aspx.Google ScholarGoogle Scholar
  57. Microsoft Corp. Address Windowing Extensions. https://msdn.microsoft.com/en-us/library/windows/desktop/aa366527(v=vs.85).aspx.Google ScholarGoogle Scholar
  58. Iulian Moraru, David G. Andersen, Michael Kaminsky, Niraj Tolia, Parthasarathy Ranganathan, and Nathan Binkert. Consistent, Durable, and Safe Memory Management for Byte-addressable Non Volatile Main Memory. In Proceedings of the First ACM SIGOPS Conference on Timely Results in Operating Systems, TRIOS '13, pages 1:1--1:17, Farmington, Pennsylvania, 2013.Google ScholarGoogle Scholar
  59. Steven Jay Munroe, Scott Alan Plaetzer, and James William Stopyro. Computer System Having Shared Address Space Among Multiple Virtual Address Spaces. Online, January 20 2004. US Patent 6,681,239, https://www.google.com/patents/US6681239.Google ScholarGoogle Scholar
  60. Jacob Nelson, Brandon Holt, Brandon Myers, Preston Briggs, Luis Ceze, Simon Kahan, and Mark Oskin. Latency-Tolerant Software Distributed Shared Memory. In Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 15, pages 291--305, Santa Clara, CA, July 2015.Google ScholarGoogle Scholar
  61. Karen L. Noel and Nitin Y. Karkhanis. OpenVMS Alpha 64-bit Very Large Memory Design. Digital Tech. J., 9(4):33--48, April 1998.Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Stanko Novakovic, Alexandros Daglis, Edouard Bugnion, Babak Falsafi, and Boris Grot. Scale-out NUMA. In Proceedings of the Nineteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '14, pages 3--18, Salt Lake City, Utah, USA, 2014.Google ScholarGoogle Scholar
  63. John Ousterhout, Parag Agrawal, David Erickson, Christos Kozyrakis, Jacob Leverich, David Mazières, Subhasish Mitra, Aravind Narayanan, Diego Ongaro, Guru Parulkar, Mendel Rosenblum, Stephen M. Rumble, Eric Stratmann, and Ryan Stutsman. The Case for RAMCloud. Commun. ACM, 54(7):121--130, July 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. S.J. Plimpton, R. Brightwell, C. Vaughan, K. Underwood, and M. Davis. A Simple Synchronous Distributed-Memory Algorithm for the HPCC RandomAccess Benchmark. In Proceedings of the 2006 IEEE International Conference on Cluster Computing, pages 1--7, Sept 2006.Google ScholarGoogle ScholarCross RefCross Ref
  65. Richard Rashid, Avadis Tevanian, Michael Young, David Golub, Robert Baron, David Black, William Bolosky, and Jonathan Chew. Machine-independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures. In Proceedings of the Second International Conference on Architectual Support for Programming Languages and Operating Systems, ASPLOS II, pages 31--39, Palo Alto, California, USA, 1987.Google ScholarGoogle Scholar
  66. Barret Rhoden, Kevin Klues, David Zhu, and Eric Brewer. Improving Per-node Efficiency in the Datacenter with New OS Abstractions. In Proceedings of the 2Nd ACM Symposium on Cloud Computing, SOCC '11, pages 25:1--25:8, Cascais, Portugal, 2011.Google ScholarGoogle Scholar
  67. Salvatore Sanfilippo. Redis. http://redis.io/, August 2015.Google ScholarGoogle Scholar
  68. Scott Schneider, Christos D. Antonopoulos, and Dimitrios S. Nikolopoulos. Scalable Locality-conscious Multithreaded Memory Allocation. In Proceedings of the 5th International Symposium on Memory Management, ISMM '06, pages 84--94, Ottawa, Ontario, Canada, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Vivek Seshadri, Gennady Pekhimenko, Olatunji Ruwase, Onur Mutlu, Phillip B. Gibbons, Michael A. Kozuch, Todd C. Mowry, and Trishul Chilimbi. Page Overlays: An Enhanced Virtual Memory Framework to Enable Fine-grained Memory Management. In Proceedings of the 42nd Annual International Symposium on Computer Architecture, ISCA '15, pages 79--91, Portland, Oregon, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Piyush Shivam, Pete Wyckoff, and Dhabaleswar Panda. EMP: Zero-copy OS-bypass NIC-driven Gigabit Ethernet Message Passing. In Proceedings of the 2001 ACM/IEEE Conference on Supercomputing, SC '01, pages 57--57, Denver, Colorado, 2001.Google ScholarGoogle Scholar
  71. Audie Sumaray and S. Kami Makki. A Comparison of Data Serialization Formats for Optimal Efficiency on a Mobile Platform. In Proceedings of the 6th International Conference on Ubiquitous Information Management and Communication, ICUIMC '12, pages 48:1--48:6, Kuala Lumpur, Malaysia, 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Brian Paul Swenson and George F. Riley. A New Approach to Zero-Copy Message Passing with Reversible Memory Aladdress in Multi-core Architectures. In Proceedings of the 2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation, PADS '12, pages 44--52, Washington, DC, USA, 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. M. Takahashi, K. Kono, and T. Masuda. Efficient Kernel Support of Fine-grained Protection Domains for Mobile Code. In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems, ICDCS '99, pages 64--73, Washington, DC, USA, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  74. Madhusudhan Talluri and Mark D. Hill. Surpassing the TLB Performance of Superpages with Less Operating System Support. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS VI, pages 171--182, San Jose, California, USA, 1994.Google ScholarGoogle Scholar
  75. Chandramohan A. Thekkath, Henry M. Levy, and Edward D. Lazowska. Separating Data and Control Transfer in Distributed Operating Systems. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS VI, pages 2--11, San Jose, California, USA, 1994.Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Dana Vantrease, Robert Schreiber, Matteo Monchiero, Moray McLaren, Norman P Jouppi, Marco Fiorentino, Al Davis, Nathan Binkert, Raymond G Beausoleil, and Jung Ho Ahn. Corona: System implications of emerging nanophotonic technology. In ACM SIGARCH Computer Architecture News, volume 36, pages 153--164. IEEE Computer Society, 2008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Ben Verghese, Scott Devine, Anoop Gupta, and Mendel Rosenblum. Operating System Support for Improving Data Locality on CC-NUMA Compute Servers. In Proceedings of the Seventh International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS VII, pages 279--289, Cambridge, Massachusetts, USA, 1996.Google ScholarGoogle Scholar
  78. Haris Volos, Andres Jaan Tack, and Michael M. Swift. Mnemosyne: Lightweight Persistent Memory. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XVI, pages 91--104, Newport Beach, California, USA, 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. David Wentzlaff and Anant Agarwal. Factored Operating Systems (Fos): The Case for a Scalable Operating System for Multicores. SIGOPS Oper. Syst. Rev., 43(2):76--85, April 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Seth J. White and David J. DeWitt. Quickstore: A high performance mapped object store. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, SIGMOD '94, pages 395--406, New York, NY, USA, 1994. ACM.Google ScholarGoogle Scholar
  81. John Wilkes and Bart Sears. A comparison of Protection Lookaside Buffers and the PA-RISC Protection Architecture. Technical Report HPL-92-55, Computer Systems Laboratory, Hewlett-Packard Laboratories, Palo Alto, CA, USA, March 1992.Google ScholarGoogle Scholar
  82. M. V Wilkes. The Cambridge CAP Computer and Its Operating System (Operating and Programming Systems Series). North-Holland Publishing Co., Amsterdam, The Netherlands, The Netherlands, 1979.Google ScholarGoogle Scholar
  83. Emmett Witchel, Junghwan Rhee, and Krste Asanović. Mondrix: Memory Isolation for Linux Using Mondriaan Memory Protection. In Proceedings of the Twentieth ACM Symposium on Operating Systems Principles, SOSP '05, pages 31--44, Brighton, United Kingdom, 2005.Google ScholarGoogle Scholar
  84. Rumi Zahir, Jonathan Ross, Dale Morris, and Drew Hess. OS and Compiler Considerations in the Design of the IA-64 Architecture. In Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS IX, pages 212--221, Cambridge, Massachusetts, USA, 2000.Google ScholarGoogle Scholar
  85. Jin Zhou and Brian Demsky. Memory Management for Many-core Processors with Software Configurable Locality Policies. In Proceedings of the 2012 International Symposium on Memory Management, ISMM '12, pages 3--14, Beijing, China, 2012.Google ScholarGoogle Scholar

Index Terms

  1. SpaceJMP: Programming with Multiple Virtual Address Spaces

    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
    • Published in

      cover image ACM Conferences
      ASPLOS '16: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems
      March 2016
      824 pages
      ISBN:9781450340915
      DOI:10.1145/2872362
      • General Chair:
      • Tom Conte,
      • Program Chair:
      • Yuanyuan Zhou

      Copyright © 2016 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: 25 March 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      ASPLOS '16 Paper Acceptance Rate53of232submissions,23%Overall Acceptance Rate535of2,713submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader