Skip to content

This is the implementation for a RAM Backed Dynamically Compressed Swap Driver. This project was part of a Virginia Tech Fall 2019 Senior Systems Capstone into exploring how to effectively get access to more memory in a system. The idea is to create a swap device in RAM, so hits to performance from swapping to disk is limited.

License

Notifications You must be signed in to change notification settings

davidallada/Ram_Backed_Dynamically_Compressed_Swap_Driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Systems-Capstone

Repository for the Systems Capstone Fall 2019 Device Driver Group. Most of the important stuff is found in the ram_driver folder.

Overview: This repository creates a device driver that lives in ram. We install a swap file onto this device and use it to compress incoming pages dynamically.

Installation: Before you run this code, you need to update your FSTAB file. Your fstab should look like: /swapfile none swap sw,pri=1 0 0 /dev/ram0p1 swap swap defaults,pri=3 0 0

To Run: You can change the parameters of the device in the ./install_ram script. These include part compressed, high watermark, low watermark, and size. To create the swap partition, run ./create_swap Your device should now be functionining. You can run dmesg on the command line to see debug output.

Useful References:

Device Driver Basics: https://www.tldp.org/LDP/khg/HyperNews/get/devices/basics.html

pdflush info: http://bogdan.org.ua/wp-content/uploads/2013/07/The-Linux-Page-Cache-and-pdflush.pdf

Swap Priority Editing: https://www.thegeekdiary.com/centos-rhel-how-to-prioritize-the-devices-used-for-swap-partition/

Textbook for Device Drivers: https://lwn.net/Kernel/LDD3/

Code References for the Textbook: https://github.com/jesstess/ldd4/blob/master/sbull/sbull.c

About

This is the implementation for a RAM Backed Dynamically Compressed Swap Driver. This project was part of a Virginia Tech Fall 2019 Senior Systems Capstone into exploring how to effectively get access to more memory in a system. The idea is to create a swap device in RAM, so hits to performance from swapping to disk is limited.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published