A Packet Forwarding Method for the ISCSI Virtualization Switch



Similar documents
Introduction to MPIO, MCS, Trunking, and LACP

Storage and Print Solutions for SOHOs

SAN Conceptual and Design Basics

Building High-Performance iscsi SAN Configurations. An Alacritech and McDATA Technical Note

Using Multipathing Technology to Achieve a High Availability Solution

Where IT perceptions are reality. Test Report. OCe14000 Performance. Featuring Emulex OCe14102 Network Adapters Emulex XE100 Offload Engine

The proliferation of the raw processing

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

VMWARE WHITE PAPER 1

Online Remote Data Backup for iscsi-based Storage Systems

Windows TCP Chimney: Network Protocol Offload for Optimal Application Scalability and Manageability

Network Attached Storage. Jinfeng Yang Oct/19/2015

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

An Implementation of Storage-Based Synchronous Remote Mirroring for SANs

D1.2 Network Load Balancing

Configuration Maximums VMware Infrastructure 3

Tyche: An efficient Ethernet-based protocol for converged networked storage

OpenFlow with Intel Voravit Tanyingyong, Markus Hidell, Peter Sjödin

Using High Availability Technologies Lesson 12

SCSI The Protocol for all Storage Architectures

Optimizing Large Arrays with StoneFly Storage Concentrators

TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance

Fibre Channel over Ethernet in the Data Center: An Introduction

Intel DPDK Boosts Server Appliance Performance White Paper

Building Enterprise-Class Storage Using 40GbE

Intel Ethernet Switch Load Balancing System Design Using Advanced Features in Intel Ethernet Switch Family

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

QNAP and Failover Technologies

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

White Paper. Recording Server Virtualization

Optimizing LTO Backup Performance

Chapter 13 Selected Storage Systems and Interface

IP SAN Best Practices

A Survey of Shared File Systems

InfiniBand Software and Protocols Enable Seamless Off-the-shelf Applications Deployment

RCL: Software Prototype

Broadcom Ethernet Network Controller Enhanced Virtualization Functionality

New!! - Higher performance for Windows and UNIX environments

Deployments and Tests in an iscsi SAN

Performance of optimized software implementation of the iscsi protocol

Analysis to develop an ISCSI Layer inside Microsoft Windows NT/2K/XP

Qsan Document - White Paper. Performance Monitor Case Studies

Performance of Software Switching

Windows 8 SMB 2.2 File Sharing Performance

Oracle Database Deployments with EMC CLARiiON AX4 Storage Systems

Datacenter Operating Systems

Brocade Solution for EMC VSPEX Server Virtualization

SMB Direct for SQL Server and Private Cloud

Storage Area Network

Windows Host Utilities Installation and Setup Guide

iscsi: Accelerating the Transition to Network Storage

Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck

Linux NIC and iscsi Performance over 40GbE

VIDEO SURVEILLANCE WITH SURVEILLUS VMS AND EMC ISILON STORAGE ARRAYS

How To Virtualize A Storage Area Network (San) With Virtualization

Performance and scalability of a large OLTP workload

AIX NFS Client Performance Improvements for Databases on NAS

From Ethernet Ubiquity to Ethernet Convergence: The Emergence of the Converged Network Interface Controller

How To Evaluate Netapp Ethernet Storage System For A Test Drive

A Performance Analysis of the iscsi Protocol

Using Synology SSD Technology to Enhance System Performance Synology Inc.

Frequently Asked Questions

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

Configuration Maximums VMware vsphere 4.0

Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata

IP Storage: The Challenge Ahead Prasenjit Sarkar, Kaladhar Voruganti Abstract 1 Introduction

iscsi Top Ten Top Ten reasons to use Emulex OneConnect iscsi adapters

Universal Flash Storage: Mobilize Your Data

EMC Unified Storage for Microsoft SQL Server 2008

Intel Data Direct I/O Technology (Intel DDIO): A Primer >

TCP Offload Engines. As network interconnect speeds advance to Gigabit. Introduction to

ADVANCED NETWORK CONFIGURATION GUIDE

Operating Systems Design 16. Networking: Sockets

Client-aware Cloud Storage

