Using Remote Memory to Stabilise Data EÆciently on an EXT2 Linux File System

Stable storage is an important requirement for many applications. It is usually implemented over traditional le systems via synchronous write operations to disk. However, due to the small throughput and high latency of disks, writing data synchronously decreases the performance of applications. A workaround is to use UPS devices to prevent data cached in volatile memory from being lost after the occurrence of system software or power supply failures, obviating the need for synchronous write operations. This strategy, however, may not tolerate hardware failures, i.e. processor, memory, controllers, etc. This paper presents an implementation of stable storage over a le system that substitutes synchronous write operations by remote replication of data locally cached, therefore removing slow disk operations from the critical path of storing data in stable storage. The implementation does not rely on any special hardware and is resilient to both hardware and system software faults. Our preliminary performance evaluation has shown that replicating data remotely can be nearly 11 times faster than writing data synchronously to disk.