We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byTaniya Salkeld
Modified over 2 years ago
wtm - 1April 8, 2005© M. Satyanarayanan Experience with Recoverable Virtual Memory M. Satyanarayanan School of Computer Science Carnegie Mellon University
wtm - 2April 8, 2005© M. Satyanarayanan Background RVM = “Recoverable Virtual Memory” software library to provide transactional properties for VM in use since early 1990’s primarily in Coda File System (large servers to tiny handhelds) Also used by others outside our group (not by design!) persistent garbage collection [O’Toole et al 1993] transactional distributed shared memory [Feeley et al. 1994] persistent Java [Jordan 1996] Rio Vista transactional system [Lowell & Chen 1997] Some questions What lessons have we learned from RVM? What is the role of the OS? How can hardware support help RVM?
wtm - 3April 8, 2005© M. Satyanarayanan Functionality Focus on A & D of ACID (I provided by app) Segment persistent image of mapped data resides in file or raw disk partition Region all or part of a segment in active use area of an address space backed by RVM multiple regions per address space explicit mapping operations map (region_desc, options_desc) unmap (region_desc) begin_transaction (&tid, restore_mode) set_range (tid, base_addr, nbytes) end_transaction (tid, commit_mode) abort_transaction (tid) flush ( ) truncate ( ) Application code Operating System Permanence: media failure RVM Atomicity Permanence: process failure SerializabilityDistribution Nesting
wtm - 4April 8, 2005© M. Satyanarayanan RVM Lessons Ability to treat VM transactionally is a BIG win especially valuable in failure handling in distributed systems encapsulates many messy details Both meanings of “lightweight” important small resource footprint easy to use Most of the value comes from very basic features (KISS) additional fancy features, complexity not worth it factoring out of isolation works well Log optimizations valuable in reducing log traffic (20-60%) inter-transaction and intra-transaction no-flush transactions with explicit flush( ) calls useful
wtm - 5April 8, 2005© M. Satyanarayanan Role of OS RVM is a highly portable library absolutely no OS dependence (other than POSIX) runs on Linux, *BSD, MacOS X, and even WinXP (using Cygwin) Lack of integration has performance consequences storage for segment distinct from swap space longer startup latency (fixable with private mmap) poorer paging performance Predecessor of RVM was tightly integrated with OS Camelot used many Mach mechanisms (e.g. external pager) stressed little-used OS features, many subtle bugs very complex to use, even more complex to debug potential win of OS integration not realized in practice Can’t share regions across processes without OS support may be much more significant than performance issues prevents use of multiple address spaces for robustness
wtm - 6April 8, 2005© M. Satyanarayanan How Can Hardware Help? Persistent RAM-speed log! would dramatically improve latency of log forces battery-backed memory ok, but brittle abstraction perhaps flash memory log device? (not important to integrate into address space) Avoid need for manual set_range( ) calls forgetting this is major source of programming errors page granularity not good enough; has to be byte granularity perhaps get_ranges(tid) info from hardware? Isolation is completely orthogonal hardware concurrency control would fit easily into RVM separate portable Isolation library would be ideal
G Robert Grimm New York University Recoverable Virtual Memory.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
Free Transactions with Rio Vista Landon Cox April 15, 2016.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
MACHINE-INDEPENDENT VIRTUAL MEMORY MANAGEMENT FOR PAGED UNIPROCESSOR AND MULTIPROCESSOR ARCHITECTURES R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron,
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1 Transactions Dave Eckhardt
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Operating Systems Who’s in charge in there?. Types of Software Application Software : Does things we want to do System Software : Does things we need.
Memory Protection: Kernel and User Address Spaces Background Address binding How memory protection is achieved.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
1 CSIS 7102 Spring 2004 Lecture 8: Recovery (overview) Dr. King-Ip Lin.
Concurrency Control. Objectives Management of Databases Concurrency Control Database Recovery Database Security Database Administration.
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Memory Management (continued) CS-3013 C-term Memory Management CS-3013 Operating Systems C-term 2008 (Slides include materials from Operating System.
Operating Systems A.Biswas Architecture. Computer Startup.
© 2017 SlidePlayer.com Inc. All rights reserved.