OFA Training Program. Writing Application Programs for RDMA using OFA Software. Author: Rupert Dance Date: 11/15/

WHITE PAPER Optimizing Virtual Platform Disk Performance

Enhancing the Dell iscsi SAN with Dell PowerVault TM Tape Libraries and Chelsio Unified Storage Router iscsi Appliance

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Eloquence Training What s new in Eloquence B.08.00

Microsoft SQL Server 2012 on Cisco UCS with iscsi-based Storage Access in VMware ESX Virtualization Environment: Performance Study

An Analysis of 8 Gigabit Fibre Channel & 10 Gigabit iscsi in Terms of Performance, CPU Utilization & Power Consumption

Implementing Storage Concentrator FailOver Clusters

Enabling Technologies for Distributed Computing

Oracle Database Scalability in VMware ESX VMware ESX 3.5

Storage Protocol Comparison White Paper TECHNICAL MARKETING DOCUMENTATION

GlobalSCAPE DMZ Gateway, v1. User Guide

The IntelliMagic White Paper: Storage Performance Analysis for an IBM Storwize V7000

Analysis on Virtualization Technologies in Cloud

Remote Copy Technology of ETERNUS6000 and ETERNUS3000 Disk Arrays

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU

High Speed I/O Server Computing with InfiniBand

Enabling Technologies for Distributed and Cloud Computing

COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service

Transcription:

Fourth International Workshop on Storage Network Architecture and Parallel I/Os A Packet Forwarding Method for the ISCSI Virtualization Switch Yi-Cheng Chung a, Stanley Lee b Network & Communications Technology, Research & Service Center Industrial Technology Research Institute Tainan, Taiwan, R.O.C. carbooky@itri.org.tw a, stanleylee@itri.org.tw b Chung-Ho Chen Department of Electrical Engineering and Institute of Computer and Communication Engineering National Cheng-Kung University Taiwan, R.O.C. chchen@mail.ncku.edu.tw Abstract We present a packet forwarding method for the implementation of the iscsi virtualization switch used in the SANs. Using the existing virtualization software plus network protocol stacks, first we build up a network-based storage virtualization switch model in the architecture of the symmetric approach. In compliance with the same functionality, our method can reduce the overheads of protocol processing by using a packet forwarding method based on caching the structure ID of the iscsi session. With the Address Translator and Duplicating Handler, our design can also achieve the feature of storage virtualization management. From the result of our performance experiment, our forwarding system can achieve a higher performance on the READ/WRITE operations by 25%~30% and reduce the CPU utilization by 10%~15% compared to the conventional virtualization switch. For the purpose of management, several implementations, such as XIOtech [7], IBM [8], EMC [9], etc., are made on the storage virtualization management. For the advantage of scalability and facility by virtualization, manager prefers to provide user the logical capacity rather than the physical one. Figure 1 shows the system combining the iscsi and virtualization technologies. Network Virtualization Sw it ch 1. Introduction There is a tendency towards networking storage around the developing network. Storage Area Network(SAN)[1-2] is a topology to attach remote storage devices such as disk arrays or tape libraries to servers in a way that serves the clients as local attached device. SAN is primarily used in large scale, high performance enterprise storage operations via Fiber Channel connecting, but the equipments to setup the SAN is relatively expensive. The emerging internet SCSI (iscsi) SAN technology is expected to produce cheaper SANs. ISCSI [3-6] is a newly developed network protocol that specifies the access to the SCSI storages over the TCP/IP network. Any user with an iscsi initiator program installed on its local computer can access the iscsi SAN by using the original Network Interface Card (NIC). In the iscsi SAN, the iscsi connections bring together all the individual storage devices scattered over the IP network as a single SAN. Storage Storage Storage Figure 1. System of a SAN with virtualization switch Our purpose is to build up a virtualization switch in the iscsi SANs and manage the physical storages to provide a new storage device for the hosts. Due to the requirement of the additional software for the host by the asymmetric approach [10], we prefer the architecture of the symmetric approach to implement our virtualization switch. The symmetric approach, also known as In-band management, virtualization devices actually sit in the data path between the host and storage. In [11], it proposes a method to build a switch and route subsystem to dispatch iscsi PDUs to the processing end nodes, but each host and storage has to apply a new interface before it can join the subsystem. In [12], the work has proposed a method to extract the iscsi PDU 0-7695-3097-4/08 $25.00 2008 IEEE DOI 10.1109/SNAPI.2007.25 35

