vm algorithm improvement n.
Skip this Video
Loading SlideShow in 5 Seconds..
VM Algorithm Improvement PowerPoint Presentation
Download Presentation
VM Algorithm Improvement

Loading in 2 Seconds...

play fullscreen
1 / 11

VM Algorithm Improvement - PowerPoint PPT Presentation

  • Uploaded on

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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

  • 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.
about freebsd
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.
page level allocation
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.
splay tree in vmm
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.
splay tree penalties
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.
project objective
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.
project plan
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.
to do list
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.
future expansion
Future Expansion
  • Future Operating Systems can use the concept of memory management by using different data structures for faster performance.