OS PMM - More space: if you give an OS more memory

Size: px
Start display at page:

Download "OS PMM - More space: if you give an OS more memory"

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 Transcendent Memory on Linux Speaker: Dan Magenheimer Oracle Corporation Agenda Motivation and Challenge Overview of Physical Memory Management Transcendent Memory ( tmem ) Overview

More information

Oracle Corporation. Speaker: Dan Magenheimer. without the Commitment. Memory Overcommit. <Insert Picture Here>

Oracle 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 information

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting

Lesson 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)

(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 information

Virtual Memory #2 Feb. 21, 2018

Virtual 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 information

TA7750 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. 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 information

Operating 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 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 information

Understanding VMware Capacity

Understanding 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 information

Memory Management: Virtual Memory and Paging CS 111. Operating Systems Peter Reiher

Memory 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 information

MITOCW watch?v=zm5mw5nkzjg

MITOCW 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 information

16 Sharing Main Memory Segmentation and Paging

16 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 information

Ext3/4 file systems. Don Porter CSE 506

Ext3/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 information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: 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 information

Formal 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 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 information

P1_L3 Operating Systems Security Page 1

P1_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 information

15 Sharing Main Memory Segmentation and Paging

15 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 information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona

MySQL 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?

!! 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 information

Inside the PostgreSQL Shared Buffer Cache

Inside 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 information

MITOCW MIT6_172_F10_lec18_300k-mp4

MITOCW 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 information

So, coming back to this picture where three levels of memory are shown namely cache, primary memory or main memory and back up memory.

So, 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 information

The following content is provided under a Creative Commons license. Your support

The 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 information

CHAPTER 16 - VIRTUAL MACHINES

CHAPTER 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 information

Chapter 3 - Memory Management

Chapter 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 information

MITOCW watch?v=0jljzrnhwoi

MITOCW 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 information

Lesson 4 Transcript: DB2 Architecture

Lesson 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

ò 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 information

Towards Massive Server Consolidation

Towards 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 information

6.033 Computer System Engineering

6.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 information

MITOCW ocw f99-lec07_300k

MITOCW 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 information

5 Performance-Boosting vsphere Features You re Missing out on

5 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 information

Virtualization. Dr. Yingwu Zhu

Virtualization. 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 information

Hostless Xen Deployment

Hostless 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 information

Transcendent 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 and Friends (Not just for virtualization anymore!) Dan Magenheimer, Oracle Corp. Transcendent Memory s Friends cleancache frontswap persistent ephemeral Transcendent Memory Objectives:

More information

CS 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 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 information

Can "scale" cloud applications "on the edge" by adding server instances. (So far, haven't considered scaling the interior of the cloud).

Can 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 information

Lecture 16. Today: Start looking into memory hierarchy Cache$! Yay!

Lecture 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 information

June IBM Power Academy. IBM PowerVM memory virtualization. Luca Comparini STG Lab Services Europe IBM FR. June,13 th Dubai

June 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 information

White 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. 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 information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What 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 information

CS370 Operating Systems

CS370 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 information

CS 111. Operating Systems Peter Reiher

CS 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 information

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.

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. 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 information

COMPUTER SCIENCE 4500 OPERATING SYSTEMS

COMPUTER 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 information

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

Xen 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 information

MITOCW watch?v=r6-lqbquci0

MITOCW 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 information

Reminder: Mechanics of address translation. Paged virtual memory. Reminder: Page Table Entries (PTEs) Demand paging. Page faults

Reminder: 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 information

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

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 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 information

How Rust views tradeoffs. Steve Klabnik

How 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 information

Virtual Memory. ICS332 Operating Systems

Virtual 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 information

Hyper-V Top performance and capacity tips

Hyper-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 information

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

Disco: 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 information

Server Virtualization Approaches

Server 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 information

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

CS370: 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 information

Unit 5: Distributed, Real-Time, and Multimedia Systems

Unit 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 information

MySQL 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 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 information

How to Improve Your Campaign Conversion Rates

How 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 information

In today s video I'm going show you how you can set up your own online business using marketing and affiliate marketing.

In 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 information

PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo

PAGE 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 information

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23

FILE 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 information

Background. $VENDOR wasn t sure either, but they were pretty sure it wasn t their code.

Background. $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)

(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 information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In 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 information

Hello, 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 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 information

Lecture #15: Translation, protection, sharing

Lecture #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 information

The 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.

The 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 information

Chapter 4: Memory Management. Part 1: Mechanisms for Managing Memory

Chapter 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 information

CS Operating Systems

CS 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 information

CS Operating Systems

CS 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 information

Lesson 9 Transcript: Backup and Recovery

Lesson 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 information

Memory Allocation. Static Allocation. Dynamic Allocation. Dynamic Storage Allocation. CS 414: Operating Systems Spring 2008

Memory 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 information

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1

Memory 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 information

MITOCW watch?v=w_-sx4vr53m

MITOCW 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 information

CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement"

CS162 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 information

OS Structure. Kevin Webb Swarthmore College January 25, Relevant xkcd:

OS 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 information

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction

Chapter 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 information

Skill 1: Multiplying Polynomials

Skill 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 information

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t

COPYRIGHTED 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 information

Chapter 3 Memory Management: Virtual Memory

Chapter 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 information

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System

Abstract. 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 information

Memory 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. 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 information

Virtualization. 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, 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 information

Performance & 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 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 information

Oracle-Regular Oracle-Regular

Oracle-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 information

Last Class: Demand Paged Virtual Memory

Last 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 information

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck

CS252 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 information

MITOCW watch?v=yarwp7tntl4

MITOCW 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?

! 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 information

Final Examination CS 111, Fall 2016 UCLA. Name:

Final 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 information

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

Hypervisor 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 information

Module 6. Campaign Layering

Module 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 information

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS 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 information

19 File Structure, Disk Scheduling

19 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 information

Welcome to Part 3: Memory Systems and I/O

Welcome 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 information

Administrative Details. CS 140 Final Review Session. Pre-Midterm. Plan For Today. Disks + I/O. Pre-Midterm, cont.

Administrative 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 information

CS 147: Computer Systems Performance Analysis

CS 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 information

6.001 Notes: Section 8.1

6.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 information

MITOCW watch?v=se4p7ivcune

MITOCW 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 information

2

2 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 information

FILE SYSTEMS, PART 2. CS124 Operating Systems Fall , Lecture 24

FILE 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