header from the TCP buffer. Recently the Microsoft [13], Intel [14] and the University of New Hampshire [15] have developed their own iscsi implementations, and it is common that the Logical Volume Manager [16] is used for storage virtualization management. We realized a conventional implementation of iscsi virtualization switch. Compared to the conventional implementation, we proposed a new packet forwarding virtualization switch to have the same functionality while transmitting the iscsi PDUs more efficiently. The rest of this paper is organized as follows. Section 2 presents a conventional implementation of iscsi virtualization switch system. Section 3 presents the architecture of the packet forwarding virtualization switch system. Section 4 discusses the verification and performance of the design. This paper is concluded in Section 5. 2. A conventional implementation of iscsi virtualization switch system ISCSI is a network protocol that brings SCSI commands over the IP network. Any two terminals on the IP network can be initiator/target to each other by installing the appropriate iscsi modules. We attempt to build up a storage server that plays the role of iscsi initiator to take those iscsi targets as local storage devices. At the same time, the storage server plays the role of iscsi target to provide the service of file sharing for the hosts who have installed the iscsi initiator. For the purpose of storage virtualization, a virtualization application is involved to help abstracting the physical location of the data; meanwhile, it presents to the hosts a logical space for data storage. The virtualization system that we describe is shown in Figure 2. location of physical space. Consequently, the data (or command of data requisition) has to be transformed into the type of SCSI command with payload (if any), and next a new iscsi header is generated and appended to the whole data to become a new iscsi Protocol Data Unit (PDU). Finally, the iscsi PDU is transmitted to the storage with the interface of iscsi target over the TCP/IP protocol. The response of the storage will go the same way back to the storage server, and further back to the host. It seems that there are many unnecessary processes along the packet flows from beginning to end. We propose a packet fast forwarding method to append to the conventional virtualization system, called fast path, and we regard the packet flow on the conventional virtualization system as a slow path. 3. Architecture of the packet forwarding virtualization switch system Figure 3 shows the packet flows on the virtualization switch with packet forwarding mechanism. The forwarding mechanism starts to handle the incoming iscsi PDUs as long as the iscsi session reaches the status of full feature phase (FFP). On the virtualization switch, those iscsi PDUs that follow the last successful login PDU are transferred within the iscsi layer without the process of protocols above the iscsi layer. 3. Packet flows on the virtualization switch with packet forwarding mechanism 3.1 Overview of the Forwarding System Figure 2. Packet flows on a conventional virtualization system Each time when a packet of iscsi protocol has reached the virtualization system, several processing of protocols, including TCP, iscsi, and SCSI, have to be done before the true data can be extracted. After the converting of logical locations to physical ones, the virtualization system has to find a way to reach the Figure 4 shows the software architecture of the packet forwarding system. The system works in the middle of the two sides of TCP connections from host and storage. ISCSI Protocol Data Units (PDUs) are transferred directly between a pair of two connections without any additional process of header decomposing or rebuilding. Also, the payloads of the iscsi PDUs are transferred under the TCP layer, no extra operation of data copy is required. The system includes several functional blocks: the Header Extractor, the Dispatcher, the Address Translator (AT), the PDUs Duplicating Handler (PDH), the Data mover, and the Header adaptor. The 36

