Design and implementation of a Linux SCSI target for storage area networks
ALS '01 Proceedings of the 5th annual Linux Showcase & Conference - Volume 5
Storage-class memory: the next storage system technology
IBM Journal of Research and Development
Overview of candidate device technologies for storage-class memory
IBM Journal of Research and Development
Computer Networks ISE: A Systems Approach
Computer Networks ISE: A Systems Approach
The case for RAMClouds: scalable high-performance storage entirely in DRAM
ACM SIGOPS Operating Systems Review
Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories
MICRO '43 Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
Exploiting peak device throughput from random access workload
HotStorage'12 Proceedings of the 4th USENIX conference on Hot Topics in Storage and File Systems
Hi-index | 0.00 |
Storage area network (SAN) is one of the most popular solutions for constructing server environments these days. In these kinds of server environments, HDD-based storage usually becomes the bottleneck of the overall system, but it is not enough to merely replace the devices with faster ones in order to exploit their high performance. In other words, proper optimizations are needed to fully utilize their performance gains. In this work, we first adopted a DRAM-based SSD as a fast backend-storage in the existing SAN environment, and found significant performance degradation compared to its own capabilities, especially in the case of small-sized random I/O pattern, even though a high-speed network was used. We have proposed three optimizations to solve this problem: (1) removing software overhead in the SAN I/O path; (2) increasing parallelism in the procedures for handling I/O requests; and (3) adopting the temporal merge mechanism to reduce network overheads. We have implemented them as a prototype and found that our approaches make substantial performance improvements by up to 39% and 280% in terms of both the latency and bandwidth, respectively.