Linux Ramback: Use a Terabyte of RAM

Posted on in Categories Hardware, Linux last updated March 24, 2008

An experimental new design for Linux’s virtual memory system would turn a large amount of system RAM into a fast RAM disk with automatic sync to magnetic media. Most servers comes with 2-16 GB ram installed but not with a terabyte of installed memory (for 1TB+ ram go with IBM / Sun E25k server line). There is a new kernel patch called Ramback:

Ramback is a new virtual device with the ability to back a ramdisk by a real disk, obtaining the performance level of a ramdisk but with the data durability of a hard disk. To work this magic, ramback needs a little help from a UPS. In a typical test, ramback reduced a 25 second file operation to under one second including sync. Even greater gains are possible for seek-intensive applications. The difference between ramback and an ordinary ramdisk is: when the machine powers down the data does not vanish because it is continuously saved to backing store. When line power returns, the backing store repopulates the ramdisk while allowing application io to proceed concurrently. Once fully populated, a little green light winks on and file operations once again run at ramdisk speed.

However, this solution depends upon UPS:

If line power goes out while ramback is running, the UPS kicks in and a power management script switches the driver from writeback to writethrough mode. Ramback proceeds to save all remaining dirty data while forcing each new application write through to backing store immediately.

Programming: Understanding Linux Completely Fair Scheduler

Posted on in Categories Links, Linux, programming last updated January 11, 2008

The new Linux scheduler extends scheduling capabilities by introducing scheduling classes and also simplifies debugging by improving schedule statistics. Completely Fair Scheduler (CFS) is getting good reviews when tested for thread-intensive applications including 3D games. CFS handles CPU resource allocation for executing processes, and aims to maximize overall CPU utilization while maximizing interactive performance. CFS considered as the first implementation of a fair queuing process scheduler in a widely used general-purpose operating system.

The Linux 2.6.23 kernel comes with a modular scheduler core and a CFS, which is implemented as a scheduling module. In this article, get acquainted with the major features of the CFS, see how it works, and look ahead to some of the expected changes for the 2.6.24 release.

=> Introducing the CFS for Linux