Tier is a Linux kernel module that can be used to create a block device that allows automatically tiered storage. Tier can be used to aggregate up to 16 devices as one virtual device. Tier investigates access patterns to decide on which device the data should be written. It keeps track of how frequently data has been accessed as well as when it was used. Tier uses this information to decide if the data needs to be written to for example SSD/SAS or SATA.
One advantage of tier when compared to SSD caching only is that the total capacity of the tiered device is the sum of all attached devices. Kernel modules like flashcache use the SSD as cache only and therefore the capacity of the SSD is not available as part of the total size of the device.
Since TIER combines the RAM caching techniques of EPRD it is very fast. Even faster then what can be achieved with SSD only.
To get an impression of TIER performance I tested tier in this configuration.
An Intel SSD with a 160GB size is used as first tier and the second tier is made up of 6 * 300GB SAS in software RAID10.
The iometer test that is used comes from : http://vmktree.org/iometer/
Tier was configured with these parameters:
./tier_setup -f /dev/sdb:/dev/md1 -p 1000M -m 5 -b -c
TIER - SSD - MD1(R10) Max-throughput-100%read : 32540 - 3796 - 2746 Reallife-60%rand-65%read : 1927 - 3185 - 226 Max-Throughput-50%read : 6890 - 1753 - 470 Random-8k-70%read : 937 - 2870 - 401
As shown in the results table above TIER outperforms the MD raid10 on all tests. The SSD is faster in most cases but not all. TIER can outperform the SSD because it was configured to use 1GB of RAM for caching and TIER uses the speed advantage that raid10 will give on sequential reads and writes.