iscsi functional block represents the conventional functionality of iscsi virtualization system which is discussed in section 2. 3.2 The Header Extractor The Header Extractor is the first functional block in the forwarding system. By extracting the size of the iscsi header only, the duty of the Header Extractor is to generate a descriptor about the incoming iscsi PDU including the fields of a pointer to the header, the connection ID, and the number of virtual LUN, and then, the descriptor will be pushed into a descriptor queue. Our implementation of the Header Extractor is actually a thread running on the operating system. The thread is spawned at the time when an iscsi session has reached the FFP. The numbers of how may threads depend on the connections which come from the hosts. types of common READ/WRITE SCSI commands are passed to the Forwarding Unit, while the others are sent back to the slow path. The purpose of the descriptor queue design is to store the descriptors that may come concurrently from two different threads of Header Extractor. Figure 5. The software design of the Dispatcher 3.4 The Address Translator The Address Translator (AT) plays the role of converting the logical locations to physical ones. The functionality of the AT is the same as the virtualization software does, the difference is that it has not only the simplest feature that converts the access address from logical to physical, but also it can be run independently without any other configuration tools. 3.5 The PDUs Duplicating Handler Figure 4. Architecture of the packet forwarding system 3.3 The Dispatcher Figure 5 shows the design of the Dispatcher. The purpose of the Dispatcher design is to classify those packets according to the type of SCSI commands. The The functional block of PDUs Duplicating Handler (PDH) has two major jobs. One job is to build the relationship between the two sides of host and storage. The second one is to deal with the problem whenever the data of a single request is spread over two more physical locations. The two main functions are explained below: (1) The forwarding unit has the capability of transferring the iscsi PDUs between two certain iscsi sessions. The first iscsi command request of a READ/WRITE transaction must be issued from the host side, and the data response to this command comes from the storage side. During the communication of the entire transaction, the rule of packet transferring must be held by an entry that is pending in the Dynamic Session Mapping Table (DSMT). Figure 6 shows the fields of the mapping entry in the DSMT. Each entry in the DSMT stands for a task that is proceeding between the host and storage. The entry contains the session ID and ITT number of both sides, and an additional field is added with the v-bit set to represent the mapping relationship as one-to-one mapping or not. The 37

forwarding unit may encounter a situation that the host issues a single access of data that the required data is spread over two different physical regions. The second main function of the PDH is going to solve this problem. of DSMT, the header adaptor can find the structure of iscsi session, and it can get enough information to carry out the replacements for several fields on the iscsi header. Figure 6. The DSMT in the Forwarding Unit (2) When an iscsi header is passed to the PDH, the virtual access location and access length of the SCSI command are extracted to be the inputs for the Address Translator (AT). After the converting of AT, the virtual access location and length are resolved into physical ones, and a great care must be taken if the result turns out to be two more physical locations over the different iscsi sessions. For this situation, one command request must be taken apart into two requests for the data. Figure 7 illustrates that one request is split into two corresponding mapping entries by the PDH, and finally these mapping entries are added to the DSMT. On the DSMT, duplicating entries from a single request can be recognized by the value of v-bit at the end of the entry. Figure 8. The transaction of a single request to two targets 3.7 The Data mover The data mover is designed to generate the arguments for the need of TCP socket transferring. It is activated by the PDH after the header adaptor has finished the transmission of its new iscsi header. The payloads that stay at the TCP socket buffer will be redirected to be the transmitting data by adapting the receiving arguments for transmitting ones. 4. Verification and Performance Evaluation Figure 7. Two entries from one single request After the duplicating process of PDH, the transaction of a single request on the forwarding system is showed in Figure 8. When a request comes from the client side that actually contains two physical locations (Block A+B), it will be separated into two requests for the two different physical locations, and then they will be issued to the storage side one by one. By the feature of the PDH, the client will get the same response as issuing an access to a single storage device whenever it generates a request to the forwarding system. 3.6 Header adaptor The header adaptor is designed to form a legal iscsi header that ready to be transmitted. By the information In testing environment, all the hosts with different OS could access LUN correctly as long as they have installed the iscsi initiator driver, and the packet forwarding virtualization switch could control the various storage systems well. This proves that the forwarding switch is compatible with multi OS and with various storage. To verify the functionality of our design, we evaluated the performance of the packet forwarding system with the iometer, which is a standard benchmark used for measuring I/O performance. It can measure the READ/WRITE performance in a sequential/random manner and test the I/O latency. The software iscsi virtualization switch runs on a system illustrated in Table 1. We mapped one disk to one host, and the host issued random read/write commands with different data block sizes to the remote disks. The two implementations, conventional and forwarding, were under test, and an end-to-end implementation was also shown to indicate the best performance between the host and disk by connecting each other directly without any server or 38

