OS PMM - More space: if you give an OS more memory
|
|
- Evelyn Glenn
- 5 years ago
- Views:
Transcription
1 Speaker Notes Page 1 of 7 Transcendent Memory Update (XenSummit 2010) Agenda: In the first few minutes, I'm going to quickly review the motivation and review some background about how physical memory is used today in a physical system and in a virtualized system. This first part will be a condensed repeat of my presentation from last year's Xen Summit, so for those of you who didn't see that presentation, I may be zooming a bit too fast, but for those who did, I don't want you to go to sleep so bear with me for a few minutes and consider this a quick refresher course in Transcendent Memory concepts. Then I'll cover the considerable forward progress in tmem since last year's Xen Summit at Oracle. Finally, I'll show some very interesting performance analysis I've been doing and hopefully have some time for Q&A. Motivation: Many Xen users have consolidated their data centers, but find that their CPUs are still spending a lot of time idle. Sometimes this is because the real bottleneck is that there isn t enough RAM in their systems. One solution is to add more memory to all of their systems but that can be very expensive and we d like to first ensure that the memory we do have is being efficiently utilized, not wasted. But it's often not easy to recognize the symptoms of inefficiently utilized memory in a bare metal OS, and it's even harder in a virtualized system. Challenge: So before we try to solve the memory problem, let s try to clearly identify what it is we re trying to do. Our deceptively simple objective is to (read, rephrase, and wing it). Agenda - Overview: take a look at a few points on how physical memory is managed and utilized, first in an operating system, and then in a virtual machine monitor like Xen. OS PMM: first thing to note is that OS s are memory hogs. Why? Most OS s were written many years ago when memory was a scarce and expensive resource and every bit of memory had to be put to what the OS thinks is a good use. So as a result, OS PMM - More space: if you give an OS more memory OS PMM - Used up all space: it s going to essentially grow fat and use up whatever memory you give it. So it's not very easy to tell if an OS needs more memory or not and similarly it s not very easy to tell whether it's using the memory it does have efficiently or not. So let s dig a little deeper and see what an OS is really doing with its memory. OS PMM - What does it do: (just flash picture for a few seconds and move on) Transcendent Memory Update (Xen Summit 2010) -- Speaker Notes Page 1 of 7
2 Speaker Notes Page 2 of 7 Transcendent Memory Update (XenSummit 2010) OS PMM - Page Cache crystal ball: Most OS's use a lot of RAM for their page cache. What's that? Well, because disks are slow, an OS will often keep a copy of pages that its read from disk, so as to avoid having to read that page all over again. The OS is essentially trying to predict the future in order to make disk reads less frequent. It stores these pages in the page cache. And although it s far from perfect at predicting the future, the OS guesses right a lot of the time, which is why the page cache concept exists in all modern operating systems. If the OS attempts to predict the future and it does guess right, we ll call that a good page cache page, and we ll represent the concept of good page cache pages with this crystal ball. OK? Now I said the OS guesses right a lot of the time but that means it also guesses the future wrong a lot of the time. OS PMM - Page cache waste: so that means that a lot of the pages in the page cache have data that is NOT going to be used in the future and so is wasting valuable memory space. We ll represent wasted space with this symbol. Now if you watch over time how memory is being used, when an OS is really busy with a lot of applications running, the page cache is fairly small. OS PMM - Page cache waste: But when the workload gets light again, much or most of memory is used for the page cache. So whenever you see a pig, I want you to be thinking that at any given point in time some, maybe most, maybe nearly all of the memory used by an OS is wasted. Agenda - Overview VMM: OK, let s switch from the OS to Xen. VMM PMM: Xen reserves some memory for itself. And it reserves some memory for domain0. When a guest is started, a certain fixed amount of physical memory is specified in its configuration file. Xen partitions memory and any memory that s not used is left lying around in case you want to launch more guests. But unless you are truly a miser about your megabytes, there's almost always still a lot of memory left lying around. We re going to call that FALLOW memory. And that fallow memory is completely unused, completely wasted. Although there are times when you really do want to have fallow memory... VMM PMM - Migration: Migration is one of the coolest features of virtualization, but one of its constraints is unfortunately that every migrating guest temporarily needs its whole physical memory allocation both on the source machine and on the target machine so, for a short time, it is using double its physical memory allocation. So if you don't have a good amount of fallow memory in your data center at all times, migration will be limited or impossible. VMM PMM - Ballooning: Another widely used technique for managing memory is ballooning. A balloon driver allows the hypervisor to redistribute physical memory from Transcendent Memory Update (Xen Summit 2010) -- Speaker Notes Page 2 of 7
3 Speaker Notes Page 3 of 7 Transcendent Memory Update (XenSummit 2010) one guest to another, but it has some real issues. One is that it works great when you have fallow memory that you want to give to a guest OS. But for several reasons... VMM PMM - Ballooning issues: Ballooning doesn't work so great the other way around... if you want use ballooning to take memory away. First, ballooning isn t instantaneous. You can t just take memory away from a guest with ballooning, you have to ask for it. You often won t get it fast, and sometimes you may not get it at all. This is because, as we ve previously seen, every OS is always using all of its memory for something that it thinks is useful. Second, when the balloon driver wants some of that memory, the socalled donating OS has to decide what memory it needs the least. And that s going to be page cache pages. And as we ve seen, while some of those pages are really waste anyway and OK to throw away, some of them are actually valuable and throwing them away will lead to extra disk reads! Third, and worst, ballooning decisions made by Xen or domain0 have very little guidance on how much memory is safe to balloon or how fast it can be taken away. If the guess is wrong, bad things happen. VMM PMM Migration and Ballooning : And things get worse if you try to combine ballooning AND migration. Suppose, despite the problems I just mentioned, you do your best to use ballooning to dynamically distribute all RAM to your guests. Now, at any given time, there is probably not enough fallow memory for incoming migrations! Why IS hard! Summary: Now recall the problem we are trying to solve. We ve got a pretty good list of reasons why this is a hard problem (quickly go over list). So it should be fairly obvious that the situation we have today for managing physical memory isn t really working and we need to do something new. That leads us to... Agenda - Tmem Overview: Transcendent Memory! Now I ll do a very quick overview of what transcendent memory is all about, and then we'll be done with the review and can get into the new material. Tmem pool step 1: What we are going to do is surprisingly simple. Step 1, we are going to reclaim ALL wasted memory in the system from the hypervisor and from the guests and we re going to collect it in a pool and Tmem pool step 2: Step 2, we provide indirect access to that pool of memory, through a carefully crafted API, which is controlled by a set of restrictions imposed by the hypervisor. That s it. But the magic is in the characteristics of that API and the semantics of the restrictions imposed by the hypervisor. Tmem API: First, the API does require awareness by the OS and so requires guest kernel changes, or paravirtualization. But the changes required are surprisingly small. The API is Transcendent Memory Update (Xen Summit 2010) -- Speaker Notes Page 3 of 7
4 Speaker Notes Page 4 of 7 Transcendent Memory Update (XenSummit 2010) narrow in that the Linux interface is specified using a small handful of function pointers and these funnel down to a single Xen hypercall. There s a spec available today. It works primarily by synchronously copying whole pages between the guest and the hypervisor. We're already doing several different things with the API and, the API is extensible, if we find more uses in the future. Tmem four pool types: Transcendent memory, that huge pool of previously wasted memory, is dynamically subdivided into subpools. And when these subpools are created, they are given certain attributes. Ephemeral means that any data put into the pool may disappear at any time. This gives the hypervisor complete flexibility over whether the data in the pool stays around long enough so that it can be used if the guest needs it again. Or, for example, if the space is needed for an inbound migration, all of the data can be thrown away and all the memory space can be immediately used to accommodate the incoming guest. Persistent of course means the opposite. Any data put in a persistent pool will stay there, but ONLY until the guest that put it there dies. So it can t be used in place of a disk. There's also private and shared pools, but in the interest of time, I'm going to skip those for this presentation. Agenda: Back to the agenda, and now here's the new material so anybody who was bored by the review material can wake up now. Tmem update: As of earlier this month, tmem is now released in Xen It is disabled by default, but can be enabled with a Xen boot option. A lot of effort was put into a good locking strategy that provides a high level of concurrency so not only can multiple guests simultaneously access tmem, but different VCPUs in the same guest can also simultaenously access tmem. And there were some interesting challenges that I could talk a long time about, but you can ask me later. Tmem has complete save/restore support as well as support for live migration. This support is in the hypervisor and in the mainstream xend tools... I don't think it's in libxl yet. An interesting new feature is page dedup, and I'll talk about that more in a minute. The Linux kernel patch now provides support for the most frequently used filesystems and a nice clean interface to expose some important tmemrelated statistics. And tmem is starting to find its way into released Xen and Linux distros, including Oracle VM, which is Oracle's Xen-based virtualization solution. Tmem page deduplication: So what is this page deduplication stuff? First, it just got added to xen-unstable and will be back-ported to the 4.0 line and is enabled with another Xen boot option. If you have heard of "page sharing", it's a lot like that: Say you have fifty pages that have been put into tmem and their content is identical. Instead of taking up fifty pages of physical memory, you instead keep one copy in one physical page in memory and Transcendent Memory Update (Xen Summit 2010) -- Speaker Notes Page 4 of 7
5 Speaker Notes Page 5 of 7 Transcendent Memory Update (XenSummit 2010) have fifty pointers to it. It's completely transparent to guests that are using tmem. The implementation is fairly simple and differs dramatically from the other page sharing code that went into Xen in 4.0, in part because of tmem's concurrency requirements make it harder, but also because the way tmem works, no copy-on-write or swapping is required, so in many ways it is also much easier... adding dedup support to tmem was less than 500 lines of code. Dedup is currently restricted to only ephemeral pools for some fairly subtle reasons. Dedup can be combined with compression to get, as we will see, some pretty impressive results. We've also been experimenting with something we call "trailing zero elimination" which is kind of a poor-man's compression when there's a workload with a lot of small files being used that are zero-filled. Last, tmem provides a very extensive set of counters and statistics now including some for dedup, so we can measure how many duplicate pages are being shared and how much time is being used. All very useful stuff. Issue: Fragmentation: Every silver lining has a cloud, and for tmem, there's a fragmentation issue that Jan Beulich discovered shortly before 4.0 went out. Basically there's a few Xen operations that require internal data structures that must be dynamically allocated and that are larger than one page and, if the multi-page data structure allocation fails, the operations fail also. Well, any dynamic memory technique, even ballooning, will eventually churn through all the physical memory in the system and fragment it so that multi-page allocations will eventually fail. Tmem just does this very quickly, especially when aggressive ballooning is enabled. So, under certain circumstances, we ran into some of these fragmentation issues. We found a kind of hack-y workaround that we got into 4.0, and it seems to be holding up fairly well, but this is a problem that really needs to be fixed properly. Agenda: OK, I've got some interesting benchmark results to show and then we will finish up with any questions. Test workload: So, here's a test workload. We've got a two-core processor which has only 2GB of memory. We're going to launch four PV guests and to make them all it they each get 384MB of memory. Then we're going to pound on them all simultaneously with a parallel kernel compile workload. Measurement methodology: We're going to run that workload five times for each of several configurations, collect information from xentop and tmem, and record a few important statistics. Here's the configurations we are measuring. Transcendent Memory Update (Xen Summit 2010) -- Speaker Notes Page 5 of 7
6 Speaker Notes Page 6 of 7 Transcendent Memory Update (XenSummit 2010) Self-ballooning recap: Since four of those five configurations include self-ballooning, let me digress for a minute to review exactly what that is. Self-ballooning, as presented in Xen Summit 2008, is a feedback-directed ballooning technique which uses information from within a guest OS to dynamically resize the balloon, giving away physical memory when the guest OS is quiet and asking for it back when the guest OS has a workload that needs lots of memory. This is done aggressively so that a guest OS uses as little memory as it can; frequently so that it can respond to sudden changes in workload; independently of other guest OS's, and lots of parameters can be configured to adjust how self-ballooning works. On Linux, there's a value called "Committed-A-S" that is a reasonable guesstimate of how much memory is needed and we use that to provide the feedback, and the balloon driver itself ensures that not TOO much memory is ballooned away. At Xen Summit 2008, selfballooning was done with a userland daemon and the source for this has been in the Xen source tree for a couple of years now. But, for these tests, we have self-ballooning implemented in the kernel itself. Unchanged vs Self-ballooning (time graphs): So let's see how self-ballooning does by itself. On this workload, we get a small increase in wallclock time. This is the elapsed time from when the workload starts until its complete. Also an increase in total VCPU time... that's the sum of all the VCPU seconds reported by xentop, including dom0. Unchanged vs Self-ballooning (VBD graphs): How about disk activity? We're reporting here millions of sectors read and written as reported by xentop again. Here the VBD reads have gone up roughly 10% and writes are slightly up but essentially unchanged. Sigh, performance hit: What's the explanation for this performance hit? Well, what we're seeing is all those "good" page cache pages being refetched from the disk after being squeezed out of the guest's memory by self-ballooning. And although this workload doesn't show it because the load is relatively constant, if the guest OS needs memory NOW, you're going to get some swapping to disk, or maybe even some out-of-memory conditions. So that loss of performance is to be expected. In fact, if you go back and look at the Xen Summit 2008 paper, this performance degradation actually gets much worse under certain conditions. Self-ballooning AND tmem: Now if you think about it, those problems with selfballooning that cause a loss in performance are exactly those things that I told you tmem is good for! So what if we combine self-ballooning with tmem? Well, instead of copying pages to and from a disk, we are copying pages to and from transcendent memory. Will that help? Let's look at the results for the rest of the configurations... Transcendent Memory Update (Xen Summit 2010) -- Speaker Notes Page 6 of 7
7 Speaker Notes Page 7 of 7 Transcendent Memory Update (XenSummit 2010) Self AND tmem (time graphs): First wallclock time... tmem not only makes up for self-ballooning but is even faster than the unchanged OS. And when combined with dedup and compression, it really rocks. 5% to 8% faster time to completion. What about VCPU time? Well, there's a small hit for tmem by itself and a rather significant hit with dedup and compression enabled. How important is that? Well, as we've highlighted in the slide, although total VCPU time is higher, all we've really done is utilize the CPUs more effectively. We'll talk about that more in a second, but first let's look at disk stuff. Self AND tmem (VBD graphs): With tmem we see that not only do we recover from the hit in disk reads due to refaults, but we reduce it by 31% for tmem by itself and over 50% for tmem with dedup and compression. Again no noticeable change in writes. Why is tmem so good?: So this all looks pretty impressive. Why is it so good? Well tmem is basically acting as a big shared page cache, shared across all of the guest OS's. If you know a branch of statistics called queuing theory, you'll understand that this is mathematically better than a set of smaller page caches. Then when dedup and compression are turned on, the size of this single shared page cache is effectively quadrupled for this workload. Further, any swapping is also sharing the large pool of memory. What about that VCPU seconds increase though? Well, virtualization was first conceived as a way to more effectively utilize CPU cycles. Tmem does exactly that. It IS not only making better use of underutilized physical RAM, but it is also making use of previously unutilized CPU cycles! And... remember that this workload has all four guests pounding on the CPU and disk simultaenously. If those guests instead utilize the machine more sparsely, tmem may see even better results. Summary: So to summarize, tmem's primary objective is to make memory a more flexible resource and to do it better than ballooning and other memory utilization technologies with fewer disadvantages. It certainly works well on this workload by showing a dramatic reduction in disk reads, and a faster time-to-completion, while utilizing the CPU more effectively. Disadvantages? Well, the OS must be made smart in a few places by adding a few hooks that help it deal better with page cache evictions and swapping. And one could argue that by using the CPU more effectively, we're costing some power consumption. Those are the tradeoffs... you decide! Acknowledgements: Before I conclude, I'd like to thank Jeremy for some great ideas that have been applied to the Linux-side code for tmem. For more information: And there's a URL for more information and feel free to me or talk to me later. Transcendent Memory Update (Xen Summit 2010) -- Speaker Notes Page 7 of 7
Transcendent Memory on Linux
Transcendent Memory on Linux Speaker: Dan Magenheimer Oracle Corporation Agenda Motivation and Challenge Overview of Physical Memory Management Transcendent Memory ( tmem ) Overview
More informationOracle Corporation. Speaker: Dan Magenheimer. without the Commitment. Memory Overcommit. <Insert Picture Here>
2008 Memory Overcommit without the Commitment Speaker: Dan Magenheimer Oracle Corporation Overview What is overcommitment? aka oversubscription or overbooking Why (and why not) overcommit
More informationLesson 3 Transcript: Part 1 of 2 - Tools & Scripting
Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the db2 on Campus lecture series. Today we're going to talk about tools and scripting, and this is part 1 of 2
More information(Refer Slide Time: 01:25)
Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 32 Memory Hierarchy: Virtual Memory (contd.) We have discussed virtual
More informationVirtual Memory #2 Feb. 21, 2018
15-410...The mysterious TLB... Virtual Memory #2 Feb. 21, 2018 Dave Eckhardt Brian Railing 1 L16_VM2 Last Time Mapping problem: logical vs. physical addresses Contiguous memory mapping (base, limit) Swapping
More informationTA7750 Understanding Virtualization Memory Management Concepts. Kit Colbert, Principal Engineer, VMware, Inc. Fei Guo, Sr. MTS, VMware, Inc.
TA7750 Understanding Virtualization Memory Management Concepts Kit Colbert, Principal Engineer, VMware, Inc. Fei Guo, Sr. MTS, VMware, Inc. Disclaimer This session may contain product features that are
More informationOperating System Principles: Memory Management Swapping, Paging, and Virtual Memory CS 111. Operating Systems Peter Reiher
Operating System Principles: Memory Management Swapping, Paging, and Virtual Memory Operating Systems Peter Reiher Page 1 Outline Swapping Paging Virtual memory Page 2 Swapping What if we don t have enough
More informationUnderstanding VMware Capacity
Understanding VMware Capacity Topics Why OS Monitoring Can be Misleading 5 Key VMware Metrics for Understanding VMWa re capacity How VMware processor scheduling impacts CPU capacity measurements Measuring
More informationMemory Management: Virtual Memory and Paging CS 111. Operating Systems Peter Reiher
Memory Management: Virtual Memory and Paging Operating Systems Peter Reiher Page 1 Outline Paging Swapping and demand paging Virtual memory Page 2 Paging What is paging? What problem does it solve? How
More informationMITOCW watch?v=zm5mw5nkzjg
MITOCW watch?v=zm5mw5nkzjg The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More information16 Sharing Main Memory Segmentation and Paging
Operating Systems 64 16 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per
More informationExt3/4 file systems. Don Porter CSE 506
Ext3/4 file systems Don Porter CSE 506 Logical Diagram Binary Formats Memory Allocators System Calls Threads User Today s Lecture Kernel RCU File System Networking Sync Memory Management Device Drivers
More informationPROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between
MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query
More informationFormal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5
Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they
More informationP1_L3 Operating Systems Security Page 1
P1_L3 Operating Systems Security Page 1 that is done by the operating system. systems. The operating system plays a really critical role in protecting resources in a computer system. Resources such as
More information15 Sharing Main Memory Segmentation and Paging
Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per
More informationMySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona
MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking
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 informationInside the PostgreSQL Shared Buffer Cache
Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later
More informationMITOCW MIT6_172_F10_lec18_300k-mp4
MITOCW MIT6_172_F10_lec18_300k-mp4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for
More informationSo, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory.
Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 31 Memory Hierarchy: Virtual Memory In the memory hierarchy, after
More informationThe following content is provided under a Creative Commons license. Your support
MITOCW Lecture 8 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To make a donation
More informationCHAPTER 16 - VIRTUAL MACHINES
CHAPTER 16 - VIRTUAL MACHINES 1 OBJECTIVES Explore history and benefits of virtual machines. Discuss the various virtual machine technologies. Describe the methods used to implement virtualization. Show
More informationChapter 3 - Memory Management
Chapter 3 - Memory Management Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Memory Management 1 / 222 1 A Memory Abstraction: Address Spaces The Notion of an Address Space Swapping
More informationMITOCW watch?v=0jljzrnhwoi
MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More informationLesson 4 Transcript: DB2 Architecture
Lesson 4 Transcript: DB2 Architecture Slide 1: Cover Welcome to Lesson 4 of the DB2 on campus series. Today we are going to talk about the DB2 architecture. My name is Raul Chong and I am the DB2 on Campus
More informationò Very reliable, best-of-breed traditional file system design ò Much like the JOS file system you are building now
Ext2 review Very reliable, best-of-breed traditional file system design Ext3/4 file systems Don Porter CSE 506 Much like the JOS file system you are building now Fixed location super blocks A few direct
More informationTowards Massive Server Consolidation
Towards Massive Server Consolidation Filipe Manco, João Martins, Felipe Huici {filipe.manco,joao.martins,felipe.huici}@neclab.eu NEC Europe Ltd. Xen Developer Summit 2014 Agenda 1. Use Cases and Goals
More information6.033 Computer System Engineering
MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.033 2009 Lecture
More informationMITOCW ocw f99-lec07_300k
MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those
More information5 Performance-Boosting vsphere Features You re Missing out on
5 Performance-Boosting vsphere Features You re Missing out on info@altaro.com www.altaro.com 1 vshield Endpoint 2 Fine tuning High Availability Our Agenda Today. 3 4 VMware Converter Update Manager 5 Using
More informationVirtualization. Dr. Yingwu Zhu
Virtualization Dr. Yingwu Zhu Virtualization Definition Framework or methodology of dividing the resources of a computer into multiple execution environments. Types Platform Virtualization: Simulate a
More informationHostless Xen Deployment
Hostless Xen Deployment Xen Summit Fall 2007 David Lively dlively@virtualiron.com dave.lively@gmail.com Hostless Xen Deployment What Hostless Means Motivation System Architecture Challenges and Solutions
More informationTranscendent Memory and Friends (Not just for virtualization anymore!) Dan Magenheimer, Oracle Corp.
Transcendent Memory and Friends (Not just for virtualization anymore!) Dan Magenheimer, Oracle Corp. Transcendent Memory s Friends cleancache frontswap persistent ephemeral Transcendent Memory Objectives:
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 15: Caching: Demand Paged Virtual Memory
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2003 Lecture 15: Caching: Demand Paged Virtual Memory 15.0 Main Points: Concept of paging to disk Replacement policies
More informationCan "scale" cloud applications "on the edge" by adding server instances. (So far, haven't considered scaling the interior of the cloud).
Recall: where we are Wednesday, February 17, 2010 11:12 AM Recall: where we are Can "scale" cloud applications "on the edge" by adding server instances. (So far, haven't considered scaling the interior
More informationLecture 16. Today: Start looking into memory hierarchy Cache$! Yay!
Lecture 16 Today: Start looking into memory hierarchy Cache$! Yay! Note: There are no slides labeled Lecture 15. Nothing omitted, just that the numbering got out of sequence somewhere along the way. 1
More informationJune IBM Power Academy. IBM PowerVM memory virtualization. Luca Comparini STG Lab Services Europe IBM FR. June,13 th Dubai
June 2012 @Dubai IBM Power Academy IBM PowerVM memory virtualization Luca Comparini STG Lab Services Europe IBM FR June,13 th 2012 @IBM Dubai Agenda How paging works Active Memory Sharing Active Memory
More informationWhite Paper. How the Meltdown and Spectre bugs work and what you can do to prevent a performance plummet. Contents
White Paper How the Meltdown and Spectre bugs work and what you can do to prevent a performance plummet Programs that do a lot of I/O are likely to be the worst hit by the patches designed to fix the Meltdown
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 27 Virtualization Slides based on Various sources 1 1 Virtualization Why we need virtualization? The concepts and
More informationCS 111. Operating Systems Peter Reiher
Operating System Principles: Memory Management Operating Systems Peter Reiher Page 1 Outline What is memory management about? Memory management strategies: Fixed partition strategies Dynamic partitions
More informationSo on the survey, someone mentioned they wanted to work on heaps, and someone else mentioned they wanted to work on balanced binary search trees.
So on the survey, someone mentioned they wanted to work on heaps, and someone else mentioned they wanted to work on balanced binary search trees. According to the 161 schedule, heaps were last week, hashing
More informationCOMPUTER SCIENCE 4500 OPERATING SYSTEMS
Last update: 3/28/2017 COMPUTER SCIENCE 4500 OPERATING SYSTEMS 2017 Stanley Wileman Module 9: Memory Management Part 1 In This Module 2! Memory management functions! Types of memory and typical uses! Simple
More informationXen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila
Xen and the Art of Virtualization Nikola Gvozdiev Georgian Mihaila Outline Xen and the Art of Virtualization Ian Pratt et al. I. The Art of Virtualization II. Xen, goals and design III. Xen evaluation
More informationMITOCW watch?v=r6-lqbquci0
MITOCW watch?v=r6-lqbquci0 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More informationReminder: Mechanics of address translation. Paged virtual memory. Reminder: Page Table Entries (PTEs) Demand paging. Page faults
CSE 451: Operating Systems Autumn 2012 Module 12 Virtual Memory, Page Faults, Demand Paging, and Page Replacement Reminder: Mechanics of address translation virtual address virtual # offset table frame
More informationHi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides
Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides for both problems first, and let you guys code them
More informationHow Rust views tradeoffs. Steve Klabnik
How Rust views tradeoffs Steve Klabnik 03.04.2019 What is a tradeoff? Bending the Curve Overview Design is about values Case Studies BDFL vs Design By Committee Stability Without Stagnation Acceptable
More informationVirtual Memory. ICS332 Operating Systems
Virtual Memory ICS332 Operating Systems Virtual Memory Allow a process to execute while not completely in memory Part of the address space is kept on disk So far, we have assumed that the full address
More informationHyper-V Top performance and capacity tips
Hyper-V Top performance and capacity tips Introduction This paper discusses the changes in Windows/Hyper-V 2012 and what that means from the perspective of the business and managing the capacity. It will
More informationDisco: Running Commodity Operating Systems on Scalable Multiprocessors
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, Kinskuk Govil and Mendel Rosenblum Stanford University Presented by : Long Zhang Overiew Background
More informationServer Virtualization Approaches
Server Virtualization Approaches Virtual Machine Applications Emulation Replication Composition Emulation: Mix-and-match cross-platform portability Replication: Multiple VMs on single platform Composition:
More informationCS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [VIRTUALIZATION] Shrideep Pallickara Computer Science Colorado State University Difference between physical and logical
More informationUnit 5: Distributed, Real-Time, and Multimedia Systems
Unit 5: Distributed, Real-Time, and Multimedia Systems Unit Overview Unit 5 provides an extension to the core topics of operating systems. It introduces distributed systems and special-purpose operating
More informationMySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018
MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 Few words about Percona Monitoring and Management (PMM) 100% Free, Open Source
More informationHow to Improve Your Campaign Conversion Rates
How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email
More informationIn today s video I'm going show you how you can set up your own online business using marketing and affiliate marketing.
Hey guys, Diggy here with a summary of part two of the four part free video series. If you haven't watched the first video yet, please do so (https://sixfigureinc.com/intro), before continuing with this
More informationPAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo
PAGE REPLACEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced
More informationFILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23
FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 23 2 Persistent Storage All programs require some form of persistent storage that lasts beyond the lifetime of an individual process Most
More informationBackground. $VENDOR wasn t sure either, but they were pretty sure it wasn t their code.
Background Patient A got in touch because they were having performance pain with $VENDOR s applications. Patient A wasn t sure if the problem was hardware, their configuration, or something in $VENDOR
More information(Refer Slide Time: 01.26)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture # 22 Why Sorting? Today we are going to be looking at sorting.
More informationIn our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.
Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts
More informationHello, and welcome to another episode of. Getting the Most Out of IBM U2. This is Kenny Brunel, and
Hello, and welcome to another episode of Getting the Most Out of IBM U2. This is Kenny Brunel, and I'm your host for today's episode which introduces wintegrate version 6.1. First of all, I've got a guest
More informationLecture #15: Translation, protection, sharing
Lecture #15: Translation, protection, sharing Review -- 1 min Goals of virtual memory: protection relocation sharing illusion of infinite memory minimal overhead o space o time Last time: we ended with
More informationThe first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.
Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you
More informationChapter 4: Memory Management. Part 1: Mechanisms for Managing Memory
Chapter 4: Memory Management Part 1: Mechanisms for Managing Memory Memory management Basic memory management Swapping Virtual memory Page replacement algorithms Modeling page replacement algorithms Design
More informationCS Operating Systems
CS 4500 - Operating Systems Module 9: Memory Management - Part 1 Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 9, 2017 In This Module...
More informationCS Operating Systems
CS 4500 - Operating Systems Module 9: Memory Management - Part 1 Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 9, 2017 In This Module...
More informationLesson 9 Transcript: Backup and Recovery
Lesson 9 Transcript: Backup and Recovery Slide 1: Cover Welcome to lesson 9 of the DB2 on Campus Lecture Series. We are going to talk in this presentation about database logging and backup and recovery.
More informationMemory Allocation. Static Allocation. Dynamic Allocation. Dynamic Storage Allocation. CS 414: Operating Systems Spring 2008
Dynamic Storage Allocation CS 44: Operating Systems Spring 2 Memory Allocation Static Allocation (fixed in size) Sometimes we create data structures that are fixed and don t need to grow or shrink. Dynamic
More informationMemory Allocation. Copyright : University of Illinois CS 241 Staff 1
Memory Allocation Copyright : University of Illinois CS 241 Staff 1 Recap: Virtual Addresses A virtual address is a memory address that a process uses to access its own memory Virtual address actual physical
More informationMITOCW watch?v=w_-sx4vr53m
MITOCW watch?v=w_-sx4vr53m The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To
More informationCS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement"
CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" October 3, 2012 Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Lecture 9 Followup: Inverted Page Table" With
More informationOS Structure. Kevin Webb Swarthmore College January 25, Relevant xkcd:
OS Structure Kevin Webb Swarthmore College January 25, 2018 Relevant xkcd: One of the survivors, poking around in the ruins with the point of a spear, uncovers a singed photo of Richard Stallman. They
More informationChapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction
Chapter 6 Objectives Chapter 6 Memory Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured.
More informationSkill 1: Multiplying Polynomials
CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need
More informationCOPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t
P a r t I Getting Started with Google Analytics As analytics applications go, Google Analytics is probably the easiest (or at least one of the easiest) available in the market today. But don t let the
More informationChapter 3 Memory Management: Virtual Memory
Memory Management Where we re going Chapter 3 Memory Management: Virtual Memory Understanding Operating Systems, Fourth Edition Disadvantages of early schemes: Required storing entire program in memory
More informationAbstract. Testing Parameters. Introduction. Hardware Platform. Native System
Abstract In this paper, we address the latency issue in RT- XEN virtual machines that are available in Xen 4.5. Despite the advantages of applying virtualization to systems, the default credit scheduler
More informationMemory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time.
Memory Management To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Basic CPUs and Physical Memory CPU cache Physical memory
More informationVirtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,
Virtualization Q&A with an industry leader Virtualization is rapidly becoming a fact of life for agency executives, as the basis for data center consolidation and cloud computing and, increasingly, as
More informationPerformance & Scalability Testing in Virtual Environment Hemant Gaidhani, Senior Technical Marketing Manager, VMware
Performance & Scalability Testing in Virtual Environment Hemant Gaidhani, Senior Technical Marketing Manager, VMware 2010 VMware Inc. All rights reserved About the Speaker Hemant Gaidhani Senior Technical
More informationOracle-Regular Oracle-Regular
Part I Introduction Chapter 1 Introduction to Virtualization 3 4 Oracle VM Implementation and Administration Guide n recent years, virtualization has changed the way we look at I computing. Instead of
More informationLast Class: Demand Paged Virtual Memory
Last Class: Demand Paged Virtual Memory Benefits of demand paging: Virtual address space can be larger than physical address space. Processes can run without being fully loaded into memory. Processes start
More informationCS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck
Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find
More informationMITOCW watch?v=yarwp7tntl4
MITOCW watch?v=yarwp7tntl4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality, educational resources for free.
More information! What is virtual memory and when is it useful? ! What is demand paging? ! What pages should be. ! What is the working set model?
Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory! What is virtual memory and when is it useful?! What is demand paging?! What pages should be» resident in memory, and» which should
More informationFinal Examination CS 111, Fall 2016 UCLA. Name:
Final Examination CS 111, Fall 2016 UCLA Name: This is an open book, open note test. You may use electronic devices to take the test, but may not access the network during the test. You have three hours
More informationHypervisor security. Evgeny Yakovlev, DEFCON NN, 2017
Hypervisor security Evgeny Yakovlev, DEFCON NN, 2017 whoami Low-level development in C and C++ on x86 UEFI, virtualization, security Jetico, Kaspersky Lab QEMU/KVM developer at Virtuozzo 2 Agenda Why hypervisor
More informationModule 6. Campaign Layering
Module 6 Email Campaign Layering Slide 1 Hello everyone, it is Andy Mackow and in today s training, I am going to teach you a deeper level of writing your email campaign. I and I am calling this Email
More informationCS 326: Operating Systems. CPU Scheduling. Lecture 6
CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating
More information19 File Structure, Disk Scheduling
88 19 File Structure, Disk Scheduling Readings for this topic: Silberschatz et al., Chapters 10 11. File: a named collection of bytes stored on disk. From the OS standpoint, the file consists of a bunch
More informationWelcome to Part 3: Memory Systems and I/O
Welcome to Part 3: Memory Systems and I/O We ve already seen how to make a fast processor. How can we supply the CPU with enough data to keep it busy? We will now focus on memory issues, which are frequently
More informationAdministrative Details. CS 140 Final Review Session. Pre-Midterm. Plan For Today. Disks + I/O. Pre-Midterm, cont.
Administrative Details CS 140 Final Review Session Final exam: 12:15-3:15pm, Thursday March 18, Skilling Aud (here) Questions about course material or the exam? Post to the newsgroup with Exam Question
More informationCS 147: Computer Systems Performance Analysis
CS 147: Computer Systems Performance Analysis Test Loads CS 147: Computer Systems Performance Analysis Test Loads 1 / 33 Overview Overview Overview 2 / 33 Test Load Design Test Load Design Test Load Design
More information6.001 Notes: Section 8.1
6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything
More informationMITOCW watch?v=se4p7ivcune
MITOCW watch?v=se4p7ivcune The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To
More information2
1 2 3 4 5 All resources: how fast, how many? If all the CPUs are pegged, that s as fast as you can go. CPUs have followed Moore s law, the rest of the system hasn t. Not everything can be made threaded,
More informationFILE SYSTEMS, PART 2. CS124 Operating Systems Fall , Lecture 24
FILE SYSTEMS, PART 2 CS124 Operating Systems Fall 2017-2018, Lecture 24 2 Last Time: File Systems Introduced the concept of file systems Explored several ways of managing the contents of files Contiguous
More information