SSDs (Solid State Drives or flash
disks) have been considered as ideal storage for various data-intensive
workloads, because of the low random access latency and the intra-disk
multi-chip parallelism. However, due to inherent nature of flash memories,
update-intensive workloads cause the flash disk fragmented, and trigger costly
internal activities such as cleaning and wear leveling. We use database
transaction processing as a motivating update-intensive workload. Our studies
based on a flash disk simulator as well as flash disks show that, these
activities result in significant overhead to the IO response time and system
throughput. To resolve the impact of internal activities, we propose dynamic
page replications to exploit the multi-chip parallelism on the flash disk.
Specifically, we replicate the frequently blocked data pages to improve the
data availability even when internal activities block the request. To reduce
the overhead of replications, we take advantage of the idle periods in the
flash chips for the IO operations by writes to replicas or reads from replicas,
and further develop a prediction model for the decisions on those IO operations
to minimize the interference to normal IO operations. We evaluate our
techniques with three public transaction benchmarks in the simulator as well as
on the real flash disks. Our results demonstrate the effectiveness of our
replication management on improving IO response time and system throughput.
No comments:
Post a Comment