switch involved in its data path. Figure 9 shows the read throughput of the three implementations, and Figure 10 shows the write results. Table 1. Measurement Environment for Software iscsi virtualization switch CPU: Pentium IV 2.8GHz, 1GB memory, Windows XP, Microsoft iscsi initiator 1.06 Storage CPU: Pentium IV 2.8GHz, 1GB memory, Fedora 1 default Kernel 2.4.22, unh-iscsi-target 1.5.03 Virtualization switch CPU: Pentium IV 2.8GHz, 1GB memory, Fedora 1 default Kernel 2.4.22, unh-iscsi-initiator 1.5.03, and unh-iscsi-target 1.5.03 Network Ethernet 1Gbps CPU utilization of the forwarding system was 10%~15% lower than the conventional implementation after the access block size is greater than 512KB. For the results, the forwarding implementation has a higher data throughput while having a lower CPU utilization, proving that it can improve the performance of the conventional virtualization switch. Figure 11. The CPU utilization 5. Conclusion Figure 9. The read throughput This paper presents the design and analysis of an iscsi virtualization switch. We have described a packet forwarding method to reduce the protocol overheads of the upper layers. First, we design a conventional implementation of iscsi virtualization switch. The proposed forwarding subsystem can be easily integrated into the contemporary virtualization switch system. Our performance evaluation shows that the forwarding system has increased about 30% of READ throughput and about 25% of WRITE throughput compared to the conventional system on the typical block size of 512kB. The proposed forwarding system reduces the CPU utilization about 10%~15% compared to the conventional system. References Figure 10. The write throughput The results show that the forwarding switch has an average of 30% read throughput better than the conventional switch, and a less of about 5 MB/s to achieve the best throughput measured by the end-to-end implementation. In the case of write test, the forwarding switch has an about 25% throughput better than conventional switch, and a less of about 3 MB/s to achieve the best performance. The CPU utilization of the two implementations is shown in Figure 11. The [1] B.Phillips, Have Storage Area Networks Come of Age? [J] IEEE Computer, vol.31,no.7, 10-12, July 1998. [2] R. Khattar, et al., Introduction to Storage Area Network: Redbooks Publications (IBM),1999. [3] John L. Hufferd, ISCSI The Univeral Storage Connection, Addison-Wesley, ISBN 0-202-78419-X, 2002. [4] Internet Small Computer Systems Interface (iscsi), RFC 3720, http://www.ietf.org/rfc/rfc3720.txt. [5] Kalman Z. Meth and Julian Satran, Design of the iscsi Protocol, Proceedings of the 20 th IEEE/11 th NASA Goddard Conference on Mass Storage Systems and Technologies (MSST 03). [6] Mallikarjun Chadalapaka, iscsi State Diagrams, Networked Storage Architecture, NSSO, Rev 0.7, Jan. 07, 2002. [7] XIOTech Corp., http://www.xiotech.com/,may, 2004. [8] IBM Corp. 39

http://www.redbooks.ibm.com/pubs/pdfs/redbooks/sg2454 70.pdf, March 2003. [9] EMC Corp., http://www.emc.com/products/storage_management/contr olcenter/pdf/h1140_cntrlctr_srm_plan_ds_ldv.pdf, May 2004. [10] Andr e, B., Michael, H.V., Drive - Costs and Benefits of an Out-of-Band Storage Virtualization System". In Proceedings of the 12th NASA Goddard, 21st IEEE Conference on Mass Storage Systems and Technologies, College Park, Maryland, USA 2004. [11] William Todd Boyd, Douglas J. Joseph, Michael Anthony Ko, and Renato John Recio, iscsi Driver To Adapter Interface Protocol, US Patent # 20040049603. [12] Shay Mizarchi, Rafi Shalom, and Ron Grinfeld, iscsi Receiver Implementation, US patent # 20030058870. [13] Microsoft Corp, iscsi Software Initiator, http://www.microsoft.com. [14] Intel Corp, Intel iscsi project, http://sourceforge.net/projects/intel-iscsi,2001. [15] Ashish Palekar, Design and Implementation of A Linux SCSI Target for Storage Area Networks, Proceedings of the 5 th Annual Linux Showcase & Conference. 2001. [16] David C. Teigland, Heinz Mauelshagen, Volume Managers in Linux, Sistina Software Inc. http://www.sistina.com, 2001. 40