iSCSI is proposed as a possible solution to building future storage systems. However, using iSCSI raises numerous questions about its implications on system performance. This lack of understanding of system I/O behavior in modern and future systems inhibits providing solutions at the architectural and system levels. Our main goals in this work are to understand the behavior of the application server (iSCSI initiator), to evaluate the overhead introduced by iSCSI compared to systems with directly-attached storage, and to provide insight about how future storage systems may be improved. We examine these questions in the context of commodity iSCSI systems that can benefit most from using iSCSI. We use commodity PCs with several disks as storage nodes and a Gigabit Ethernet network as the storage network. On the application server side we use a broad range of benchmarks and applications to evaluate the impact of iSCSI on application and server performance. We instrument the Linux kernel to provide detailed information about I/O activity and the various overheads of kernel I/O layers. Our analysis reveals how iSCSI affects application performance and shows that building next generation, network-based I/O architectures, requires optimizing I/O latency, reducing network and buffer cache related processing in the host CPU, and increasing the sheer network bandwidth to account for consolidation of different types of traffic.
[1]
Helen Chen,et al.
Comparative Performance Evaluation of iSCSI Protocol over Metro, Local, and Wide Area Networks
,
2004,
MSST.
[2]
Banu Özden,et al.
Obtaining high performance for storage outsourcing
,
2001,
SIGMETRICS '01.
[3]
George Kola,et al.
An Analysis of iSCSI for Use in Distr ibuted File System Design
,
2003
.
[4]
Xie Changsheng.
A Performance Analysis of the iSCSI Protocol
,
2006
.
[5]
Fujita Tomonori,et al.
Performance of optimized software implementation of the iSCSI protocol
,
2003,
SNAPI '03.
[6]
Hui Xiong,et al.
An iSCSI Design and Implementation
,
2004,
MSST.
[7]
Angelos Bilas,et al.
Virtual Timers: Using Hardware Physical Timers for Profiling Kernel Code-Paths
,
2005
.
[8]
Robert D. Russell,et al.
Design and Implementation of a Linux SCSI Target for Storage Area Networks
,
2001,
Annual Linux Showcase & Conference.
[9]
Paul DuBois,et al.
MySQL Reference Manual
,
2002
.
[10]
Jeffrey Katcher,et al.
PostMark: A New File System Benchmark
,
1997
.
[11]
David Hung-Chang Du,et al.
Simulation Study of iSCSI-based Storage System
,
2004,
MSST.