1 / 11

VM Algorithm Improvement

VM Algorithm Improvement. Student’s Name: Kamlesh Patel Date: Oct 13, 2008 Advisor’s Name: Dr. Chung-E-Wang Prof. Dick Smith Department of Computer Science California State University Sacramento. Motivation.

enrico
Download Presentation

VM Algorithm Improvement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VM Algorithm Improvement • Student’s Name: Kamlesh Patel • Date: Oct 13, 2008 • Advisor’s Name: Dr. Chung-E-Wang Prof. Dick Smith Department of Computer Science California State University Sacramento

  2. Motivation • 1. I am highly interested in the development of different Kernel modules . • 2. Virtual Memory is my most interesting part in Kernel. • 3. I would like to work for Open Source Community. • 4. My Interesting classes: • Algorithm and Paradigms, Data structure • Operating System Pragmatics • 5. VM algorithm improvement covers all the above criteria. So, it is suitable for my master project.

  3. About FreeBSD • FreeBSD is an advanced operating system for x86 compatible, amd64 compatible UltraSPARC, IA-64, PC-98 and ARM architectures. • It is derived from Berkeley Software Distribution (BSD), the version of UNIX developed at the University of California, Berkeley. • It is developed and maintained by a large team of individuals.

  4. Memory allocation in OS

  5. Page-level Allocation • Operating system’s virtual memory manager uses different data structures to organize memory pages. • Kernel maintains a list of free page frames (physical memory). • Pages are allocated from the free list. • Memory management operations have been measured to consume up to 10% of the CPU time on a busy system.

  6. Splay tree in VMM • The FreeBSD operating system uses splay trees to organize memory pages in it its virtual memory manager. • A splay tree is a self-adjusting binary search tree. • If we search for an element that we looked up recently, we will find it very quickly because it is near the top. This is a nice property because many real-world programs will access some values much more frequently than other values.

  7. Splay tree penalties • First, in the worst case, a lookup in a splay tree may take O(N) time, even though amortized over many operations, it is guaranteed to be O(log N) on average. • The second penalty is that lookups modify the tree as they perform rotations to move the recently accessed element to the root. The fact that a lookup performs O(log N) writes into the tree significantly adds to its cost on a modern hardware. • It seems that at least some contributors do not consider splay trees to be ideal for this purpose and trying to modify the virtual memory manager to use a different data structure.

  8. Project Objective • Implementing Better Data Structures and Algorithms to Support Large VM Objects of freeBSD kernel in place of splay tree data structure. • The objective is efficient use of memory and faster performance • For the management of resident pages the splay trees are used, which are not suitable for the purpose • To replace the splay tree with another data-structure such that even ordered traversal is possible. • The ordered traversal will allow us to reduce size of structure vm_page.

  9. Project Plan • To implement the new data structure in user-space first. Test for memory leaks and correctness. Evaluate space and time efficiency. • The new data structure is generalized radix tree. • Move the code to kernel and run the new data structure parallel to old data structure, test for identical functionality. • Performance evaluation.

  10. To Do List • Understand VM Space Management. • Test for memory leaks and functional correctness. • Test strategy: For memory leaks add/remove/lookup operations for long time. • Test for different tree configurations. • Integrate a new tree with kernel code and run in parallel with the existing splay tree, check if the values returned are identical. • Remove the splay tree and measure performance for the new data structure.

  11. Future Expansion • Future Operating Systems can use the concept of memory management by using different data structures for faster performance.

More Related