Back to the Past: Segmentation with Infinite and Non-Volatile Memory
Resumo
The design of the current desktop/server operating systems is premised on the use of slow magnetic disks. Two recent developments, (i) RAM capacity nearing 264 bytes, and (ii) the introduction of non-volatile memory (NVRAM), provide an opportunity for a complete re-design of traditional Unix-like operating systems. We discuss some of the issues which support that proposition and offer a few suggestions for areas that may benefit from looking back at pioneering work. We then propose a segmented memory model for the MIPS processor.
Referências
Anirudh Badam. How persistent memory will change software systems. IEEE Computer, 46(8):45–51, Aug 2013.
M Bjørling, P Bonnet, L Bouganim, and N Dayan. The necessary death of the block device interface. In Proc 6th Biennial Conf on Innovative Data Systems Research (CIDR13), 2013.
A Bensoussan, C T Clingen, and R C Daley. The Multics virtual memory: Concepts and design. Comm of the ACM, 15(5):308–318, May 1972.
K Bailey, L Ceze, S D Gribble, and H M Levy. Operating system implications of fast, cheap, non-volatile memory. In Proc USENIX Conf on Hot Topics in Operating Systems, pages 2–2, 2011.
G Blake, R G Dreslinski, T Mudge, and K Flautner. Evolution of threadlevel parallelism in desktop applications. In ISCA’10: 37th Intl Symp on Computer Arch, pages 302–313, Jun 2010.
J Coburn, A M Caulfield, A Akel, L M Grupp, R K Gupta, R Jhala, and S Swanson. NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. SIGPLAN Not., 46(3):105–118, Mar 2011.
A M Caulfield, A De, J Coburn, T I Mollow, R K Gupta, and S Swanson. Moneta: a high-performance storage array architecture for nextgeneration, non-volatile memories. In Proc 43rd IEEE/ACM Int Symp on Microarchitecture (MICRO’10), pages 385–395, 2010.
J Condit, E B Nightingale, C Frost, E Ipek, B Lee, D Burger, and D Coetzee. Better I/O through byte-addressable, persistent memory. In Proc ACM 22nd Symp Operating Systems Principles (SIGOPS), pages 133–146, 2009.
Paul Green. Multics virtual memory – tutorial and reflections. Essay, Multics Project, 1993. ftp://ftp.stratus.com/vos/multics/pg/mvm.html.
S Harizopoulos, D J Abadi, S Madden, and M Stonebraker. OLTP through the looking glass, and what we found there. In Proc ACM Int Conf on Management of Data (SIGMOD’08), pages 981–992, 2008.
P Hornyack, L Ceze, S Gribble, D Ports, and H M Levy. A study of virtual memory usage and implications for large memory. In Proc Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads, 2015.
John L Hennessy and David A Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 5th edition, 2012.
T Kilburn, D B G Edwards, M J Lanigan, and F H Sumner. One-level storage system. In IRE Trans on Electronic Computers, EC-11, pages 223–235, 1962.
Edward A Lee. The problem with threads. IEEE Computer, 39(5):33–42, May 2006.
B C Lee, P Zhou, J Yang, Y Zhang, B Zhao, E Ipek, O Mutlu, and D Burger. Phase-change technology and the future of main memory. IEEE Micro, 30(1):143–143, Jan 2010.
MIPS. MIPS32 architecture for programmers, volume III: The MIPS32 privileged resource architecture. Rev. 2.50, MIPS Technologies, 2005.
S Raoux., G W Burr, M J Breitwisch, C T Rettner, Y-C Chen, R M Shelby, M Salinga, D Krebs, S-H Chen, H-L Lung, and C H Lam. Phasechange random access memory: a scalable technology. IBM J. Res. Dev., 52(4):465–479, Jul 2008.
Dennis M Ritchie and Ken Thompson. The UNIX time-sharing system. Comm of the ACM, 17(7):365–375, Jul 1974.
Karin Strauss and Doug Burger. What the future holds for solid-state memory. IEEE Computer, 47(1):24–31, Jan 2014.
Kosuke Suzuki and Steven Swanson. The non-volatile memory technology database (nvmdb). Technical Report CS2015-1011, Dept of Computer Science & Engineering, Univ of California, San Diego, May 2015.
J Yang, D B Minturn, and F Hady. When poll is better than interrupt. In Proc 10th USENIX Conf on File and Storage Technologies, pages 1–7, 2012.