Speaker: Khalil Amiri, Carnegie Mellon University
Date: May 14, 1998
Scalable Optimistic Concurrency Control Using Smart Devices
Today's high performance file servers typically layer a directory management service (responsible for naming and access control) on top of a storage service such as a RAID controller (responsible for striping, aggregation and fault-tolerance). Storage devices are directly attached to the server machine, which handles all client requests. By removing the file server from the access path and moving most of the directory management and RAID functions to the clients and to smart network-attached disks, both throughput and bandwidth can be scaled as more clients and devices are added. However, concurrency control must be ensured when multiple clients share access to storage devices because client requests do not flow through a single (server) serialization point. This should desirably be done without introducing a new bottleneck in the form of a lock manager.
I propose using optimistic protocols which provide concurrency control at the directory and the storage management layers without centralized control. By extending the device with simple synchronization support and making the client responsible for ensuring the serializability of its own operations, we ensure that the processing power available for ensuring proper concurrency control scales with system size. I present an overview of the protocols which are based on stamping client requests with client-generated timestamps taken from loosely synchronized local clocks and extending the storage devices with simple synchronization mechanisms. The protocols require slightly larger messages and consume modest metadata space on the devices, but require no extra messaging compared to the single host case. Simulations show that the protocols perform well, reducing latency by up to a factor of 2 over traditional locking, and incurring a small number of retries even under high contention and adverse environmental conditions.