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 about 1 year 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
OS Organization Continued Andy Wang COP 5611 Advanced Operating Systems.
OS Components and Structure Hank Levy. OS Structure l To understand an OS, let’s first look at its components and then how they’re composed or organized.
Main Memory. Goals for Today Protection: Address Spaces –What is an Address Space? –How is it Implemented? Address Translation Schemes –Segmentation –Paging.
The Grid and Virtualization Orran Krieger Sr. Technical Staff Member Vmware.
Vipul Patel Ideas … Please …
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating System Structures. Common System Components Due to the complex nature of the modern operating systems, it is partitioned into smaller component.
File Concept A file is a named collection of related information that is recorded on secondary storage. A file has a define structure, which we must know.
Adapted from the slides prepared by Alan Feuer Some material from Operating System Concepts by Silberschatz et. al. and Modern Operating Systems by Tanenbaum.
® IBM Software Group © 2008 IBM Corporation A new feature providing mainframe development flexibility David Myers Rational Developer for System z Product.
WHAT IS AN OPERATING SYSTEM? IS IT SOFTWARE? Operating system.
Design and Implementation Issues Today Design issues for paging systems Implementation issues Segmentation Next I/O.
What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute.
Distributed Computing Dr. Eng. Ahmed Moustafa Elmahalawy Computer Science and Engineering Department.
1 Operating-System Structures Operating System & its purpose Operating Systems lead to new Hardware Features System Components System Services System Calls.
ADAMA UNIVERSITY SCHOOL OF ENGENEERING & INFORMATION TECHNOLOGIES Sem. II,2010/11 INSTRUCTOR TARIKU W OPERATING SYSTEM (IT3016)
What happened to IPv5? and other oft asked IPv6 questions The Internet Society, IPv6 and You Susan Estrada.
G.Vadivu & P.Subha, Assistant Professor, SRM University, Kattankulathur 8/22/2011School of Computing, Department of IT.
What Is An Operating System?. Before Operating Systems u What do you do with just computer hardware? –If someone gives you a computer with no software.
Ken Birman Cornell University. CS5410 Fall
Design Issues for Web APIs Paul Ashton. Overview Background (me, Tourplan) Design issues for web APIs Two general approaches: tunnelled and REST. Resources.
File Systems. Storing Information Applications can store it in the process address space Why is it a bad idea? –Size is limited to size of virtual address.
CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts.
Chapter 17: Recovery System Failure Classification Storage Structure Recovery and Atomicity Log-Based Recovery Shadow Paging Recovery With Concurrent Transactions.
Search Engines Information Retrieval in Practice All slides ©Addison Wesley, 2008.
Partition and Isolate: Approaches for Consolidating HPC and Commodity Workloads Jack Lange Assistant Professor University of Pittsburgh.
© Krste Asanovic, 2014CS252, Spring 2014, Lecture 16 CS252 Graduate Computer Architecture Spring 2014 Lecture 16: Virtual Machines Krste Asanovic
1 CUSEC 2004 Ensuring the Dependability of Software Systems Dr. Lionel Briand, P. Eng. Canada Research Chair (Tier I) Software Quality Engineering Lab.
The Client/Server Database Environment CS263 Lecture 12.
© 2016 SlidePlayer.com Inc. All rights reserved.