CSE 513: Distributed Systems (Distributed Shared Memory)
|
|
- Augustine Daniel
- 5 years ago
- Views:
Transcription
1 CSE 513: Distributed Systems (Distributed Shared Memory) Guohong Cao Department of Computer & Engineering 310 Pond Lab Distributed Shared Memory (DSM) Traditionally, distributed computing is based on message passing. DSM provides a virtual address space that is shared among all nodes in a distributed system. With DSM, programs access data in the shared address space just as they access data in traditional virtual memory. In DSM, each node can own data stored in the shared address space, and the ownership can change when data moves from one node to another. When a process accesses data in the shared address space, the DSM software layer, implemented in the kernel or as a runtime library routine, maps the shared memory address to the physical memory. 1 2 The DSM Advantages of DSM DSM hides the explicit message passing and provides a simpler abstraction for sharing data that programmers are used to. DSM allows complex structures (e.g., pointer, array) to be passed by reference, which is not supported by the message passing model. By moving the entire block or page containing the referenced data, make use of locality of reference. Cheaper to build than multiprocessor systems. Good scalability compared to multiprocessor systems. Programs written for shared memory multiprocessors can run on DSM systems. 3 4
2 DSM Implementation Issues How to keep track of the location of remote data? How to overcome the communication delays and high overhead associated with the execution of communication protocols in distributed systems when accessing remote data? How to make shared data concurrently accessible at several nodes in order to improve system performance? DSM Implementation Algorithms The client-server algorithm The data is maintained by the server Server becomes a bottleneck The migration algorithm The data is shipped to the location of the data request, allowing subsequent accesses to be performed locally. Thrashing: where pages frequently migrate between nodes while servicing only a few requests. Solution: use a tuning parameter that determines the duration for which a node can possess a shared data item. This allows a node to make a number of accesses to the page before it is migrated to another node. The read-replication algorithm Replicate the data blocks and allow multiple nodes to have read access or one node to have read-write access. The full-replication algorithm 5 6 Consistency Models Allowing multiple copies eases the performance problem, but it introduces a new problem: how to keep all the copies consistent? Maintaining perfect consistency is especially painful when the various copies are on different machines that can only communicate by sending messages over a slow network. In some DSM systems, the solution is to accept less than perfect consistency as the price for better performance. A consistency model is essentially a contract between the software and the memory. It says that if the software agrees to obey certain rules, the memory promises to work correctly. Strict Consistency Any read to a memory location x returns the value stored by the most recent write operation to x. P 2 : R(x)1 P 2 : R(x)0 R(x)1 7 8
3 Sequential Consistency The result of an execution is the same as if the operations of all processors are executed in some sequential order, and the operations of each individual processor appear in this sequence in the order specified by its program. All processes must see the same sequence of memory references. The following are two possible results a=1; b=1; c=1; print(b,c) print(a,c); print(a,b); a=1; a=1; b=1; print(b,c); b=1; c=1; b=1; print(a,c); print(a,b); print(a,c); print(b,c); print(a,c); c=1; c=1; a=1; print(a,b); print(a,b); print(b,c); Prints: prints: prints: P 2 : R(x)0 R(x)1 P 2 : R(x)1 R(x)0 9 Implementation: ensuring that no memory operation is started until all the previous ones have been completed. In a system with an efficient, totally-ordered reliable broadcast mechanism, all shared variables could be grouped together on one or more pages, and operations to the shared pages could be broadcasted. 10 Causal Consistency Processor Consistency Writes that are potentially causally related must be seen by all processes in the same order. Concurrent writes may be seen in a different order on different machines. W(x)3 P 2 : R(x)1 W(x)2 P 3 : R(x)1 R(x)3 R(x)2 P 4 : R(x)1 R(x)2 R(x)3 11 Writes done by a single process are received by all other processes in the order in which they were issued, but writes from different processes may be seen in a different order by different processes. The following is processor consistent, but not causal consistent P 2 : R(x)1 P 3 : P 4 : W(x)2 R(x)1 R(x)2 R(x)2 R(x)1 12
4 Weak Consistency Not all applications require even seeing all writes, let alone seeing them in order, e.g., operations in critical section. Synchronization variable: used for synchronization. When a synchronization completes, all writes done on that machine are propagated outward and all writes done on other machines are brought in. The properties of weak consistency: 1. Accesses to synchronization variables are sequentially consistent. 2. No access to a synchronization variable is allowed to be performed until all previous writes have been completed everywhere. 3. No data access (read or write) is allowed to be performed until all previous accesses to synchronization variables have been performed. 13 W(x)2 S P 2 : R(x)1 R(x)2 S P 3 : R(x)2 R(x)1 S Weak Consistency W(x)2 S P 2 : S R(x)1 In the weak consistency model, when a synchronization variable is accessed, the memory does not know whether the process is finished writing the variable or about to start reading them. It must take actions required in both cases, making sure that all locally initiated writes have been competed, and gathering all writes from other machines. 14 Release Consistency Two kinds of accesses Acquire access is used to tell that a CS is about to be entered. Release access says that a CS has just been over. It follows the following rules: Before an ordinary access to a shared variable is performed, all previous acquires done by the process must have completed. Before a release is allowed to be performed, all previous reads and writes done by the process must have competed. The acquire and release accesses must be processor consistent. 15 Granularity A large page size for the shared memory unit will take advantage of the locality of reference. By transferring large pages, less overhead is incurred due to paging activity and processing communication protocols. False sharing: occurs when two different data items, not shared but accessed by two different processes, are allocated to a single page. More false sharing when the page size is large. Smart compilers may partially solve the problem. However, if two processes share the same array, nothing can do about it. Another solution is to pre-fetch small pages. 16
5 Page Replacement When there is no free space in the memory, a page may need to be replaced Traditionally, we use Least recently used (LRU). In DSM, LRU may need to be modified, since data may be accessed in different modes such as shared, private, readonly, writable, etc. Private pages may be replaced before shared pages, as shared pages would have to be moved over the network, from their owner. Read-only pages can simply be deleted as their owners have a copy. Once a page is selected for replacement, the DSM must ensure that the page is not lost forever. One option is to swap the page onto disk. Another option is to use reserved memory, wherein each node is responsible for certain portions of the global virtual space and reserves memory space for those portions IVY IVY (Integrated Shared Virtual Memory at Yale) was implemented in the Apollo environment. The address space is divided into pages, with pages being spread over all the processors in the system When a processor references an address that is not local, a trap occurs, and the DSM software fetches the page containing the address and restarts the faulting instruction, which now competes successfully. Use replication to improve performance, especially read. Achieving sequential consistency by writeinvalidation. System Model for Page-Based DSM The Coherence Protocols When P i has a write fault to a page p. P i finds the owner of page p. The owner of page p sends the page and its copyset to P i and marks its page table entry for page p as null. The faulting P i sends out the invalidation messages to all the processors contained in the copyset. When P i has a read fault to a page p : P i finds the owner of p. The owner of p sends a copy of p to P i and adds P i to the copyset (p). P i has read-only access to p. The owner marks its page table entry for p as read-only
6 Invalidation Protocols Central Manager Approach How to locate owner (p) for a given p? Where to store copyset(p)? Solution: centralized manager scheme A server called a manager is used to store the location of owner(p) and the set copyset (p). In case of write fault, the previous owner also sends the page s copy set. The requesting process sends a multicast request to the members of the copy set and make sure acks are received. Needs two messages to locate the owner. Major problem: bottleneck, single point of failure Other Schemes Fixed distributed manager scheme Multiple manages are used, pages are divided statically between them. Use hashing techniques to map different pages to different managers. For example, with eight page manages, all pages that end with 000 are handled by manager 0. Pages that end with 001 are handled by manager 1. Multicast based distributed management In case of a process faults, it multicasts its page request to all other processes. Only the process that owns the page replies. Problems Consider C 1 and C 2 use multicast to locate a page owned by O. Suppose O receives C 1 s request first and transfers ownership to it. Before the page arrives at C 1, C 2 s request arrives at O and at C 1. O will discard C 2 s request since it is no longer the owner. C 1 also discards the request since it hasn t become the owner. Solution: C 1 defers processing C 2 s request until it becomes the owner. New problem: C 1 s request also queued at C 2. After C 1 gives C 2 the page, C 2 will receive and process C 1 s request, which is not necessary. Solution? 23 24
7 Dynamic Distributed Manager Algorithm The idea is to divide the overhead of locating pages between those computers that access them. Each process keeps, for each page p, a hint as to the page s current owner the probable owner of p, or probowner (p). Initially, each process has the accurate page owner, later there may be a long chain. The following schemes are used to reduce the length of the chain. When a process transfers ownership of page p to another process, it updates probowner (p) to be the recipient. When a process handles an invalidation request for a page p, it updates probowner (p) to be the requester. When a process that has requested read access to a page p receives it, it updates probowner (p) to be the provider. When a process receives a request for a page p that it does not own, it forwards the request to probowner (p) and resets probowner (p) to be the requester Other Optimizations Instead of obtaining a read copy from the owner, a client can obtain a copy from any process with a valid copy. Processes need to keep a record of clients that have obtained a copy of the page from them. This forms a tree rooted at the owner. How about invalidation? Double fault: a page not available locally is read and write successively. In which case, the page is transferred twice. A sequence number is associated with each page. When a node needs a read-write access to a page for which it has read-only access, it sends the sequence number along with a read-write access to the owner. Based on the sequence number, the owner may not transfer the whole page. 27
Shared Virtual Memory. Programming Models
Shared Virtual Memory Arvind Krishnamurthy Fall 2004 Programming Models Shared memory model Collection of threads Sharing the same address space Reads/writes on shared address space visible to all other
More informationDistributed Shared Memory (DSM) Introduction Shared Memory Systems Distributed Shared Memory Systems Advantage of DSM Systems
Distributed Shared Memory (DSM) Introduction Shared Memory Systems Distributed Shared Memory Systems Advantage of DSM Systems Distributed Shared Memory Systems Logical location of M 1 Distributed Shared
More informationDistributed Shared Memory
Distributed Shared Memory EECS 498 Farnam Jahanian University of Michigan Reading List Supplemental Handout: pp. 312-313, 333-353 from Tanenbaum Dist. OS text (dist. in class) What DSM? Concept & Design
More informationDISTRIBUTED SHARED MEMORY
DISTRIBUTED SHARED MEMORY COMP 512 Spring 2018 Slide material adapted from Distributed Systems (Couloris, et. al), and Distr Op Systems and Algs (Chow and Johnson) 1 Outline What is DSM DSM Design and
More informationDistributed Shared Memory
Distributed Shared Memory History, fundamentals and a few examples Coming up The Purpose of DSM Research Distributed Shared Memory Models Distributed Shared Memory Timeline Three example DSM Systems The
More information9. Distributed Shared Memory
9. Distributed Shared Memory Provide the usual programming model of shared memory in a generally loosely coupled distributed environment. Shared Memory Easy to program Difficult to build Tight coupling
More informationDesign and implementation of page based distributed shared memory in distributed database systems
Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 1999 Design and implementation of page based distributed shared memory in distributed database systems Padmanabhan
More informationLecture 16/17: Distributed Shared Memory. CSC 469H1F Fall 2006 Angela Demke Brown
Lecture 16/17: Distributed Shared Memory CSC 469H1F Fall 2006 Angela Demke Brown Outline Review distributed system basics What is distributed shared memory? Design issues and tradeoffs Distributed System
More informationDistributed Systems. Distributed Shared Memory. Paul Krzyzanowski
Distributed Systems Distributed Shared Memory Paul Krzyzanowski pxk@cs.rutgers.edu Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
More informationDistributed Shared Memory: Concepts and Systems
Distributed Shared Memory: Concepts and Systems Jelica Protić, Milo Toma sević and Veljko Milutinović IEEE Parallel & Distributed Technology, Summer 1996 Context: distributed memory management high-performance
More informationDistributed Shared Memory and Memory Consistency Models
Lectures on distributed systems Distributed Shared Memory and Memory Consistency Models Paul Krzyzanowski Introduction With conventional SMP systems, multiple processors execute instructions in a single
More informationConsistency & Replication
Objectives Consistency & Replication Instructor: Dr. Tongping Liu To understand replication and related issues in distributed systems" To learn about how to keep multiple replicas consistent with each
More informationDistributed shared memory - an overview
6(17), October 1, 2013 Discovery ISSN 2278 5469 EISSN 2278 5450 Distributed shared memory - an overview Shahbaz Ali Khan, Harish R, Shokat Ali, Rajat, Vaibhav Jain, Nitish Raj CSE department, Dronacharya
More informationMultiJav: A Distributed Shared Memory System Based on Multiple Java Virtual Machines. MultiJav: Introduction
: A Distributed Shared Memory System Based on Multiple Java Virtual Machines X. Chen and V.H. Allan Computer Science Department, Utah State University 1998 : Introduction Built on concurrency supported
More informationReplication of Data. Data-Centric Consistency Models. Reliability vs. Availability
CIS 505: Software Systems Lecture Note on Consistency and Replication Instructor: Insup Lee Department of Computer and Information Science University of Pennsylvania CIS 505, Spring 2007 Replication of
More informationDistributed Shared Memory: A Survey
Distributed Shared Memory: A Survey J. Silcock School of Computing and Mathematics, Deakin University, Geelong. Abstract Distributed Shared Memory is an important topic in distributed system research as
More informationImportant Lessons. A Distributed Algorithm (2) Today's Lecture - Replication
Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single
More informationShared Memory. SMP Architectures and Programming
Shared Memory SMP Architectures and Programming 1 Why work with shared memory parallel programming? Speed Ease of use CLUMPS Good starting point 2 Shared Memory Processes or threads share memory No explicit
More informationReplication and Consistency
Replication and Consistency Today l Replication l Consistency models l Consistency protocols The value of replication For reliability and availability Avoid problems with disconnection, data corruption,
More informationData-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes.
Data-Centric Consistency Models The general organization of a logical data store, physically distributed and replicated across multiple processes. Consistency models The scenario we will be studying: Some
More informationReplica Placement. Replica Placement
Replica Placement Model: We consider objects (and don t worry whether they contain just data or code, or both) Distinguish different processes: A process is capable of hosting a replica of an object or
More informationConsistency and Replication
Consistency and Replication Introduction Data-centric consistency Client-centric consistency Distribution protocols Consistency protocols 1 Goal: Reliability Performance Problem: Consistency Replication
More informationMemory Consistency. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab.
Memory Consistency Minsoo Ryu Department of Computer Science and Engineering 2 Distributed Shared Memory Two types of memory organization in parallel and distributed systems Shared memory (shared address
More informationDistributed Systems. Lec 11: Consistency Models. Slide acks: Jinyang Li, Robert Morris
Distributed Systems Lec 11: Consistency Models Slide acks: Jinyang Li, Robert Morris (http://pdos.csail.mit.edu/6.824/notes/l06.txt, http://www.news.cs.nyu.edu/~jinyang/fa09/notes/ds-consistency.pdf) 1
More informationDISTRIBUTED COMPUTER SYSTEMS
DISTRIBUTED COMPUTER SYSTEMS CONSISTENCY AND REPLICATION CONSISTENCY MODELS Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Consistency Models Background Replication Motivation
More informationCONSISTENCY MODELS IN DISTRIBUTED SHARED MEMORY SYSTEMS
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 9, September 2014,
More informationChapter 4: Distributed Systems: Replication and Consistency. Fall 2013 Jussi Kangasharju
Chapter 4: Distributed Systems: Replication and Consistency Fall 2013 Jussi Kangasharju Chapter Outline n Replication n Consistency models n Distribution protocols n Consistency protocols 2 Data Replication
More informationVIRTUAL MEMORY READING: CHAPTER 9
VIRTUAL MEMORY READING: CHAPTER 9 9 MEMORY HIERARCHY Core! Processor! Core! Caching! Main! Memory! (DRAM)!! Caching!! Secondary Storage (SSD)!!!! Secondary Storage (Disk)! L cache exclusive to a single
More informationModeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems
Modeling Page Replacement: Stack Algorithms 7 4 6 5 State of memory array, M, after each item in reference string is processed CS450/550 Memory.45 Design Issues for Paging Systems Local page replacement
More informationWhat is consistency?
Consistency What is consistency? Consistency model: A constraint on the system state observable by applications Examples: Local/disk memory : Single object consistency, also called coherence write x=5
More informationLecture 6 Consistency and Replication
Lecture 6 Consistency and Replication Prof. Wilson Rivera University of Puerto Rico at Mayaguez Electrical and Computer Engineering Department Outline Data-centric consistency Client-centric consistency
More informationCSE 5306 Distributed Systems
CSE 5306 Distributed Systems Consistency and Replication Jia Rao http://ranger.uta.edu/~jrao/ 1 Reasons for Replication Data is replicated for the reliability of the system Servers are replicated for performance
More informationReplication. Consistency models. Replica placement Distribution protocols
Replication Motivation Consistency models Data/Client-centric consistency models Replica placement Distribution protocols Invalidate versus updates Push versus Pull Cooperation between replicas Client-centric
More informationVirtual Memory. Virtual Memory. Demand Paging. valid-invalid bit. Virtual Memory Larger than Physical Memory
Virtual Memory Virtual Memory CSCI Operating Systems Design Department of Computer Science Virtual memory separation of user logical memory from physical memory. Only part of the program needs to be in
More informationConsistency and Replication
Topics to be covered Introduction Consistency and Replication Consistency Models Distribution Protocols Consistency Protocols 1 2 + Performance + Reliability Introduction Introduction Availability: proportion
More informationSelection-based Weak Sequential Consistency Models for. for Distributed Shared Memory.
Selection-based Weak Sequential Consistency Models for Distributed Shared Memory Z. Huang, C. Sun, and M. Purvis Departments of Computer & Information Science University of Otago, Dunedin, New Zealand
More informationDemand Paging. Valid-Invalid Bit. Steps in Handling a Page Fault. Page Fault. Transfer of a Paged Memory to Contiguous Disk Space
Demand Paging Transfer of a Paged Memory to Contiguous Disk Space Bring a page into memory only when it is needed. Less I/O needed Less memory needed Faster response More users Page is needed reference
More informationToday CSCI Data Replication. Example: Distributed Shared Memory. Data Replication. Data Consistency. Instructor: Abhishek Chandra
Today CSCI 5105 Data Replication Examples and Issues Data Consistency Consistency Models Instructor: Abhishek Chandra 2 Data Replication Using multiple copies of same data Why do we need data replication?
More informationReplication and Consistency. Fall 2010 Jussi Kangasharju
Replication and Consistency Fall 2010 Jussi Kangasharju Chapter Outline Replication Consistency models Distribution protocols Consistency protocols 2 Data Replication user B user C user A object object
More informationVirtual Memory. CSCI 315 Operating Systems Design Department of Computer Science
Virtual Memory CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture were based on those Operating Systems Concepts, 9th ed., by Silberschatz, Galvin, and
More informationCSE 5306 Distributed Systems. Consistency and Replication
CSE 5306 Distributed Systems Consistency and Replication 1 Reasons for Replication Data are replicated for the reliability of the system Servers are replicated for performance Scaling in numbers Scaling
More informationChapter 5. Multiprocessors and Thread-Level Parallelism
Computer Architecture A Quantitative Approach, Fifth Edition Chapter 5 Multiprocessors and Thread-Level Parallelism 1 Introduction Thread-Level parallelism Have multiple program counters Uses MIMD model
More informationA Taxonomy-Based Comparison of Several Distributed Shared Memory Systems *
A Taxonomy-Based Comparison of Several Distributed Shared Memory Systems * Ming-Chit Tam Jonathan M. Smith David J. Farber Distributed Systems Laboratory Dept. CIS, University of Pennsylvania Philadelphia,
More informationLecture 12: Hardware/Software Trade-Offs. Topics: COMA, Software Virtual Memory
Lecture 12: Hardware/Software Trade-Offs Topics: COMA, Software Virtual Memory 1 Capacity Limitations P P P P B1 C C B1 C C Mem Coherence Monitor Mem Coherence Monitor B2 In a Sequent NUMA-Q design above,
More informationChapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition
Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationAdvanced Topic: Efficient Synchronization
Advanced Topic: Efficient Synchronization Multi-Object Programs What happens when we try to synchronize across multiple objects in a large program? Each object with its own lock, condition variables Is
More informationDistributed Memory and Cache Consistency. (some slides courtesy of Alvin Lebeck)
Distributed Memory and Cache Consistency (some slides courtesy of Alvin Lebeck) Software DSM 101 Software-based distributed shared memory (DSM) provides anillusionofsharedmemoryonacluster. remote-fork
More informationMemory Coherence in Shared Virtual
Memory Coherence in Shared Virtual c em or-y Systems KAI LI Princeton University and PAUL HUDAK Yale University The memory coherence problem in designing and implementing a shared virtual memory on loosely
More informationChapter 8 Virtual Memory
Operating Systems: Internals and Design Principles Chapter 8 Virtual Memory Seventh Edition William Stallings Modified by Rana Forsati for CSE 410 Outline Principle of locality Paging - Effect of page
More informationBasic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1
Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming
More informationModule 9: Virtual Memory
Module 9: Virtual Memory Background Demand Paging Performance of Demand Paging Page Replacement Page-Replacement Algorithms Allocation of Frames Thrashing Other Considerations Demand Segmenation 9.1 Background
More informationConsistency and Replication 1/62
Consistency and Replication 1/62 Replicas and Consistency??? Tatiana Maslany in the show Orphan Black: The story of a group of clones that discover each other and the secret organization Dyad, which was
More informationComputer Architecture
18-447 Computer Architecture CSCI-564 Advanced Computer Architecture Lecture 29: Consistency & Coherence Lecture 20: Consistency and Coherence Bo Wu Prof. Onur Mutlu Colorado Carnegie School Mellon University
More informationSelected Questions. Exam 2 Fall 2006
Selected Questions Exam 2 Fall 2006 Page 1 Question 5 The clock in the clock tower in the town of Chronos broke. It was repaired but now the clock needs to be set. A train leaves for the nearest town,
More informationSuggested Readings! What makes a memory system coherent?! Lecture 27" Cache Coherency! ! Readings! ! Program order!! Sequential writes!! Causality!
1! 2! Suggested Readings! Readings!! H&P: Chapter 5.8! Could also look at material on CD referenced on p. 538 of your text! Lecture 27" Cache Coherency! 3! Processor components! Multicore processors and
More informationCSE502: Computer Architecture CSE 502: Computer Architecture
CSE 502: Computer Architecture Shared-Memory Multi-Processors Shared-Memory Multiprocessors Multiple threads use shared memory (address space) SysV Shared Memory or Threads in software Communication implicit
More informationModule 9: Virtual Memory
Module 9: Virtual Memory Background Demand Paging Performance of Demand Paging Page Replacement Page-Replacement Algorithms Allocation of Frames Thrashing Other Considerations Demand Segmentation Operating
More informationLarge Scale Multiprocessors and Scientific Applications. By Pushkar Ratnalikar Namrata Lele
Large Scale Multiprocessors and Scientific Applications By Pushkar Ratnalikar Namrata Lele Agenda Introduction Interprocessor Communication Characteristics of Scientific Applications Synchronization: Scaling
More informationConsistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary
Consistency and Replication Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary Reasons for Replication Reliability/Availability : Mask failures Mask corrupted data Performance: Scalability
More informationVirtual Memory. CSCI 315 Operating Systems Design Department of Computer Science
Virtual Memory CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating
More informationDistributed Systems (5DV147)
Distributed Systems (5DV147) Replication and consistency Fall 2013 1 Replication 2 What is replication? Introduction Make different copies of data ensuring that all copies are identical Immutable data
More informationMultiprocessors II: CC-NUMA DSM. CC-NUMA for Large Systems
Multiprocessors II: CC-NUMA DSM DSM cache coherence the hardware stuff Today s topics: what happens when we lose snooping new issues: global vs. local cache line state enter the directory issues of increasing
More informationChapter 9: Virtual-Memory
Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Background Demand Paging Page Replacement Allocation of Frames Thrashing Other Considerations Silberschatz, Galvin and Gagne 2013
More informationLecture 1 Introduction (Chapter 1 of Textbook)
Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides
More information740: Computer Architecture Memory Consistency. Prof. Onur Mutlu Carnegie Mellon University
740: Computer Architecture Memory Consistency Prof. Onur Mutlu Carnegie Mellon University Readings: Memory Consistency Required Lamport, How to Make a Multiprocessor Computer That Correctly Executes Multiprocess
More informationADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems ( ) Chapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems (5-006-00) Chapter 6: Demand Paging http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor (0) # Inverted page table One
More informationMultiprocessors & Thread Level Parallelism
Multiprocessors & Thread Level Parallelism COE 403 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Introduction
More informationChapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER ( 5-006-00 ) Networks and Operating Systems Chapter 6: Demand Paging Source: http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor If you miss a key
More information1. Memory technology & Hierarchy
1. Memory technology & Hierarchy Back to caching... Advances in Computer Architecture Andy D. Pimentel Caches in a multi-processor context Dealing with concurrent updates Multiprocessor architecture In
More informationChapter 9: Virtual Memory. Operating System Concepts 9 th Edition
Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationBasic Memory Management
Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester 10/15/14 CSC 2/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it
More informationParallel Computers. CPE 631 Session 20: Multiprocessors. Flynn s Tahonomy (1972) Why Multiprocessors?
Parallel Computers CPE 63 Session 20: Multiprocessors Department of Electrical and Computer Engineering University of Alabama in Huntsville Definition: A parallel computer is a collection of processing
More informationOperating Systems Lecture 6: Memory Management II
CSCI-GA.2250-001 Operating Systems Lecture 6: Memory Management II Hubertus Franke frankeh@cims.nyu.edu What is the problem? Not enough memory Have enough memory is not possible with current technology
More informationRelaxed Memory-Consistency Models
Relaxed Memory-Consistency Models [ 9.1] In small multiprocessors, sequential consistency can be implemented relatively easily. However, this is not true for large multiprocessors. Why? This is not the
More informationChapter 8 Virtual Memory
Chapter 8 Virtual Memory Contents Hardware and control structures Operating system software Unix and Solaris memory management Linux memory management Windows 2000 memory management Characteristics of
More informationConsistency. CS 475, Spring 2018 Concurrent & Distributed Systems
Consistency CS 475, Spring 2018 Concurrent & Distributed Systems Review: 2PC, Timeouts when Coordinator crashes What if the bank doesn t hear back from coordinator? If bank voted no, it s OK to abort If
More information!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?
Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!
More informationCOMP Parallel Computing. CC-NUMA (2) Memory Consistency
COMP 633 - Parallel Computing Lecture 11 September 26, 2017 Memory Consistency Reading Patterson & Hennesey, Computer Architecture (2 nd Ed.) secn 8.6 a condensed treatment of consistency models Coherence
More informationOperating system Dr. Shroouq J.
2.2.2 DMA Structure In a simple terminal-input driver, when a line is to be read from the terminal, the first character typed is sent to the computer. When that character is received, the asynchronous-communication
More informationLecture 10: Multi-Object Synchronization
CS 422/522 Design & Implementation of Operating Systems Lecture 10: Multi-Object Synchronization Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous
More informationDISTRIBUTED SYSTEMS [COMP9243] Lecture 3b: Distributed Shared Memory DISTRIBUTED SHARED MEMORY (DSM) DSM consists of two components:
SHARED ADDRESS SPACE DSM consists of two components: DISTRIBUTED SYSTEMS [COMP9243] ➀ Shared address space ➁ Replication and consistency of memory objects Lecture 3b: Distributed Shared Memory Shared address
More informationChapter 8. Multiprocessors. In-Cheol Park Dept. of EE, KAIST
Chapter 8. Multiprocessors In-Cheol Park Dept. of EE, KAIST Can the rapid rate of uniprocessor performance growth be sustained indefinitely? If the pace does slow down, multiprocessor architectures will
More informationCSE325 Principles of Operating Systems. Virtual Memory. David P. Duggan. March 7, 2013
CSE325 Principles of Operating Systems Virtual Memory David P. Duggan dduggan@sandia.gov March 7, 2013 Reading Assignment 9 Chapters 10 & 11 File Systems, due 3/21 3/7/13 CSE325 - Virtual Memory 2 Outline
More information1. Background. 2. Demand Paging
COSC4740-01 Operating Systems Design, Fall 2001, Byunggu Yu Chapter 10 Virtual Memory 1. Background PROBLEM: The entire process must be loaded into the memory to execute limits the size of a process (it
More informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Chapter 9: Virtual Memory 9.1 Background 9.2 Demand Paging 9.3 Copy-on-Write 9.4 Page Replacement 9.5 Allocation of Frames 9.6 Thrashing 9.7 Memory-Mapped Files 9.8 Allocating
More informationCSCI 4717 Computer Architecture
CSCI 4717/5717 Computer Architecture Topic: Symmetric Multiprocessors & Clusters Reading: Stallings, Sections 18.1 through 18.4 Classifications of Parallel Processing M. Flynn classified types of parallel
More informationa. A binary semaphore takes on numerical values 0 and 1 only. b. An atomic operation is a machine instruction or a sequence of instructions
CSE 306 -- Operating Systems Spring 2002 Solutions to Review Questions for the Final Exam 1. [20 points, 1 each] rue or False, circle or F. a. A binary semaphore takes on numerical values 0 and 1 only.
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 15: Multicore Geoffrey M. Voelker Multicore Operating Systems We have generally discussed operating systems concepts independent of the number
More informationVirtual Memory Demand Paging. Virtual Memory Working Set Model
Virtual Memory Demand Paging When a reference is made to an address on a page not present in main memory, it is called a page fault. The operating system must read in the required page from the disk, enter
More informationChapter 10: Virtual Memory. Background
Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples 10.1 Background Virtual memory separation of user logical
More informationConsistency: Strict & Sequential. SWE 622, Spring 2017 Distributed Software Engineering
Consistency: Strict & Sequential SWE 622, Spring 2017 Distributed Software Engineering Review: Real Architectures N-Tier Web Architectures Internet Clients External Cache Internal Cache Web Servers Misc
More informationMULTIPROCESSORS AND THREAD LEVEL PARALLELISM
UNIT III MULTIPROCESSORS AND THREAD LEVEL PARALLELISM 1. Symmetric Shared Memory Architectures: The Symmetric Shared Memory Architecture consists of several processors with a single physical memory shared
More informationOperating System - Virtual Memory
Operating System - Virtual Memory Virtual memory is a technique that allows the execution of processes which are not completely available in memory. The main visible advantage of this scheme is that programs
More informationChapter 10: Virtual Memory. Background. Demand Paging. Valid-Invalid Bit. Virtual Memory That is Larger Than Physical Memory
Chapter 0: Virtual Memory Background Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples Virtual memory separation of user logical memory
More informationDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 03 (version February 11, 2008) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationDistributed Systems. Catch-up Lecture: Consistency Model Implementations
Distributed Systems Catch-up Lecture: Consistency Model Implementations Slides redundant with Lec 11,12 Slide acks: Jinyang Li, Robert Morris, Dave Andersen 1 Outline Last times: Consistency models Strict
More informationWhere are we in the course?
Previous Lectures Memory Management Approaches Allocate contiguous memory for the whole process Use paging (map fixed size logical pages to physical frames) Use segmentation (user s view of address space
More informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Background Demand Paging Chapter 9: Virtual Memory Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations
More information7/20/2008. What Operating Systems Do Computer-System Organization
Introduction to Operating Systems Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management
More information